diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
index 4adde9c3a63..230695b02de 100644
--- a/.github/CONTRIBUTING.md
+++ b/.github/CONTRIBUTING.md
@@ -201,6 +201,6 @@ Github actions that require additional configuration are disabled on the reposit
## Using the Maintainer Role Ping in Discord
-This role `@Maintainer` is pingable as a compromise reached with the server host MrStonedOne over the auto-stale system we presently have in the codebase. It should be used only to ping Maintainers when your PR has had the "Stale" label applied. Using it before then can be met with escalating timeouts and referral to /tg/station's Discord moderators for further infractions.
+When your PR is labeled as "Stale", you are permitted to ping the `@Maintainer` role on the /tg/station Discord. Using this ping for anything else can be met with escalating timeouts and referral to /tg/station's Discord moderators for further infractions.
Feel free to engage and obtain general feedback in the Coding General channel without the role ping before your PR goes stale to build interest and get reviews.
diff --git a/.github/guides/RUNNING_A_SERVER.md b/.github/guides/RUNNING_A_SERVER.md
index 5257e044733..d8b6f33e039 100644
--- a/.github/guides/RUNNING_A_SERVER.md
+++ b/.github/guides/RUNNING_A_SERVER.md
@@ -70,7 +70,7 @@ If you decide to go this route, here are /tg/ specific details on hosting with T
- We have two directories which should be setup in the instance's `Configuration/GameStaticFiles` directory:
- `config` should be where you place your production configuration. Overwrites the default contents of the repo's [config](../../config) directory.
- `data` should be initially created as an empty directory. The game stores persistent data here.
-- You should incorporate our [custom build scripts for TGS4](../../tools/tgs4_scripts) in the instance's `Configuration/EventScripts` directory. These handle including TGUI in the build and setting up rust-g on Linux.
+- You should incorporate our [custom build scripts for TGS](../../tools/tgs_scripts) in the instance's `Configuration/EventScripts` directory. These handle including TGUI in the build and setting up rust-g on Linux.
- Deployment security level must be set to `Trusted` or it will likely fail due to our native library usage.
- We highly recommend using the BYOND version specified in [dependencies.sh](../../dependencies.sh) to avoid potential unrecorded issues.
@@ -115,7 +115,7 @@ It is highly recommended to reference AWS support documentation while reading th
**Required Software**
1. Microsoft Windows
1. MariaDB
-1. TGS4
+1. tgstation-server (TGS)
1. Notepad++ or other code editor for writing batch scripts
1. AWS Command Line V2
@@ -130,7 +130,7 @@ It is highly recommended to reference AWS support documentation while reading th
1. In Route 53 you will register a domain name. The you will create a hosted zone and tell your domain to use the IP address you used for your EC2 instance.
1. Install the required software
* AWSCL2 you will need to run the configuration using the IAM User you created above.
- * TGS4: Make sure the TGS4 scripts from /tools/ are installed per tgs 4 instructions after you have set up your repository and done your first fetch. You will need to Also install a batch file similar to what i have provided into the event scripts folder. You can manually run the batch file to test connection to your S3 bucket.
+ * TGS: Make sure the scripts from /tools/tgs_scripts are installed per instructions after you have set up your repository and done your first fetch. You will need to Also install a batch file similar to what i have provided into the event scripts folder. You can manually run the batch file to test connection to your S3 bucket.
* Copy `compile_options.dm` into code overrides preserving the directory structure and altering the code as mentioned in the above CDN instructions.
* Filename: DeploymentComplete.bat
```Batch
@@ -139,10 +139,10 @@ cd "C:\Program Files\Amazon\AWSCLIV2"
aws s3 cp "C:\Instance_Path\Game\Live\tgstation.rsc" s3://BucketName/tgstation.rsc --acl public-read
```
-7. In your TGS4's instance's static config files edit resources.txt to point to the resource file uploaded by the batch file. it should resemble `http://BucketName.s3.AWSRegion.amazonaws.com/tgstation.rsc` You can get this url from the S3 object management page after its been uploaded for the first time. *Make sure you do not use use HTTPS. Byond can not do encryption*
-7. Tell TGS4 to fetch and deploy. If everything goes according to plan, your server will be compiled and the resource uploaded automatically to amazon S3. You can verify that by checking on the file your bucket via aws web management.
+7. In your TGS's instance's static config files edit resources.txt to point to the resource file uploaded by the batch file. it should resemble `http://BucketName.s3.AWSRegion.amazonaws.com/tgstation.rsc` You can get this url from the S3 object management page after its been uploaded for the first time. *Make sure you do not use use HTTPS. Byond can not do encryption*
+7. Tell TGS to fetch and deploy. If everything goes according to plan, your server will be compiled and the resource uploaded automatically to amazon S3. You can verify that by checking on the file your bucket via aws web management.
7. Test your client side connection.
- * Tell TGS4 to run the compiled server
+ * Tell TGS to run the compiled server
* Attempt to log in. AWS has a stupid fast transfer speed. you should download client side data faster than you can recognize it happened.
## IRC BOT SETUP
diff --git a/.github/workflows/ci_suite.yml b/.github/workflows/ci_suite.yml
index a06ddb2e43a..204677e9e9f 100644
--- a/.github/workflows/ci_suite.yml
+++ b/.github/workflows/ci_suite.yml
@@ -1,4 +1,5 @@
name: CI Suite
+
on:
push:
branches:
@@ -30,177 +31,32 @@ jobs:
run_linters:
name: Run Linters
needs: start_gate
- runs-on: ubuntu-22.04
- timeout-minutes: 5
-
- steps:
- - uses: actions/checkout@v4
- - name: Restore SpacemanDMM cache
- uses: actions/cache@v4
- with:
- path: ~/SpacemanDMM
- key: ${{ runner.os }}-spacemandmm-${{ hashFiles('dependencies.sh') }}
- restore-keys: |
- ${{ runner.os }}-spacemandmm-
- - name: Setup Node
- uses: ./.github/actions/setup_node
- with:
- restore-yarn-cache: true
- - name: Restore Bootstrap cache
- uses: actions/cache@v4
- with:
- path: tools/bootstrap/.cache
- key: ${{ runner.os }}-bootstrap-${{ hashFiles('tools/requirements.txt') }}
- restore-keys: |
- ${{ runner.os }}-bootstrap-
- - name: Restore Rust cache
- uses: actions/cache@v4
- with:
- path: ~/.cargo
- key: ${{ runner.os }}-rust-${{ hashFiles('tools/ci/ci_dependencies.sh')}}
- restore-keys: |
- ${{ runner.os }}-rust-
- - name: Restore Cutter cache
- uses: actions/cache@v4
- with:
- path: tools/icon_cutter/cache
- key: ${{ runner.os }}-cutter-${{ hashFiles('dependencies.sh') }}
- - name: Setup .NET SDK
- uses: actions/setup-dotnet@v4.2.0
- with:
- dotnet-version: 9.x
- - name: Install OpenDream
- uses: robinraju/release-downloader@v1.12
- with:
- repository: "OpenDreamProject/OpenDream"
- tag: "latest"
- fileName: "DMCompiler_linux-x64.tar.gz"
- extract: true
- - name: Install Tools
- run: |
- pip3 install setuptools
- bash tools/ci/install_spaceman_dmm.sh dreamchecker
- bash tools/ci/install_ripgrep.sh
- tools/bootstrap/python -c ''
- - name: Give Linters A Go
- id: linter-setup
- run: ':'
- - name: Run Grep Checks
- if: steps.linter-setup.conclusion == 'success' && !cancelled()
- run: |
- bash tools/ci/check_grep.sh
- bash skyrat/tools/skyrat_check_grep.sh # SKYRAT EDIT ADDITION - checking modular_skyrat code
- bash modular_zubbers/tools/ci/zubbers_check_grep.sh # BUBBER EDIT ADDITION - checking modular_zubbers code
- - name: Ticked File Enforcement
- if: steps.linter-setup.conclusion == 'success' && !cancelled()
- run: |
- tools/bootstrap/python tools/ticked_file_enforcement/ticked_file_enforcement.py < tools/ticked_file_enforcement/schemas/tgstation_dme.json
- tools/bootstrap/python tools/ticked_file_enforcement/ticked_file_enforcement.py < tools/ticked_file_enforcement/schemas/unit_tests.json
- - name: Check Define Sanity
- if: steps.linter-setup.conclusion == 'success' && !cancelled()
- run: tools/bootstrap/python -m define_sanity.check
- - name: Check Trait Validity
- if: steps.linter-setup.conclusion == 'success' && !cancelled()
- run: tools/bootstrap/python -m trait_validity.check
- - name: Run DreamChecker
- if: steps.linter-setup.conclusion == 'success' && !cancelled()
- shell: bash
- run: ~/dreamchecker 2>&1 | bash tools/ci/annotate_dm.sh
- #- name: Run OpenDream - SKYRAT REMOVAL - DreamChecker is fine for us so far - SKYRAT TODO
- # if: steps.linter-setup.conclusion == 'success' && !cancelled()
- # run: ./DMCompiler_linux-x64/DMCompiler tgstation.dme --suppress-unimplemented --define=CIBUILDING | bash tools/ci/annotate_od.sh
- - name: Run Map Checks
- if: steps.linter-setup.conclusion == 'success' && !cancelled()
- run: |
- tools/bootstrap/python -m mapmerge2.dmm_test
- tools/bootstrap/python -m tools.maplint.source
- - name: Check Cutter
- if: steps.linter-setup.conclusion == 'success' && !cancelled()
- run: tools/bootstrap/python -m tools.icon_cutter.check
- - name: Run DMI Tests
- if: steps.linter-setup.conclusion == 'success' && !cancelled()
- run: tools/bootstrap/python -m dmi.test
- - name: Check File Directories
- if: steps.linter-setup.conclusion == 'success' && !cancelled()
- run: bash tools/ci/check_filedirs.sh tgstation.dme
- - name: Check Changelogs
- if: steps.linter-setup.conclusion == 'success' && !cancelled()
- run: bash tools/ci/check_changelogs.sh
- - name: Check Miscellaneous Files
- if: steps.linter-setup.conclusion == 'success' && !cancelled()
- run: bash tools/ci/check_misc.sh
- - name: Run TGUI Checks
- if: steps.linter-setup.conclusion == 'success' && !cancelled()
- run: tools/build/build --ci lint tgui-test
-
- compile_all_maps:
- name: Compile Maps
- needs: collect_data
- runs-on: ubuntu-22.04
- timeout-minutes: 5
-
- steps:
- - uses: actions/checkout@v4
- - name: Setup Node
- uses: ./.github/actions/setup_node
- - name: Restore BYOND from Cache
- uses: ./.github/actions/restore_or_install_byond
- - name: Compile All Maps
- run: |
- source $HOME/BYOND/byond/bin/byondsetup
- tools/build/build --ci dm -DCIBUILDING -DCITESTING -DALL_MAPS
- - name: Check client Compatibility
- uses: tgstation/byond-client-compatibility-check@v3
- with:
- dmb-location: tgstation.dmb
- max-required-client-version: ${{needs.collect_data.outputs.max_required_byond_client}}
+ uses: ./.github/workflows/run_linters.yml
collect_data:
name: Collect data and setup caches for other tasks
needs: start_gate
- runs-on: ubuntu-22.04
- timeout-minutes: 5
- outputs:
- maps: ${{ steps.map_finder.outputs.maps }}
- alternate_tests: ${{ steps.alternate_test_finder.outputs.alternate_tests }}
- max_required_byond_client: ${{ steps.max_required_byond_client.outputs.max_required_byond_client }}
+ uses: ./.github/workflows/collect_data.yml
- steps:
- - uses: actions/checkout@v4
- - name: Find Maps
- id: map_finder
- run: |
- echo "$(ls -mw0 _maps/*.json)" > maps_output.txt
- sed -i -e s+_maps/+\"+g -e s+.json+\"+g maps_output.txt
- echo "Maps: $(cat maps_output.txt)"
- echo "maps={\"paths\":[$(cat maps_output.txt)]}" >> $GITHUB_OUTPUT
- - name: Find Alternate Tests
- id: alternate_test_finder
- run: |
- ALTERNATE_TESTS_JSON=$(jq -nRc '[inputs | capture("^(?[0-9]+)\\.(?[0-9]+): (?[^;]+);?(?[0-9]+)?$")]' .github/alternate_byond_versions.txt)
- echo "alternate_tests=$ALTERNATE_TESTS_JSON" >> $GITHUB_OUTPUT
- - name: Collect byond client version configuration
- id: max_required_byond_client
- #the regex here does not filter out non-numbers because error messages about no input are less helpful then error messages about bad input (which includes the bad input)
- run: |
- echo "max_required_byond_client=$(grep -Ev '^[[:blank:]]{0,}#{1,}|^[[:blank:]]{0,}$' .github/max_required_byond_client.txt | tail -n1)" >> $GITHUB_OUTPUT
- - name: Set up BYOND cache
- uses: ./.github/actions/restore_or_install_byond
+ compile_all_maps:
+ name: Compile Maps
+ needs: collect_data
+ uses: ./.github/workflows/compile_all_maps.yml
+ with:
+ max_required_byond_client: ${{ needs.collect_data.outputs.max_required_byond_client }}
run_all_tests:
name: Integration Tests
needs: collect_data
-
uses: ./.github/workflows/perform_regular_version_tests.yml
with:
maps: ${{ needs.collect_data.outputs.maps }}
- max_required_byond_client: ${{needs.collect_data.outputs.max_required_byond_client}}
+ max_required_byond_client: ${{ needs.collect_data.outputs.max_required_byond_client }}
run_alternate_tests:
if: needs.collect_data.outputs.alternate_tests != '[]'
name: Alternate Tests
needs: collect_data
-
uses: ./.github/workflows/perform_alternate_version_tests.yml
with:
alternate_tests: ${{ needs.collect_data.outputs.alternate_tests }}
@@ -210,61 +66,14 @@ jobs:
if: needs.collect_data.outputs.alternate_tests == '[]' || needs.run_alternate_tests.result == 'success'
needs: [ collect_data, run_alternate_tests ]
name: Compare Screenshot Tests
- timeout-minutes: 15
- runs-on: ubuntu-22.04
- steps:
- - uses: actions/checkout@v4
- - name: Setup directory
- run: mkdir -p artifacts
- # If we ever add more artifacts, this is going to break, but it'll be obvious.
- - name: Download screenshot tests
- uses: actions/download-artifact@v4
- with:
- path: artifacts
- - name: ls -R
- run: ls -R artifacts
- - name: Setup screenshot comparison
- run: npm i
- working-directory: tools/screenshot-test-comparison
- - name: Run screenshot comparison
- run: node tools/screenshot-test-comparison/index.js artifacts code/modules/unit_tests/screenshots artifacts/screenshot_comparisons
- # workflow_run does not give you the PR it ran on,
- # even through the thing literally named "matching pull requests".
- # However, in GraphQL, you can check if the check suite was ran
- # by a specific PR, so trusting the (user controlled) action here is okay,
- # as long as we check it later in show_screenshot_test_results
- - name: Save PR ID
- if: failure() && github.event.pull_request
- run: |
- echo ${{ github.event.pull_request.number }} > artifacts/screenshot_comparisons/pull_request_number.txt
- - name: Upload bad screenshots
- if: failure()
- uses: actions/upload-artifact@v4
- with:
- name: bad-screenshots
- path: artifacts/screenshot_comparisons
+ uses: ./.github/workflows/compare_screenshots.yml
test_windows:
name: Windows Build
- needs: [collect_data]
- runs-on: windows-latest
- timeout-minutes: 5
-
- steps:
- - uses: actions/checkout@v4
- - name: Setup Node
- uses: ./.github/actions/setup_node
- with:
- restore-yarn-cache: true
- - name: Compile
- run: pwsh tools/ci/build.ps1
- env:
- DM_EXE: "C:\\byond\\bin\\dm.exe"
- - name: Check client Compatibility
- uses: tgstation/byond-client-compatibility-check@v3
- with:
- dmb-location: tgstation.dmb
- max-required-client-version: ${{needs.collect_data.outputs.max_required_byond_client}}
+ needs: collect_data
+ uses: ./.github/workflows/test_windows.yml
+ with:
+ max_required_byond_client: ${{needs.collect_data.outputs.max_required_byond_client}}
completion_gate: # Serves as a non-moving target for branch rulesets
if: always() && !cancelled()
diff --git a/.github/workflows/collect_data.yml b/.github/workflows/collect_data.yml
new file mode 100644
index 00000000000..ad93bbeed0f
--- /dev/null
+++ b/.github/workflows/collect_data.yml
@@ -0,0 +1,45 @@
+name: Collect Data
+
+on:
+ workflow_call:
+ outputs:
+ maps:
+ description: "The maps that were found"
+ value: ${{ jobs.collect_data.outputs.maps }}
+ alternate_tests:
+ description: "The alternate tests that were found"
+ value: ${{ jobs.collect_data.outputs.alternate_tests }}
+ max_required_byond_client:
+ description: "The max required byond client version"
+ value: ${{ jobs.collect_data.outputs.max_required_byond_client }}
+
+jobs:
+ collect_data:
+ runs-on: ubuntu-22.04
+ timeout-minutes: 5
+ outputs:
+ maps: ${{ steps.map_finder.outputs.maps }}
+ alternate_tests: ${{ steps.alternate_test_finder.outputs.alternate_tests }}
+ max_required_byond_client: ${{ steps.max_required_byond_client.outputs.max_required_byond_client }}
+
+ steps:
+ - uses: actions/checkout@v4
+ - name: Find Maps
+ id: map_finder
+ run: |
+ echo "$(ls -mw0 _maps/*.json)" > maps_output.txt
+ sed -i -e s+_maps/+\"+g -e s+.json+\"+g maps_output.txt
+ echo "Maps: $(cat maps_output.txt)"
+ echo "maps={\"paths\":[$(cat maps_output.txt)]}" >> $GITHUB_OUTPUT
+ - name: Find Alternate Tests
+ id: alternate_test_finder
+ run: |
+ ALTERNATE_TESTS_JSON=$(jq -nRc '[inputs | capture("^(?[0-9]+)\\.(?[0-9]+): (?[^;]+);?(?[0-9]+)?$")]' .github/alternate_byond_versions.txt)
+ echo "alternate_tests=$ALTERNATE_TESTS_JSON" >> $GITHUB_OUTPUT
+ - name: Collect byond client version configuration
+ id: max_required_byond_client
+ #the regex here does not filter out non-numbers because error messages about no input are less helpful then error messages about bad input (which includes the bad input)
+ run: |
+ echo "max_required_byond_client=$(grep -Ev '^[[:blank:]]{0,}#{1,}|^[[:blank:]]{0,}$' .github/max_required_byond_client.txt | tail -n1)" >> $GITHUB_OUTPUT
+ - name: Set up BYOND cache
+ uses: ./.github/actions/restore_or_install_byond
diff --git a/.github/workflows/compare_screenshots.yml b/.github/workflows/compare_screenshots.yml
new file mode 100644
index 00000000000..b0c02450829
--- /dev/null
+++ b/.github/workflows/compare_screenshots.yml
@@ -0,0 +1,40 @@
+name: Compare Screenshots
+
+on:
+ workflow_call:
+
+jobs:
+ compare_screenshots:
+ timeout-minutes: 15
+ runs-on: ubuntu-22.04
+ steps:
+ - uses: actions/checkout@v4
+ - name: Setup directory
+ run: mkdir -p artifacts
+ # If we ever add more artifacts, this is going to break, but it'll be obvious.
+ - name: Download screenshot tests
+ uses: actions/download-artifact@v4
+ with:
+ path: artifacts
+ - name: ls -R
+ run: ls -R artifacts
+ - name: Setup screenshot comparison
+ run: npm i
+ working-directory: tools/screenshot-test-comparison
+ - name: Run screenshot comparison
+ run: node tools/screenshot-test-comparison/index.js artifacts code/modules/unit_tests/screenshots artifacts/screenshot_comparisons
+ # workflow_run does not give you the PR it ran on,
+ # even through the thing literally named "matching pull requests".
+ # However, in GraphQL, you can check if the check suite was ran
+ # by a specific PR, so trusting the (user controlled) action here is okay,
+ # as long as we check it later in show_screenshot_test_results
+ - name: Save PR ID
+ if: failure() && github.event.pull_request
+ run: |
+ echo ${{ github.event.pull_request.number }} > artifacts/screenshot_comparisons/pull_request_number.txt
+ - name: Upload bad screenshots
+ if: failure()
+ uses: actions/upload-artifact@v4
+ with:
+ name: bad-screenshots
+ path: artifacts/screenshot_comparisons
diff --git a/.github/workflows/compile_all_maps.yml b/.github/workflows/compile_all_maps.yml
new file mode 100644
index 00000000000..94bdafdfc70
--- /dev/null
+++ b/.github/workflows/compile_all_maps.yml
@@ -0,0 +1,29 @@
+name: Compile All Maps
+
+on:
+ workflow_call:
+ inputs:
+ max_required_byond_client:
+ required: true
+ type: string
+
+jobs:
+ compile_all_maps:
+ runs-on: ubuntu-22.04
+ timeout-minutes: 5
+
+ steps:
+ - uses: actions/checkout@v4
+ - name: Setup Node
+ uses: ./.github/actions/setup_node
+ - name: Restore BYOND from Cache
+ uses: ./.github/actions/restore_or_install_byond
+ - name: Compile All Maps
+ run: |
+ source $HOME/BYOND/byond/bin/byondsetup
+ tools/build/build --ci dm -DCIBUILDING -DCITESTING -DALL_MAPS
+ - name: Check client Compatibility
+ uses: tgstation/byond-client-compatibility-check@v3
+ with:
+ dmb-location: tgstation.dmb
+ max-required-client-version: ${{inputs.max_required_byond_client}}
diff --git a/.github/workflows/perform_alternate_version_tests.yml b/.github/workflows/perform_alternate_version_tests.yml
index de2abfe3e81..1718cb84d30 100644
--- a/.github/workflows/perform_alternate_version_tests.yml
+++ b/.github/workflows/perform_alternate_version_tests.yml
@@ -1,4 +1,5 @@
name: Run Alternate BYOND Version Tests
+
on:
workflow_call:
inputs:
diff --git a/.github/workflows/perform_regular_version_tests.yml b/.github/workflows/perform_regular_version_tests.yml
index bc515d85002..724db11f7df 100644
--- a/.github/workflows/perform_regular_version_tests.yml
+++ b/.github/workflows/perform_regular_version_tests.yml
@@ -1,4 +1,5 @@
name: Run Regular BYOND Version Tests
+
on:
workflow_call:
inputs:
diff --git a/.github/workflows/run_integration_tests.yml b/.github/workflows/run_integration_tests.yml
index 33fb2aa92d7..5aae4c26f03 100644
--- a/.github/workflows/run_integration_tests.yml
+++ b/.github/workflows/run_integration_tests.yml
@@ -1,6 +1,7 @@
# This is a reusable workflow to run integration tests on a single map.
# This is run for every single map in ci_suite.yml. You might want to edit that instead.
name: Run Integration Tests
+
on:
workflow_call:
inputs:
diff --git a/.github/workflows/run_linters.yml b/.github/workflows/run_linters.yml
new file mode 100644
index 00000000000..c00ecaf6db5
--- /dev/null
+++ b/.github/workflows/run_linters.yml
@@ -0,0 +1,106 @@
+name: Run Linters
+
+on:
+ workflow_call:
+
+jobs:
+ linters:
+ runs-on: ubuntu-22.04
+ timeout-minutes: 5
+
+ steps:
+ - uses: actions/checkout@v4
+ - name: Restore SpacemanDMM cache
+ uses: actions/cache@v4
+ with:
+ path: ~/SpacemanDMM
+ key: ${{ runner.os }}-spacemandmm-${{ hashFiles('dependencies.sh') }}
+ restore-keys: |
+ ${{ runner.os }}-spacemandmm-
+ - name: Setup Node
+ uses: ./.github/actions/setup_node
+ with:
+ restore-yarn-cache: true
+ - name: Restore Bootstrap cache
+ uses: actions/cache@v4
+ with:
+ path: tools/bootstrap/.cache
+ key: ${{ runner.os }}-bootstrap-${{ hashFiles('tools/requirements.txt') }}
+ restore-keys: |
+ ${{ runner.os }}-bootstrap-
+ - name: Restore Rust cache
+ uses: actions/cache@v4
+ with:
+ path: ~/.cargo
+ key: ${{ runner.os }}-rust-${{ hashFiles('tools/ci/ci_dependencies.sh')}}
+ restore-keys: |
+ ${{ runner.os }}-rust-
+ - name: Restore Cutter cache
+ uses: actions/cache@v4
+ with:
+ path: tools/icon_cutter/cache
+ key: ${{ runner.os }}-cutter-${{ hashFiles('dependencies.sh') }}
+ - name: Setup .NET SDK
+ uses: actions/setup-dotnet@v4.2.0
+ with:
+ dotnet-version: 9.x
+ - name: Install OpenDream
+ uses: robinraju/release-downloader@v1.12
+ with:
+ repository: "OpenDreamProject/OpenDream"
+ tag: "latest"
+ fileName: "DMCompiler_linux-x64.tar.gz"
+ extract: true
+ - name: Install Tools
+ run: |
+ pip3 install setuptools
+ bash tools/ci/install_spaceman_dmm.sh dreamchecker
+ bash tools/ci/install_ripgrep.sh
+ tools/bootstrap/python -c ''
+ - name: Give Linters A Go
+ id: linter-setup
+ run: ":"
+ - name: Run Grep Checks
+ if: steps.linter-setup.conclusion == 'success' && !cancelled()
+ run: bash tools/ci/check_grep.sh
+ - name: Ticked File Enforcement
+ if: steps.linter-setup.conclusion == 'success' && !cancelled()
+ run: |
+ tools/bootstrap/python tools/ticked_file_enforcement/ticked_file_enforcement.py < tools/ticked_file_enforcement/schemas/tgstation_dme.json
+ tools/bootstrap/python tools/ticked_file_enforcement/ticked_file_enforcement.py < tools/ticked_file_enforcement/schemas/unit_tests.json
+ - name: Check Define Sanity
+ if: steps.linter-setup.conclusion == 'success' && !cancelled()
+ run: tools/bootstrap/python -m define_sanity.check
+ - name: Check Trait Validity
+ if: steps.linter-setup.conclusion == 'success' && !cancelled()
+ run: tools/bootstrap/python -m trait_validity.check
+ - name: Run DreamChecker
+ if: steps.linter-setup.conclusion == 'success' && !cancelled()
+ shell: bash
+ run: ~/dreamchecker 2>&1 | bash tools/ci/annotate_dm.sh
+ - name: Run OpenDream
+ if: steps.linter-setup.conclusion == 'success' && !cancelled()
+ run: ./DMCompiler_linux-x64/DMCompiler tgstation.dme --suppress-unimplemented --define=CIBUILDING | bash tools/ci/annotate_od.sh
+ - name: Run Map Checks
+ if: steps.linter-setup.conclusion == 'success' && !cancelled()
+ run: |
+ tools/bootstrap/python -m mapmerge2.dmm_test
+ tools/bootstrap/python -m tools.maplint.source
+ - name: Check Cutter
+ if: steps.linter-setup.conclusion == 'success' && !cancelled()
+ run: tools/bootstrap/python -m tools.icon_cutter.check
+ - name: Run DMI Tests
+ if: steps.linter-setup.conclusion == 'success' && !cancelled()
+ run: tools/bootstrap/python -m dmi.test
+ - name: Check File Directories
+ if: steps.linter-setup.conclusion == 'success' && !cancelled()
+ run: bash tools/ci/check_filedirs.sh tgstation.dme
+ - name: Check Changelogs
+ if: steps.linter-setup.conclusion == 'success' && !cancelled()
+ run: bash tools/ci/check_changelogs.sh
+ - name: Check Miscellaneous Files
+ if: steps.linter-setup.conclusion == 'success' && !cancelled()
+ run: bash tools/ci/check_misc.sh
+ - name: Run TGUI Checks
+ if: steps.linter-setup.conclusion == 'success' && !cancelled()
+ run: tools/build/build --ci lint tgui-test
diff --git a/.github/workflows/test_windows.yml b/.github/workflows/test_windows.yml
new file mode 100644
index 00000000000..a437a067b71
--- /dev/null
+++ b/.github/workflows/test_windows.yml
@@ -0,0 +1,29 @@
+name: Test Windows
+
+on:
+ workflow_call:
+ inputs:
+ max_required_byond_client:
+ required: true
+ type: string
+
+jobs:
+ test_windows:
+ runs-on: windows-latest
+ timeout-minutes: 5
+
+ steps:
+ - uses: actions/checkout@v4
+ - name: Setup Node
+ uses: ./.github/actions/setup_node
+ with:
+ restore-yarn-cache: true
+ - name: Compile
+ run: pwsh tools/ci/build.ps1
+ env:
+ DM_EXE: "C:\\byond\\bin\\dm.exe"
+ - name: Check client Compatibility
+ uses: tgstation/byond-client-compatibility-check@v3
+ with:
+ dmb-location: tgstation.dmb
+ max-required-client-version: ${{inputs.max_required_byond_client}}
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
deleted file mode 100644
index 11d27b55d34..00000000000
--- a/.gitlab-ci.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-build:
- stage: build
- rules:
- - if: $CI_MERGE_REQUEST_IID || $CI_COMMIT_REF_NAME == "master"
- changes:
- - tgui/**/*.js
- - tgui/**/*.scss
- when: always
- image: node:lts
- script:
- - tgui/bin/tgui --ci
diff --git a/_maps/RandomRuins/IceRuins/icemoon_surface_gas.dmm b/_maps/RandomRuins/IceRuins/icemoon_surface_gas.dmm
index ab89e26af80..9faec32d88a 100644
--- a/_maps/RandomRuins/IceRuins/icemoon_surface_gas.dmm
+++ b/_maps/RandomRuins/IceRuins/icemoon_surface_gas.dmm
@@ -13,7 +13,7 @@
"bn" = (
/obj/structure/closet/crate/trashcart/filled,
/turf/open/floor/plating/snowed/smoothed/icemoon,
-/area/icemoon/underground/unexplored)
+/area/icemoon/surface/outdoors/nospawn)
"bJ" = (
/obj/machinery/light/cold/directional/north,
/turf/open/floor/plating/snowed/icemoon,
@@ -77,7 +77,7 @@
"ed" = (
/obj/effect/spawner/random/structure/closet_empty/crate,
/turf/open/floor/plating/snowed/smoothed/icemoon,
-/area/icemoon/underground/unexplored)
+/area/icemoon/surface/outdoors/nospawn)
"es" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden,
@@ -179,7 +179,7 @@
"kI" = (
/obj/effect/spawner/random/trash/grille_or_waste,
/turf/open/floor/plating/snowed/smoothed/icemoon,
-/area/icemoon/underground/unexplored)
+/area/icemoon/surface/outdoors/nospawn)
"kS" = (
/obj/machinery/duct,
/turf/open/floor/iron,
@@ -195,7 +195,7 @@
pixel_y = 2
},
/turf/open/floor/plating/snowed/icemoon,
-/area/icemoon/underground/unexplored)
+/area/icemoon/surface/outdoors/nospawn)
"lK" = (
/obj/structure/cable,
/turf/open/floor/iron,
@@ -211,7 +211,7 @@
"mE" = (
/obj/structure/bonfire/prelit,
/turf/open/floor/plating/snowed/smoothed/icemoon,
-/area/icemoon/underground/unexplored)
+/area/icemoon/surface/outdoors/nospawn)
"oo" = (
/turf/closed/wall,
/area/ruin/powered/lizard_gas)
@@ -236,7 +236,7 @@
"pO" = (
/obj/effect/spawner/random/trash/hobo_squat,
/turf/open/misc/asteroid/snow/icemoon,
-/area/icemoon/underground/unexplored)
+/area/icemoon/surface/outdoors/nospawn)
"qM" = (
/obj/structure/reagent_dispensers/watertank,
/obj/machinery/duct,
@@ -267,16 +267,16 @@
"sQ" = (
/obj/effect/spawner/random/structure/grille,
/turf/open/floor/plating/snowed/smoothed/icemoon,
-/area/icemoon/underground/unexplored)
+/area/icemoon/surface/outdoors/nospawn)
"sU" = (
/obj/structure/barricade/wooden/snowed,
/obj/structure/barricade/wooden/crude/snow,
/turf/open/floor/plating/snowed/smoothed/icemoon,
-/area/icemoon/underground/unexplored)
+/area/icemoon/surface/outdoors/nospawn)
"tx" = (
/obj/effect/turf_decal/delivery,
/turf/open/floor/plating/snowed/icemoon,
-/area/icemoon/underground/unexplored)
+/area/icemoon/surface/outdoors/nospawn)
"tW" = (
/obj/machinery/atmospherics/components/tank/air,
/turf/open/floor/plating,
@@ -287,11 +287,11 @@
/area/ruin/powered/lizard_gas)
"ur" = (
/turf/open/misc/asteroid/snow/icemoon,
-/area/icemoon/underground/unexplored)
+/area/icemoon/surface/outdoors/nospawn)
"uv" = (
/obj/structure/shipping_container/donk_co,
/turf/open/misc/asteroid/snow/icemoon,
-/area/icemoon/underground/unexplored)
+/area/icemoon/surface/outdoors/nospawn)
"vA" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/sign/poster/official/jim_nortons/directional/south,
@@ -307,7 +307,7 @@
"wN" = (
/obj/effect/spawner/random/structure/closet_empty/crate,
/turf/open/misc/asteroid/snow/icemoon,
-/area/icemoon/underground/unexplored)
+/area/icemoon/surface/outdoors/nospawn)
"wU" = (
/obj/structure/table/reinforced,
/obj/item/food/croissant{
@@ -358,7 +358,7 @@
pixel_y = 2
},
/turf/open/floor/plating/snowed/icemoon,
-/area/icemoon/underground/unexplored)
+/area/icemoon/surface/outdoors/nospawn)
"zm" = (
/obj/machinery/light/cold/directional/east,
/turf/open/floor/plating/snowed/smoothed/icemoon,
@@ -390,11 +390,11 @@
"El" = (
/obj/structure/table,
/turf/open/floor/plating/snowed/icemoon,
-/area/icemoon/underground/unexplored)
+/area/icemoon/surface/outdoors/nospawn)
"Ez" = (
/obj/structure/billboard/roadsign/twothousand,
/turf/open/misc/asteroid/snow/icemoon,
-/area/icemoon/underground/unexplored)
+/area/icemoon/surface/outdoors/nospawn)
"Fp" = (
/obj/effect/spawner/random/trash/cigbutt,
/turf/open/floor/plating/snowed/icemoon,
@@ -419,7 +419,7 @@
"GO" = (
/obj/structure/water_source/puddle,
/turf/open/floor/plating/snowed/smoothed/icemoon,
-/area/icemoon/underground/unexplored)
+/area/icemoon/surface/outdoors/nospawn)
"HE" = (
/turf/open/misc/asteroid/snow/icemoon,
/area/ruin/powered/lizard_gas)
@@ -437,31 +437,31 @@
/area/ruin/powered/lizard_gas)
"Ji" = (
/turf/open/floor/plating/snowed/smoothed/icemoon,
-/area/icemoon/underground/unexplored)
+/area/icemoon/surface/outdoors/nospawn)
"Jv" = (
/turf/open/floor/plating/snowed/smoothed/icemoon,
/area/ruin/powered/lizard_gas)
"KG" = (
/obj/effect/spawner/random/structure/grille,
/turf/open/misc/asteroid/snow/icemoon,
-/area/icemoon/underground/unexplored)
+/area/icemoon/surface/outdoors/nospawn)
"Lh" = (
/obj/structure/barricade/wooden/snowed,
/obj/structure/barricade/wooden/crude/snow,
/turf/open/misc/asteroid/snow/icemoon,
-/area/icemoon/underground/unexplored)
+/area/icemoon/surface/outdoors/nospawn)
"LG" = (
/obj/structure/billboard/lizards_gas,
/turf/open/misc/asteroid/snow/icemoon,
-/area/icemoon/underground/unexplored)
+/area/icemoon/surface/outdoors/nospawn)
"LP" = (
/obj/structure/mop_bucket,
/turf/open/floor/plating/snowed/icemoon,
-/area/icemoon/underground/unexplored)
+/area/icemoon/surface/outdoors/nospawn)
"Md" = (
/obj/effect/spawner/random/structure/crate_abandoned,
/turf/open/floor/plating/snowed/smoothed/icemoon,
-/area/icemoon/underground/unexplored)
+/area/icemoon/surface/outdoors/nospawn)
"Mz" = (
/obj/machinery/light/cold/directional/south,
/turf/open/floor/plating/snowed/icemoon,
@@ -535,7 +535,7 @@
"Rc" = (
/obj/structure/shipping_container/nanotrasen,
/turf/open/floor/plating/snowed/smoothed/icemoon,
-/area/icemoon/underground/unexplored)
+/area/icemoon/surface/outdoors/nospawn)
"Rs" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/general,
@@ -562,12 +562,12 @@
"RW" = (
/obj/effect/spawner/random/structure/crate_loot,
/turf/open/misc/asteroid/snow/icemoon,
-/area/icemoon/underground/unexplored)
+/area/icemoon/surface/outdoors/nospawn)
"SZ" = (
/obj/structure/table,
/obj/item/mop,
/turf/open/floor/plating/snowed/icemoon,
-/area/icemoon/underground/unexplored)
+/area/icemoon/surface/outdoors/nospawn)
"Tz" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/rack,
@@ -612,7 +612,7 @@
/area/ruin/powered/lizard_gas)
"Vq" = (
/turf/open/floor/plating/snowed/icemoon,
-/area/icemoon/underground/unexplored)
+/area/icemoon/surface/outdoors/nospawn)
"Ww" = (
/obj/machinery/duct,
/turf/open/floor/plating/snowed/icemoon,
@@ -645,7 +645,7 @@
"YC" = (
/obj/effect/spawner/random/structure/crate_loot,
/turf/open/floor/plating/snowed/smoothed/icemoon,
-/area/icemoon/underground/unexplored)
+/area/icemoon/surface/outdoors/nospawn)
(1,1,1) = {"
gv
diff --git a/_maps/RandomRuins/IceRuins/icemoon_surface_phonebooth.dmm b/_maps/RandomRuins/IceRuins/icemoon_surface_phonebooth.dmm
index d252e77417a..1aaa3f3d54b 100644
--- a/_maps/RandomRuins/IceRuins/icemoon_surface_phonebooth.dmm
+++ b/_maps/RandomRuins/IceRuins/icemoon_surface_phonebooth.dmm
@@ -7,11 +7,11 @@
/area/ruin/powered/icemoon_phone_booth)
"c" = (
/turf/open/floor/plating/snowed/smoothed/icemoon,
-/area/icemoon/underground/explored)
+/area/icemoon/surface/outdoors/nospawn)
"e" = (
/obj/structure/lattice,
/turf/open/misc/asteroid/snow/icemoon,
-/area/icemoon/underground/explored)
+/area/icemoon/surface/outdoors/nospawn)
"k" = (
/obj/machinery/vending/cigarette{
all_products_free = 0
@@ -30,7 +30,7 @@
/obj/structure/lattice,
/obj/structure/billboard/Phone_booth,
/turf/open/misc/asteroid/snow/icemoon,
-/area/icemoon/underground/explored)
+/area/icemoon/surface/outdoors/nospawn)
"v" = (
/obj/structure/window/reinforced/spawner/directional/west,
/obj/machinery/light/small/directional/north,
@@ -91,7 +91,7 @@
/area/ruin/powered/icemoon_phone_booth)
"W" = (
/turf/open/misc/asteroid/snow/icemoon,
-/area/icemoon/underground/explored)
+/area/icemoon/surface/outdoors/nospawn)
(1,1,1) = {"
q
diff --git a/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_plasma_facility.dmm b/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_plasma_facility.dmm
index e5f7305eba0..b44fbe0b1b5 100644
--- a/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_plasma_facility.dmm
+++ b/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_plasma_facility.dmm
@@ -419,7 +419,7 @@
pixel_x = -8;
pixel_y = 4
},
-/obj/item/reagent_containers/pill/patch/synthflesh{
+/obj/item/reagent_containers/applicator/patch/synthflesh{
pixel_x = 6;
pixel_y = 2
},
diff --git a/_maps/RandomRuins/IceRuins/icemoon_underground_syndielab.dmm b/_maps/RandomRuins/IceRuins/icemoon_underground_syndielab.dmm
index 195c9677f6d..9df4af38f1b 100644
--- a/_maps/RandomRuins/IceRuins/icemoon_underground_syndielab.dmm
+++ b/_maps/RandomRuins/IceRuins/icemoon_underground_syndielab.dmm
@@ -17,6 +17,16 @@
},
/turf/open/floor/mineral/plastitanium/red,
/area/ruin/syndielab)
+"ah" = (
+/obj/structure/table/reinforced/plastitaniumglass,
+/obj/machinery/airalarm/directional/north,
+/obj/item/implanter/radio,
+/obj/item/implantcase{
+ pixel_x = -5;
+ pixel_y = 8
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/ruin/syndielab)
"aP" = (
/obj/item/reagent_containers/condiment/milk,
/obj/item/reagent_containers/cup/soda_cans/beer{
@@ -255,16 +265,6 @@
/obj/structure/cable/layer1,
/turf/open/floor/iron/dark/textured,
/area/ruin/syndielab)
-"pK" = (
-/obj/structure/table/reinforced/plastitaniumglass,
-/obj/machinery/airalarm/directional/north,
-/obj/item/implanter/radio,
-/obj/item/implantcase{
- pixel_x = -5;
- pixel_y = 8
- },
-/turf/open/floor/mineral/plastitanium/red,
-/area/ruin/syndielab)
"qy" = (
/obj/item/clothing/suit/hooded/explorer/syndicate{
pixel_x = 8;
@@ -438,6 +438,18 @@
/obj/effect/mapping_helpers/airlock/cutaiwire,
/turf/open/floor/iron/dark/textured,
/area/ruin/syndielab)
+"yD" = (
+/obj/structure/table/wood,
+/obj/item/ammo_casing/shotgun/flechette/donk{
+ pixel_y = 6
+ },
+/obj/item/ammo_casing/shotgun/flechette/donk{
+ pixel_x = 8;
+ pixel_y = 6
+ },
+/obj/item/gun/ballistic/shotgun/musket,
+/turf/open/floor/carpet/red,
+/area/ruin/syndielab)
"yW" = (
/turf/open/floor/carpet/red,
/area/ruin/syndielab)
@@ -807,18 +819,6 @@
},
/turf/open/floor/mineral/plastitanium,
/area/ruin/syndielab)
-"Wo" = (
-/obj/structure/table/wood,
-/obj/item/ammo_casing/shotgun/fletchette{
- pixel_y = 6
- },
-/obj/item/ammo_casing/shotgun/fletchette{
- pixel_x = 8;
- pixel_y = 6
- },
-/obj/item/gun/ballistic/shotgun/musket,
-/turf/open/floor/carpet/red,
-/area/ruin/syndielab)
"WO" = (
/obj/item/trash/boritos/red{
pixel_y = -9;
@@ -1042,7 +1042,7 @@ Xt
(9,1,1) = {"
Xt
AR
-pK
+ah
KV
el
nT
@@ -1158,7 +1158,7 @@ dD
Co
AR
cd
-Wo
+yD
yW
Dd
AR
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm b/_maps/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm
index 85b662d04aa..e5edafff2b2 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm
@@ -320,9 +320,9 @@
/area/ruin/powered/beach)
"hO" = (
/obj/structure/table/wood,
-/obj/item/reagent_containers/pill/lsd,
-/obj/item/reagent_containers/pill/lsd,
-/obj/item/reagent_containers/pill/lsd,
+/obj/item/reagent_containers/applicator/pill/lsd,
+/obj/item/reagent_containers/applicator/pill/lsd,
+/obj/item/reagent_containers/applicator/pill/lsd,
/turf/open/floor/wood,
/area/ruin/powered/beach)
"hS" = (
@@ -344,7 +344,7 @@
/area/ruin/powered/beach)
"jc" = (
/obj/structure/table/wood,
-/obj/item/reagent_containers/pill/morphine,
+/obj/item/reagent_containers/applicator/pill/morphine,
/obj/item/storage/fancy/donut_box,
/turf/open/floor/wood,
/area/ruin/powered/beach)
@@ -515,9 +515,9 @@
/area/ruin/powered/beach)
"qy" = (
/obj/structure/table/wood,
-/obj/item/reagent_containers/pill/zoom,
-/obj/item/reagent_containers/pill/zoom,
-/obj/item/reagent_containers/pill/zoom,
+/obj/item/reagent_containers/applicator/pill/zoom,
+/obj/item/reagent_containers/applicator/pill/zoom,
+/obj/item/reagent_containers/applicator/pill/zoom,
/turf/open/floor/wood,
/area/ruin/powered/beach)
"qF" = (
@@ -694,9 +694,9 @@
/area/ruin/powered/beach)
"zm" = (
/obj/structure/table/wood,
-/obj/item/reagent_containers/pill/morphine,
-/obj/item/reagent_containers/pill/morphine,
-/obj/item/reagent_containers/pill/morphine,
+/obj/item/reagent_containers/applicator/pill/morphine,
+/obj/item/reagent_containers/applicator/pill/morphine,
+/obj/item/reagent_containers/applicator/pill/morphine,
/turf/open/floor/wood,
/area/ruin/powered/beach)
"zv" = (
@@ -1343,7 +1343,7 @@
/area/ruin/powered/beach)
"Wd" = (
/obj/structure/table/wood,
-/obj/item/reagent_containers/pill/happy,
+/obj/item/reagent_containers/applicator/pill/happy,
/obj/item/toy/figure/bartender{
pixel_x = -8;
pixel_y = -1
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_biodome_clown_planet.dmm b/_maps/RandomRuins/LavaRuins/lavaland_biodome_clown_planet.dmm
index bcc82db11fd..6cf75767578 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_biodome_clown_planet.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_biodome_clown_planet.dmm
@@ -196,7 +196,7 @@
/turf/open/indestructible/white,
/area/ruin/powered/clownplanet)
"bp" = (
-/turf/closed/mineral/bananium,
+/turf/closed/mineral/bananium/volcanic,
/area/ruin/powered/clownplanet)
"bq" = (
/obj/item/pickaxe,
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_gas.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_gas.dmm
index bcea9d1adbd..726a767d107 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_gas.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_gas.dmm
@@ -244,7 +244,6 @@
/obj/structure/sign/warning/fire/directional/north,
/obj/structure/reagent_dispensers/fueltank/large{
anchored = 1;
- can_be_unanchored = 1
},
/obj/structure/railing{
dir = 8
@@ -381,7 +380,6 @@
/obj/structure/sign/warning/fire/directional/south,
/obj/structure/reagent_dispensers/fueltank/large{
anchored = 1;
- can_be_unanchored = 1
},
/obj/structure/railing{
dir = 8
diff --git a/_maps/RandomRuins/SpaceRuins/commsbuoy_lowtech.dmm b/_maps/RandomRuins/SpaceRuins/commsbuoy_lowtech.dmm
index 994589f0e51..120158d7f0e 100644
--- a/_maps/RandomRuins/SpaceRuins/commsbuoy_lowtech.dmm
+++ b/_maps/RandomRuins/SpaceRuins/commsbuoy_lowtech.dmm
@@ -66,7 +66,7 @@
/area/space/nearstation)
"z" = (
/obj/structure/fluff/commsbuoy_broadcaster,
-/turf/open/floor/iron/recharge_floor/Airless,
+/turf/open/floor/iron/recharge_floor/airless,
/area/space/nearstation)
"C" = (
/obj/structure/fluff/sat_dish{
@@ -119,7 +119,7 @@
/area/ruin/space/unpowered)
"O" = (
/obj/structure/fluff/commsbuoy_receiver,
-/turf/open/floor/iron/recharge_floor/Airless,
+/turf/open/floor/iron/recharge_floor/airless,
/area/space/nearstation)
"P" = (
/obj/structure/fluff/tram_rail/end,
diff --git a/_maps/RandomRuins/SpaceRuins/dangerous_research.dmm b/_maps/RandomRuins/SpaceRuins/dangerous_research.dmm
index 42fa98704a3..b1913810abd 100644
--- a/_maps/RandomRuins/SpaceRuins/dangerous_research.dmm
+++ b/_maps/RandomRuins/SpaceRuins/dangerous_research.dmm
@@ -3839,7 +3839,7 @@
/obj/machinery/light/small/directional/east,
/obj/item/paper/fluff/ruins/dangerous_research/smith,
/obj/item/clothing/suit/toggle/labcoat/chemist,
-/obj/item/reagent_containers/pill/stimulant,
+/obj/item/reagent_containers/applicator/pill/stimulant,
/obj/item/card/id/away/dangerous_research,
/obj/effect/turf_decal/tile/purple/anticorner/contrasted,
/turf/open/floor/iron/dark/corner{
diff --git a/_maps/RandomRuins/SpaceRuins/derelict7.dmm b/_maps/RandomRuins/SpaceRuins/derelict7.dmm
index 50d683c353b..e55afd60f98 100644
--- a/_maps/RandomRuins/SpaceRuins/derelict7.dmm
+++ b/_maps/RandomRuins/SpaceRuins/derelict7.dmm
@@ -152,7 +152,7 @@
/turf/open/floor/plating/airless,
/area/ruin/space/has_grav)
"pR" = (
-/obj/item/reagent_containers/pill/maintenance,
+/obj/item/reagent_containers/applicator/pill/maintenance,
/turf/open/floor/plating/airless,
/area/ruin/space/has_grav)
"qi" = (
diff --git a/_maps/RandomRuins/SpaceRuins/garbagetruck2.dmm b/_maps/RandomRuins/SpaceRuins/garbagetruck2.dmm
index 16aa17b98f3..96525b60616 100644
--- a/_maps/RandomRuins/SpaceRuins/garbagetruck2.dmm
+++ b/_maps/RandomRuins/SpaceRuins/garbagetruck2.dmm
@@ -61,14 +61,6 @@
/obj/item/swab,
/turf/open/floor/plating,
/area/ruin/space/has_grav/garbagetruck/medicalwaste)
-"hv" = (
-/obj/effect/decal/cleanable/dirt/dust,
-/obj/item/reagent_containers/pill/maintenance{
- pixel_x = 3;
- pixel_y = 7
- },
-/turf/open/floor/plating,
-/area/ruin/space/has_grav/garbagetruck/medicalwaste)
"io" = (
/obj/structure/closet/body_bag,
/obj/structure/table/optable,
@@ -99,13 +91,6 @@
/obj/structure/cable,
/turf/open/floor/catwalk_floor/iron,
/area/ruin/space/has_grav/garbagetruck/medicalwaste)
-"kp" = (
-/obj/structure/safe,
-/obj/item/stamp/syndicate,
-/obj/item/eyesnatcher,
-/obj/item/stack/spacecash/c1000,
-/turf/open/floor/plating,
-/area/ruin/space/has_grav/garbagetruck/medicalwaste)
"kx" = (
/obj/structure/lattice,
/obj/structure/grille,
@@ -186,6 +171,13 @@
/obj/structure/closet/crate/trashcart,
/turf/open/floor/plating,
/area/ruin/space/has_grav/garbagetruck/medicalwaste)
+"re" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/item/reagent_containers/applicator/pill/cyanide{
+ pixel_y = 8
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/garbagetruck/medicalwaste)
"rB" = (
/obj/structure/closet/crate/freezer,
/obj/item/stack/medical/bone_gel,
@@ -222,6 +214,13 @@
/obj/structure/cable,
/turf/open/floor/iron/smooth,
/area/ruin/space/has_grav/garbagetruck/medicalwaste)
+"uu" = (
+/obj/structure/safe,
+/obj/item/stamp/syndicate,
+/obj/item/eyesnatcher,
+/obj/item/stack/spacecash/c1000,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/garbagetruck/medicalwaste)
"uG" = (
/obj/structure/chair/plastic,
/obj/item/reagent_containers/syringe/lethal/choral,
@@ -264,13 +263,6 @@
/obj/structure/grille,
/turf/open/floor/plating,
/area/ruin/space/has_grav/garbagetruck/medicalwaste)
-"xw" = (
-/obj/item/restraints/handcuffs/cable/zipties/used,
-/obj/structure/closet/crate/trashcart/filled,
-/obj/item/reagent_containers/condiment/soysauce,
-/obj/item/reagent_containers/pill/mannitol,
-/turf/open/floor/plating,
-/area/ruin/space/has_grav/garbagetruck/medicalwaste)
"xH" = (
/obj/item/food/badrecipe/moldy,
/obj/item/food/badrecipe/moldy,
@@ -324,6 +316,14 @@
/obj/item/clothing/suit/toggle/labcoat,
/turf/open/floor/plating,
/area/ruin/space/has_grav/garbagetruck/medicalwaste)
+"Ag" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/item/reagent_containers/applicator/pill/maintenance{
+ pixel_x = 3;
+ pixel_y = 7
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/garbagetruck/medicalwaste)
"Al" = (
/obj/structure/frame/computer,
/obj/effect/decal/cleanable/glass,
@@ -408,13 +408,6 @@
/obj/item/stack/sticky_tape/surgical,
/turf/open/floor/plating,
/area/ruin/space/has_grav/garbagetruck/medicalwaste)
-"Go" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/item/reagent_containers/pill/cyanide{
- pixel_y = 8
- },
-/turf/open/floor/plating,
-/area/ruin/space/has_grav/garbagetruck/medicalwaste)
"Gp" = (
/obj/item/organ/eyes/robotic/basic,
/obj/item/kitchen/spoon,
@@ -463,10 +456,24 @@
/obj/effect/spawner/random/maintenance/three,
/turf/open/floor/plating,
/area/ruin/space/has_grav/garbagetruck/medicalwaste)
+"Kq" = (
+/obj/item/restraints/handcuffs/cable/zipties/used,
+/obj/structure/closet/crate/trashcart/filled,
+/obj/item/reagent_containers/condiment/soysauce,
+/obj/item/reagent_containers/applicator/pill/mannitol,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/garbagetruck/medicalwaste)
"Ky" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/ruin/space/has_grav/garbagetruck/medicalwaste)
+"KK" = (
+/obj/item/reagent_containers/applicator/pill/cyanide,
+/obj/effect/spawner/random/medical/minor_healing,
+/obj/effect/spawner/random/medical/surgery_tool,
+/obj/item/reagent_containers/blood/o_minus,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/garbagetruck/medicalwaste)
"Lh" = (
/obj/item/food/deadmouse/moldy,
/obj/item/pushbroom,
@@ -543,13 +550,6 @@
/obj/structure/cable,
/turf/open/floor/catwalk_floor/iron,
/area/ruin/space/has_grav/garbagetruck/medicalwaste)
-"Ok" = (
-/obj/item/reagent_containers/pill/cyanide,
-/obj/effect/spawner/random/medical/minor_healing,
-/obj/effect/spawner/random/medical/surgery_tool,
-/obj/item/reagent_containers/blood/o_minus,
-/turf/open/floor/plating,
-/area/ruin/space/has_grav/garbagetruck/medicalwaste)
"OA" = (
/obj/machinery/door/airlock/shuttle,
/turf/open/floor/plating,
@@ -781,7 +781,7 @@ tI
CJ
uG
CJ
-Ok
+KK
MC
"}
(5,1,1) = {"
@@ -802,7 +802,7 @@ CJ
Kk
CJ
zj
-Go
+re
bv
MC
"}
@@ -845,9 +845,9 @@ JW
CJ
EJ
AB
-xw
+Kq
CJ
-kp
+uu
MC
"}
(8,1,1) = {"
@@ -861,7 +861,7 @@ MC
uR
CJ
CJ
-hv
+Ag
Ka
CJ
CJ
diff --git a/_maps/RandomRuins/SpaceRuins/hauntedtradingpost.dmm b/_maps/RandomRuins/SpaceRuins/hauntedtradingpost.dmm
index 384350f35a1..ac76b2c8ea3 100644
--- a/_maps/RandomRuins/SpaceRuins/hauntedtradingpost.dmm
+++ b/_maps/RandomRuins/SpaceRuins/hauntedtradingpost.dmm
@@ -4042,15 +4042,15 @@
},
/obj/effect/decal/cleanable/oil/slippery,
/obj/item/trash/popcorn/salty,
-/obj/item/ammo_casing/shotgun/fletchette{
+/obj/item/ammo_casing/shotgun/flechette/donk{
pixel_x = 8;
pixel_y = 4
},
-/obj/item/ammo_casing/shotgun/fletchette{
+/obj/item/ammo_casing/shotgun/flechette/donk{
pixel_x = -2;
pixel_y = -7
},
-/obj/item/ammo_casing/shotgun/fletchette{
+/obj/item/ammo_casing/shotgun/flechette/donk{
pixel_x = -4;
pixel_y = 6
},
@@ -5744,11 +5744,11 @@
pixel_y = 12;
pixel_x = -6
},
-/obj/item/food/dankpocket{
+/obj/item/food/donkpocket/dank{
pixel_x = -10
},
-/obj/item/food/dankpocket,
-/obj/item/food/dankpocket{
+/obj/item/food/donkpocket/dank,
+/obj/item/food/donkpocket/dank{
pixel_x = 10
},
/obj/machinery/light/warm/directional/east,
diff --git a/_maps/RandomRuins/SpaceRuins/infested_frigate.dmm b/_maps/RandomRuins/SpaceRuins/infested_frigate.dmm
index aa130e8ddcd..18d050e276e 100644
--- a/_maps/RandomRuins/SpaceRuins/infested_frigate.dmm
+++ b/_maps/RandomRuins/SpaceRuins/infested_frigate.dmm
@@ -2005,7 +2005,7 @@
/obj/effect/decal/cleanable/blood/gibs{
icon_state = "gib6-old"
},
-/obj/item/reagent_containers/pill/cyanide{
+/obj/item/reagent_containers/applicator/pill/cyanide{
pixel_y = -2;
pixel_x = 6
},
diff --git a/_maps/RandomRuins/SpaceRuins/mechtransport.dmm b/_maps/RandomRuins/SpaceRuins/mechtransport.dmm
index ac1f0b03f4b..6c96a3a0a75 100644
--- a/_maps/RandomRuins/SpaceRuins/mechtransport.dmm
+++ b/_maps/RandomRuins/SpaceRuins/mechtransport.dmm
@@ -24,7 +24,7 @@
/area/ruin/space/has_grav/powered/mechtransport)
"gK" = (
/obj/structure/mecha_wreckage/ripley,
-/turf/open/floor/iron/recharge_floor/Airless,
+/turf/open/floor/iron/recharge_floor/airless,
/area/ruin/space/has_grav/powered/mechtransport)
"hq" = (
/obj/item/stack/tile/iron/smooth,
@@ -127,7 +127,7 @@
/area/ruin/space/has_grav/powered/mechtransport)
"qH" = (
/obj/structure/mecha_wreckage/durand,
-/turf/open/floor/iron/recharge_floor/Airless,
+/turf/open/floor/iron/recharge_floor/airless,
/area/ruin/space/has_grav/powered/mechtransport)
"rD" = (
/obj/machinery/door/airlock/hatch{
@@ -148,7 +148,7 @@
/area/ruin/space/has_grav/powered/mechtransport)
"uF" = (
/obj/structure/mecha_wreckage/clarke,
-/turf/open/floor/iron/recharge_floor/Airless,
+/turf/open/floor/iron/recharge_floor/airless,
/area/ruin/space/has_grav/powered/mechtransport)
"uN" = (
/obj/structure/closet/crate/secure/loot,
@@ -223,7 +223,7 @@
/area/ruin/space/has_grav/powered/mechtransport)
"DM" = (
/obj/structure/mecha_wreckage/odysseus,
-/turf/open/floor/iron/recharge_floor/Airless,
+/turf/open/floor/iron/recharge_floor/airless,
/area/ruin/space/has_grav/powered/mechtransport)
"Ga" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -249,7 +249,7 @@
/obj/machinery/atmospherics/components/unary/vent_pump/layer4{
dir = 4
},
-/turf/open/floor/catwalk_floor/titanium/Airless,
+/turf/open/floor/catwalk_floor/titanium/airless,
/area/ruin/space/has_grav/powered/mechtransport)
"Il" = (
/obj/effect/spawner/structure/window/reinforced/shuttle,
@@ -280,7 +280,7 @@
/area/ruin/space/has_grav/powered/mechtransport)
"NG" = (
/obj/vehicle/sealed/mecha/ripley,
-/turf/open/floor/iron/recharge_floor/Airless,
+/turf/open/floor/iron/recharge_floor/airless,
/area/ruin/space/has_grav/powered/mechtransport)
"Oh" = (
/obj/machinery/mech_bay_recharge_port{
@@ -293,7 +293,7 @@
/turf/open/floor/catwalk_floor/iron_smooth/airless,
/area/ruin/space/has_grav/powered/mechtransport)
"OJ" = (
-/turf/open/floor/iron/recharge_floor/Airless,
+/turf/open/floor/iron/recharge_floor/airless,
/area/ruin/space/has_grav/powered/mechtransport)
"PG" = (
/obj/item/stack/rods,
@@ -303,7 +303,7 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{
dir = 8
},
-/turf/open/floor/catwalk_floor/titanium/Airless,
+/turf/open/floor/catwalk_floor/titanium/airless,
/area/ruin/space/has_grav/powered/mechtransport)
"Ry" = (
/obj/structure/closet/crate/secure/loot,
diff --git a/_maps/RandomRuins/SpaceRuins/old_infiltrator.dmm b/_maps/RandomRuins/SpaceRuins/old_infiltrator.dmm
index 85c2910d1fa..494e6467666 100644
--- a/_maps/RandomRuins/SpaceRuins/old_infiltrator.dmm
+++ b/_maps/RandomRuins/SpaceRuins/old_infiltrator.dmm
@@ -95,7 +95,7 @@
id = "ruined_infiltrator_shutters"
},
/obj/item/knife/combat/survival,
-/obj/item/reagent_containers/pill/cyanide{
+/obj/item/reagent_containers/applicator/pill/cyanide{
pixel_y = -2;
pixel_x = 6
},
@@ -720,11 +720,11 @@
/area/ruin/space/unpowered)
"YN" = (
/obj/structure/table,
-/obj/item/reagent_containers/pill/morphine{
+/obj/item/reagent_containers/applicator/pill/morphine{
pixel_y = 8;
pixel_x = 6
},
-/obj/item/reagent_containers/pill/morphine{
+/obj/item/reagent_containers/applicator/pill/morphine{
pixel_x = 4
},
/turf/open/floor/mineral/plastitanium/red/airless,
@@ -739,10 +739,10 @@
pixel_y = 3;
pixel_x = 19
},
-/obj/item/reagent_containers/pill/stimulant{
+/obj/item/reagent_containers/applicator/pill/stimulant{
pixel_y = -2
},
-/obj/item/reagent_containers/pill/epinephrine{
+/obj/item/reagent_containers/applicator/pill/epinephrine{
pixel_y = 4;
pixel_x = -2
},
diff --git a/_maps/RandomRuins/SpaceRuins/russian_derelict.dmm b/_maps/RandomRuins/SpaceRuins/russian_derelict.dmm
index 592b4253850..82da41ac206 100644
--- a/_maps/RandomRuins/SpaceRuins/russian_derelict.dmm
+++ b/_maps/RandomRuins/SpaceRuins/russian_derelict.dmm
@@ -3340,11 +3340,9 @@
/turf/open/floor/plating/airless,
/area/ruin/space/ks13/engineering/atmos)
"zP" = (
-/obj/item/shard{
- icon_state = "small"
- },
-/obj/item/shard,
/obj/effect/mapping_helpers/burnt_floor,
+/obj/structure/table,
+/obj/item/stock_parts/power_store/battery/high,
/turf/open/floor/iron/airless,
/area/ruin/space/ks13/engineering/tech_storage)
"zR" = (
diff --git a/_maps/RandomZLevels/SnowCabin.dmm b/_maps/RandomZLevels/SnowCabin.dmm
index 3dc485b2572..823332f9297 100644
--- a/_maps/RandomZLevels/SnowCabin.dmm
+++ b/_maps/RandomZLevels/SnowCabin.dmm
@@ -2390,13 +2390,6 @@
"ms" = (
/turf/closed/indestructible/rock/snow/ice,
/area/awaymission/cabin/caves)
-"my" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/item/gun/ballistic/rifle/sks/chekhov,
-/turf/open/floor/mineral/plastitanium/red{
- name = "soviet floor"
- },
-/area/awaymission/cabin/caves/sovietcave)
"mI" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/light/directional/south,
@@ -2546,16 +2539,6 @@
name = "soviet floor"
},
/area/awaymission/cabin/caves/sovietcave)
-"nw" = (
-/obj/effect/decal/cleanable/blood,
-/obj/item/reagent_containers/pill/patch/libital,
-/obj/effect/light_emitter{
- set_cap = 3;
- set_luminosity = 6;
- light_color = "#9bbbff"
- },
-/turf/open/floor/plating/snowed/snow_cabin,
-/area/awaymission/cabin/snowforest/sovietsurface)
"nB" = (
/obj/structure/table/wood/poker,
/obj/item/dice/d6{
@@ -2648,6 +2631,13 @@
},
/turf/closed/wall/ice,
/area/awaymission/cabin/caves)
+"oB" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/item/gun/ballistic/rifle/sks/chekhov,
+/turf/open/floor/mineral/plastitanium/red{
+ name = "soviet floor"
+ },
+/area/awaymission/cabin/caves/sovietcave)
"oH" = (
/obj/item/clothing/suit/armor/vest/russian_coat{
pixel_x = 16;
@@ -2871,6 +2861,16 @@
},
/turf/open/floor/wood/freezing,
/area/awaymission/cabin/snowforest)
+"qA" = (
+/obj/effect/decal/cleanable/blood,
+/obj/item/reagent_containers/applicator/patch/libital,
+/obj/effect/light_emitter{
+ set_cap = 3;
+ set_luminosity = 6;
+ light_color = "#9bbbff"
+ },
+/turf/open/floor/plating/snowed/snow_cabin,
+/area/awaymission/cabin/snowforest/sovietsurface)
"qF" = (
/obj/effect/turf_decal/weather/snow/corner{
dir = 9
@@ -3857,6 +3857,16 @@
},
/turf/open/misc/asteroid/snow/snow_cabin,
/area/awaymission/cabin/snowforest)
+"BL" = (
+/obj/effect/decal/cleanable/blood/gibs,
+/obj/item/reagent_containers/applicator/patch/libital,
+/obj/effect/light_emitter{
+ set_cap = 3;
+ set_luminosity = 6;
+ light_color = "#9bbbff"
+ },
+/turf/open/floor/plating/snowed/snow_cabin,
+/area/awaymission/cabin/snowforest/sovietsurface)
"BR" = (
/mob/living/basic/skeleton/ice{
desc = "A reanimated skeleton covered in thick sheet of natural ice. It is obvious to tell that they look really slow.";
@@ -4259,15 +4269,6 @@
},
/turf/open/floor/plating/snowed/snow_cabin,
/area/awaymission/cabin/snowforest/sovietsurface)
-"IJ" = (
-/obj/item/reagent_containers/pill/patch/libital,
-/obj/effect/light_emitter{
- set_cap = 3;
- set_luminosity = 6;
- light_color = "#9bbbff"
- },
-/turf/open/floor/plating/snowed/snow_cabin,
-/area/awaymission/cabin/snowforest/sovietsurface)
"IR" = (
/obj/structure/chair,
/obj/effect/decal/cleanable/blood,
@@ -4510,6 +4511,15 @@
/obj/structure/sign/warning/no_smoking/directional/east,
/turf/open/floor/wood/freezing,
/area/awaymission/cabin/lumbermill)
+"LB" = (
+/obj/item/reagent_containers/applicator/patch/libital,
+/obj/effect/light_emitter{
+ set_cap = 3;
+ set_luminosity = 6;
+ light_color = "#9bbbff"
+ },
+/turf/open/floor/plating/snowed/snow_cabin,
+/area/awaymission/cabin/snowforest/sovietsurface)
"LE" = (
/obj/item/nullrod/claymore/multiverse{
anchored = 1;
@@ -5552,16 +5562,6 @@
},
/turf/open/floor/plating/snowed/snow_cabin,
/area/awaymission/cabin/snowforest)
-"ZB" = (
-/obj/effect/decal/cleanable/blood/gibs,
-/obj/item/reagent_containers/pill/patch/libital,
-/obj/effect/light_emitter{
- set_cap = 3;
- set_luminosity = 6;
- light_color = "#9bbbff"
- },
-/turf/open/floor/plating/snowed/snow_cabin,
-/area/awaymission/cabin/snowforest/sovietsurface)
"ZH" = (
/obj/item/lighter/greyscale,
/obj/effect/light_emitter{
@@ -42285,7 +42285,7 @@ Ae
Ae
qn
Ae
-ZB
+BL
Ae
Ae
Ae
@@ -42793,7 +42793,7 @@ Jz
Jz
vH
IR
-nw
+qA
QC
Ae
Ae
@@ -43055,7 +43055,7 @@ SK
uF
Ae
zT
-IJ
+LB
QV
Ie
SK
@@ -44596,7 +44596,7 @@ Ae
zT
Ae
Ae
-IJ
+LB
Hk
Ae
Ae
@@ -58987,7 +58987,7 @@ ii
ii
ii
mO
-my
+oB
kF
im
im
diff --git a/_maps/RandomZLevels/museum.dmm b/_maps/RandomZLevels/museum.dmm
index d9c7d0aa705..b85746b3249 100644
--- a/_maps/RandomZLevels/museum.dmm
+++ b/_maps/RandomZLevels/museum.dmm
@@ -5527,10 +5527,10 @@
/turf/open/floor/holofloor/asteroid,
/area/awaymission/museum)
"UD" = (
-/obj/item/reagent_containers/pill/patch/ondansetron,
+/obj/item/reagent_containers/applicator/patch/ondansetron,
/obj/structure/rack,
/obj/effect/decal/cleanable/dirt/dust,
-/obj/item/reagent_containers/pill/patch/libital,
+/obj/item/reagent_containers/applicator/patch/libital,
/turf/open/indestructible/plating,
/area/awaymission/museum)
"UG" = (
diff --git a/_maps/map_files/Birdshot/birdshot.dmm b/_maps/map_files/Birdshot/birdshot.dmm
index a70b8933bab..d3d9330d9a7 100644
--- a/_maps/map_files/Birdshot/birdshot.dmm
+++ b/_maps/map_files/Birdshot/birdshot.dmm
@@ -22,10 +22,6 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/station/maintenance/department/electrical)
-"aau" = (
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/ai_monitored/turret_protected/ai_upload)
"aav" = (
/obj/structure/sink/directional/west,
/obj/structure/mirror/directional/east,
@@ -41,6 +37,22 @@
/obj/structure/window/spawner/directional/west,
/turf/open/floor/iron,
/area/station/hallway/secondary/recreation)
+"aaR" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/machinery/door/firedoor,
+/turf/open/floor/iron/small,
+/area/station/service/bar)
+"aaV" = (
+/obj/machinery/door/airlock/command{
+ name = "Research Division Server Room"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/rd,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/catwalk_floor/iron_white,
+/area/station/science/server)
"aaZ" = (
/obj/structure/closet/firecloset,
/obj/effect/turf_decal/tile/blue,
@@ -54,15 +66,14 @@
},
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
-"abh" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/neutral{
+"abo" = (
+/obj/effect/turf_decal/stripes/line{
dir = 1
},
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden,
/turf/open/floor/iron,
-/area/station/hallway/primary/aft)
+/area/station/science/xenobiology)
"abt" = (
/obj/structure/cable,
/obj/structure/lattice/catwalk,
@@ -93,6 +104,16 @@
},
/turf/open/floor/iron,
/area/station/security/tram)
+"abS" = (
+/obj/machinery/firealarm/directional/south,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance)
"acg" = (
/obj/machinery/power/smes/engineering,
/turf/open/floor/plating,
@@ -112,11 +133,6 @@
/obj/structure/reagent_dispensers/watertank,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"acM" = (
-/obj/structure/flora/bush/flowers_pp/style_random,
-/obj/machinery/light/small/directional/west,
-/turf/open/floor/grass,
-/area/station/science/xenobiology)
"acS" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -124,55 +140,13 @@
/obj/effect/turf_decal/tile/yellow/opposingcorners,
/turf/open/floor/iron/dark,
/area/station/medical/pharmacy)
-"adh" = (
+"add" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/trap/stun,
+/obj/structure/alien/weeds,
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/door/airlock{
- name = "Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/central/lesser)
-"adl" = (
-/obj/structure/bodycontainer/morgue/beeper_off{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/medical/morgue)
-"adL" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
/turf/open/floor/iron,
-/area/station/hallway/primary/aft)
-"aef" = (
-/obj/structure/flora/bush/flowers_yw/style_3{
- pixel_x = 5;
- pixel_y = -5
- },
-/obj/structure/flora/bush/flowers_br/style_random{
- pixel_x = 3;
- pixel_y = -5
- },
-/obj/effect/light_emitter/fake_outdoors,
-/obj/effect/turf_decal/siding/wood{
- dir = 9
- },
-/turf/open/floor/grass/Airless,
-/area/station/hallway/primary/central/aft)
-"aej" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/science/robotics/lab)
+/area/station/maintenance/starboard/greater)
"aem" = (
/obj/machinery/power/terminal,
/obj/structure/cable,
@@ -182,15 +156,6 @@
/obj/structure/grille,
/turf/open/floor/plating,
/area/station/maintenance/department/engine/atmos)
-"aeA" = (
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
"aeC" = (
/obj/structure/cable,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
@@ -211,16 +176,11 @@
/obj/machinery/light/small/directional/south,
/turf/open/floor/iron/dark,
/area/station/science/genetics)
-"aeG" = (
-/obj/structure/reagent_dispensers/watertank,
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/effect/turf_decal/bot{
- dir = 1
- },
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
+"aeN" = (
+/obj/machinery/rnd/production/protolathe/department/science,
+/obj/machinery/camera/autoname/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/science/lab)
"aeX" = (
/obj/structure/window/spawner/directional/east,
/obj/item/kirbyplants/random,
@@ -278,6 +238,12 @@
dir = 1
},
/area/station/hallway/secondary/entry)
+"afW" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/iron/white,
+/area/station/medical/treatment_center)
"afZ" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -300,29 +266,38 @@
},
/turf/open/floor/iron/white,
/area/station/medical/virology)
+"agd" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side,
+/area/station/science/lower)
"agp" = (
/obj/structure/table/wood,
/obj/item/cigarette/cigar/cohiba,
/turf/open/floor/carpet,
/area/station/commons/dorms)
-"agy" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/light/cold/directional/south,
-/obj/machinery/atmospherics/components/tank/oxygen{
+"agx" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/table/wood,
+/obj/item/hemostat{
+ desc = "Ah yes, the Haircutting Device.";
+ name = "Totally Not Scissors"
+ },
+/turf/open/floor/iron/small,
+/area/station/service/barber)
+"agJ" = (
+/obj/effect/turf_decal/siding{
dir = 4
},
-/turf/open/floor/plating,
-/area/station/science/ordnance/storage)
-"agI" = (
-/obj/machinery/firealarm/directional/south,
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
- dir = 5
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance)
+/turf/open/floor/iron/white,
+/area/station/science/cytology)
"agR" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 6
@@ -354,6 +329,9 @@
/obj/structure/flora/tree/jungle/style_5,
/turf/open/floor/grass,
/area/station/service/chapel)
+"ahn" = (
+/turf/closed/wall,
+/area/station/medical/morgue)
"ahr" = (
/obj/machinery/door/airlock/maintenance{
name = "Maintenance"
@@ -412,23 +390,26 @@
"aid" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/sign/poster/official/random/directional/north,
/turf/open/floor/iron/showroomfloor,
/area/station/commons/toilet/auxiliary)
-"aip" = (
-/obj/effect/turf_decal/siding/blue{
- dir = 1
+"aig" = (
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
},
-/obj/machinery/airalarm/directional/north,
-/turf/open/floor/iron/white/small,
-/area/station/medical/storage)
-"ait" = (
-/obj/structure/rack,
-/obj/effect/spawner/random/techstorage/rnd_secure_all,
-/obj/effect/turf_decal/siding/dark,
-/obj/machinery/light/small/directional/north,
-/obj/machinery/camera/autoname/motion/directional/east,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
/turf/open/floor/iron,
-/area/station/engineering/storage/tech)
+/area/station/hallway/primary/starboard)
+"aiz" = (
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/small,
+/area/station/medical/morgue)
"aiI" = (
/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible,
/turf/open/floor/iron,
@@ -443,12 +424,6 @@
},
/turf/open/floor/plating,
/area/station/engineering/lobby)
-"aiX" = (
-/obj/structure/broken_flooring/singular/directional/east,
-/obj/structure/alien/weeds,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/greater)
"ajg" = (
/obj/machinery/camera/directional/north{
c_tag = "atmospherics - upper"
@@ -456,6 +431,31 @@
/obj/item/radio/intercom/directional/north,
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"ajj" = (
+/obj/machinery/camera/autoname/directional/east,
+/obj/machinery/light/small/directional/east,
+/turf/open/floor/iron/dark,
+/area/station/security/prison/workout)
+"ajk" = (
+/obj/structure/table,
+/obj/item/clothing/gloves/color/orange,
+/obj/item/restraints/handcuffs,
+/obj/item/reagent_containers/spray/pepper,
+/obj/machinery/light/small/directional/west,
+/turf/open/floor/iron,
+/area/station/security/execution/transfer)
+"akn" = (
+/obj/structure/chair/sofa/bench/left{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/landmark/start/hangover,
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/fore)
"ako" = (
/obj/effect/turf_decal/stripes/line{
dir = 9
@@ -481,6 +481,11 @@
/obj/item/radio/intercom/directional/south,
/turf/open/floor/iron/cafeteria,
/area/station/commons/dorms)
+"akB" = (
+/obj/machinery/light_switch/directional/east,
+/obj/structure/closet/firecloset,
+/turf/open/floor/iron/showroomfloor,
+/area/station/commons/toilet/auxiliary)
"akF" = (
/obj/effect/landmark/transport/nav_beacon/tram/nav/immovable_rod,
/turf/closed/wall,
@@ -496,25 +501,24 @@
/turf/open/floor/iron,
/area/station/security)
"alb" = (
-/obj/machinery/airalarm/directional/south,
-/turf/open/floor/wood/tile,
-/area/station/command/meeting_room)
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
"als" = (
/obj/machinery/holopad,
/turf/open/floor/iron/kitchen/small,
/area/station/service/kitchen)
-"alF" = (
+"aly" = (
+/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/machinery/camera/autoname/directional/east,
-/obj/machinery/status_display/ai/directional/east,
-/turf/open/floor/iron,
-/area/station/hallway/primary/aft)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical/central)
"alJ" = (
/obj/structure/cable,
/turf/open/floor/iron/small,
@@ -559,17 +563,6 @@
},
/turf/open/floor/iron/textured_half,
/area/station/security/execution/transfer)
-"amK" = (
-/obj/effect/turf_decal/weather/snow,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/machinery/airalarm/directional/west,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/components/binary/pump/on,
-/obj/effect/mapping_helpers/airalarm/tlv_cold_room,
-/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
-/area/station/service/kitchen/coldroom)
"amX" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/item/radio/intercom/directional/south,
@@ -628,11 +621,6 @@
},
/turf/open/space/basic,
/area/space/nearstation)
-"aop" = (
-/obj/structure/steam_vent,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/lesser)
"aoz" = (
/obj/structure/closet/secure_closet/captains,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
@@ -646,6 +634,23 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating,
/area/station/maintenance/fore/lesser)
+"aoY" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/steam_vent,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
+"apb" = (
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/corner{
+ dir = 4
+ },
+/area/station/science/xenobiology)
"api" = (
/obj/machinery/skill_station,
/turf/open/floor/wood/parquet,
@@ -660,18 +665,6 @@
/obj/machinery/firealarm/directional/west,
/turf/open/floor/iron,
/area/station/security)
-"apl" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/chair/sofa/bench/left{
- dir = 1
- },
-/obj/effect/landmark/start/hangover,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/dock)
"apo" = (
/obj/structure/cable,
/turf/open/floor/iron/kitchen/small,
@@ -682,17 +675,20 @@
},
/turf/open/floor/wood,
/area/station/service/chapel)
+"apz" = (
+/obj/machinery/button/door/directional/west{
+ id = "aibridge";
+ name = "AI Maintenance Space Bridge Control";
+ req_access = list("command")
+ },
+/turf/open/floor/plating,
+/area/station/ai_monitored/turret_protected/aisat/maint)
"apB" = (
/obj/structure/disposalpipe/junction{
dir = 4
},
/turf/open/floor/iron/checker,
/area/station/security/breakroom)
-"apF" = (
-/obj/machinery/rnd/destructive_analyzer,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron/dark,
-/area/station/science/lab)
"apP" = (
/obj/effect/spawner/random/trash,
/obj/effect/decal/cleanable/dirt,
@@ -701,6 +697,18 @@
"apZ" = (
/turf/open/floor/engine/helium,
/area/station/ai_monitored/turret_protected/ai)
+"aqc" = (
+/obj/structure/table/reinforced,
+/obj/item/stock_parts/subspace/transmitter,
+/obj/item/stock_parts/subspace/transmitter,
+/obj/item/stock_parts/subspace/ansible,
+/obj/item/stock_parts/subspace/ansible,
+/obj/item/stock_parts/subspace/ansible,
+/obj/item/stock_parts/subspace/amplifier,
+/obj/item/stock_parts/subspace/amplifier,
+/obj/item/stock_parts/subspace/amplifier,
+/turf/open/floor/iron/dark,
+/area/station/engineering/storage/tech)
"aqf" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -710,10 +718,20 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
+"aqj" = (
+/obj/structure/cable,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/maintenance/department/science/xenobiology)
"aqo" = (
/obj/effect/spawner/random/structure/steam_vent,
/turf/open/floor/plating,
/area/station/maintenance/department/engine/atmos)
+"aqx" = (
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
"aqG" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -729,6 +747,22 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"aqR" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/steam_vent,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/fore)
+"aqV" = (
+/obj/machinery/door/airlock/glass,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/greater)
"aqW" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/chair/sofa/bench/right{
@@ -786,6 +820,24 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/iron/smooth,
/area/station/maintenance/department/electrical)
+"arS" = (
+/obj/structure/cable,
+/obj/effect/landmark/navigate_destination,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/mapping_helpers/airlock/access/all/engineering/tech_storage,
+/obj/effect/turf_decal/siding/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/siding/yellow{
+ dir = 4
+ },
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/engineering{
+ name = "Tech Storage"
+ },
+/turf/open/floor/iron/dark/textured,
+/area/station/engineering/storage/tech)
"asb" = (
/obj/effect/turf_decal/siding/white,
/turf/open/floor/iron/dark/small,
@@ -813,17 +865,6 @@
/obj/machinery/door/firedoor,
/turf/open/floor/iron/textured_half,
/area/station/security/prison/workout)
-"asm" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/obj/effect/turf_decal/siding/blue,
-/turf/open/floor/iron/white,
-/area/station/medical/paramedic)
-"asG" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/turf/open/floor/iron/dark/small,
-/area/station/tcommsat/server)
"asS" = (
/obj/structure/disposalpipe/segment,
/obj/effect/turf_decal/tile/neutral/opposingcorners{
@@ -860,6 +901,15 @@
/obj/machinery/hydroponics/soil,
/turf/open/misc/sandy_dirt,
/area/station/science/cytology)
+"atl" = (
+/obj/effect/spawner/random/vending/snackvend,
+/obj/effect/turf_decal/delivery,
+/obj/effect/turf_decal/tile/blue,
+/obj/machinery/status_display/ai/directional/east,
+/turf/open/floor/iron/dark/side{
+ dir = 4
+ },
+/area/station/hallway/primary/fore)
"atm" = (
/obj/structure/table,
/obj/item/stack/spacecash/c1{
@@ -922,11 +972,6 @@
},
/turf/open/floor/iron/dark/small,
/area/station/maintenance/department/engine)
-"auf" = (
-/obj/structure/cable,
-/obj/machinery/light/small/dim/directional/south,
-/turf/open/floor/iron,
-/area/station/maintenance/port/aft)
"aul" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/dark_red{
@@ -946,12 +991,6 @@
/obj/item/radio/intercom/directional/west,
/turf/open/floor/glass,
/area/station/hallway/primary/central/aft)
-"auG" = (
-/obj/machinery/atmospherics/components/unary/portables_connector/visible{
- dir = 4
- },
-/turf/open/floor/circuit,
-/area/station/tcommsat/server)
"auI" = (
/obj/structure/closet/emcloset,
/turf/open/floor/iron,
@@ -979,12 +1018,20 @@
/obj/machinery/power/apc/auto_name/directional/west,
/turf/open/floor/iron/smooth,
/area/station/command/gateway)
-"avc" = (
-/obj/structure/disposalpipe/trunk{
- dir = 1
+"avb" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
},
-/turf/closed/wall,
-/area/station/medical/morgue)
+/obj/machinery/door/airlock/maintenance_hatch{
+ name = "AISat Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 8
+ },
+/obj/effect/mapping_helpers/airlock/access/any/command/maintenance,
+/turf/open/floor/plating,
+/area/station/ai_monitored/turret_protected/aisat/maint)
"avd" = (
/obj/machinery/atmospherics/components/binary/volume_pump{
dir = 8
@@ -998,6 +1045,11 @@
"ave" = (
/turf/open/space,
/area/space)
+"avn" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/lesser)
"avp" = (
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt,
@@ -1015,6 +1067,12 @@
},
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/rd)
+"avz" = (
+/obj/machinery/flasher/directional/east{
+ id = "hopflash"
+ },
+/turf/open/floor/iron/half,
+/area/station/hallway/primary/central/fore)
"avB" = (
/obj/effect/turf_decal/tile/red{
dir = 4
@@ -1033,6 +1091,20 @@
},
/turf/open/floor/iron/white,
/area/station/science/cytology)
+"avO" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/door/poddoor/preopen{
+ id = "bridge blast";
+ name = "Bridge Blast Door"
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/command/meeting_room)
"avP" = (
/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{
dir = 8
@@ -1091,18 +1163,12 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"awE" = (
-/obj/structure/disposalpipe/sorting/mail/flip{
- dir = 8
- },
-/obj/effect/mapping_helpers/mail_sorting/science/xenobiology,
-/obj/machinery/camera/autoname/directional/north,
-/obj/machinery/light/cold/directional/north,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side,
-/area/station/science/lower)
+"awG" = (
+/obj/structure/bed/dogbed/renault,
+/mob/living/basic/pet/fox/renault,
+/obj/machinery/firealarm/directional/south,
+/turf/open/floor/carpet/executive,
+/area/station/command/heads_quarters/captain/private)
"awH" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
/obj/structure/cable,
@@ -1118,15 +1184,11 @@
},
/turf/open/floor/plating/airless,
/area/station/science/ordnance/bomb)
-"awQ" = (
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/structure/cable,
+"awP" = (
+/obj/effect/landmark/start/hangover,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/science/lower)
+/turf/open/floor/iron/white,
+/area/station/hallway/primary/starboard)
"awT" = (
/obj/machinery/light/small/directional/east,
/obj/structure/window/spawner/directional/west,
@@ -1173,12 +1235,6 @@
},
/turf/open/floor/iron/dark/smooth_large,
/area/station/maintenance/central/lesser)
-"axN" = (
-/obj/machinery/sparker/directional/north{
- id = "Xenobio"
- },
-/turf/open/floor/engine/bz,
-/area/station/science/xenobiology)
"axP" = (
/obj/structure/disposalpipe/segment{
dir = 10
@@ -1215,6 +1271,20 @@
},
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
+"ayu" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 8
+ },
+/turf/open/floor/iron/white/small,
+/area/station/science/cubicle)
+"ayI" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/airalarm/directional/east,
+/obj/effect/turf_decal/tile/neutral,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"ayK" = (
/turf/closed/wall/r_wall,
/area/station/engineering/supermatter/room)
@@ -1348,22 +1418,21 @@
/obj/machinery/light/cold/directional/north,
/turf/open/floor/iron/dark,
/area/station/security/office)
+"aAm" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/status_display/ai/directional/north,
+/turf/open/floor/iron/dark/side{
+ dir = 8
+ },
+/area/station/engineering/storage/tech)
"aAD" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/table,
/obj/item/book/manual/wiki/tcomms,
/turf/open/floor/circuit,
/area/station/tcommsat/server)
-"aAL" = (
-/obj/structure/window/reinforced/spawner/directional/north,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/turf/open/floor/iron/dark,
-/area/station/science/xenobiology)
"aAQ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/disposalpipe/junction/flip{
@@ -1430,11 +1499,6 @@
/obj/machinery/light/small/directional/east,
/turf/open/floor/wood/tile,
/area/station/science/lower)
-"aBv" = (
-/obj/effect/spawner/structure/window,
-/obj/machinery/door/firedoor,
-/turf/open/floor/iron/dark,
-/area/station/medical/morgue)
"aBB" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/tile/neutral{
@@ -1457,6 +1521,22 @@
},
/turf/open/floor/carpet/blue,
/area/station/commons/dorms)
+"aBN" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/purple/opposingcorners,
+/obj/machinery/disposal/bin,
+/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/siding/green{
+ dir = 8
+ },
+/obj/machinery/light/small/directional/west,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/cafeteria,
+/area/station/science/circuits)
"aBQ" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -1469,14 +1549,6 @@
},
/turf/open/floor/iron,
/area/station/cargo/office)
-"aBV" = (
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/obj/structure/sign/departments/science/directional/south,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
"aCi" = (
/obj/effect/turf_decal/tile/blue{
dir = 4
@@ -1515,6 +1587,33 @@
/obj/effect/landmark/transport/nav_beacon/tram/platform/birdshot/maint_right,
/turf/open/floor/tram,
/area/station/maintenance/department/medical/central)
+"aCS" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/turf_decal/siding/purple{
+ dir = 1
+ },
+/obj/structure/table,
+/obj/item/storage/box/monkeycubes{
+ pixel_x = 16;
+ pixel_y = 9
+ },
+/obj/item/storage/box/monkeycubes{
+ pixel_x = 6;
+ pixel_y = 4
+ },
+/obj/item/storage/pill_bottle/mutadone{
+ pixel_x = -7;
+ pixel_y = 13
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/firealarm/directional/north,
+/obj/machinery/camera/autoname/directional/north,
+/obj/structure/cable,
+/obj/item/flesh_shears{
+ pixel_x = -5
+ },
+/turf/open/floor/iron/dark,
+/area/station/science/genetics)
"aDe" = (
/obj/item/target,
/obj/structure/window/reinforced/spawner/directional/east,
@@ -1523,13 +1622,25 @@
},
/turf/open/floor/plating/airless,
/area/station/science/ordnance/bomb)
-"aDC" = (
-/obj/effect/turf_decal/stripes/end{
- dir = 4
+"aDg" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
},
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/sign/warning/cold_temp/directional/north,
+/obj/machinery/light/small/directional/north,
+/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/science/xenobiology)
+"aDx" = (
/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/engineering/storage/tech)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical/central)
"aEa" = (
/obj/effect/turf_decal/stripes/white/line,
/turf/open/floor/tram,
@@ -1563,6 +1674,15 @@
dir = 8
},
/area/station/hallway/primary/central/fore)
+"aEh" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/turf_decal/siding/purple{
+ dir = 8
+ },
+/obj/machinery/holopad,
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/rd)
"aEo" = (
/obj/effect/turf_decal/tile/blue/half/contrasted{
dir = 8
@@ -1581,17 +1701,6 @@
/obj/item/storage/bag/plants/portaseeder,
/turf/open/floor/plating,
/area/station/maintenance/starboard/greater)
-"aEJ" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 8
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/hidden,
-/turf/open/floor/wood/tile,
-/area/station/tcommsat/server)
"aEP" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 8
@@ -1599,20 +1708,26 @@
/obj/machinery/shower/directional/west,
/turf/open/floor/iron/dark/small,
/area/station/maintenance/department/engine)
-"aFb" = (
-/obj/structure/flora/bush/flowers_br/style_random,
-/obj/structure/flora/bush/large/style_2,
-/obj/effect/turf_decal/weather/dirt{
- dir = 1
+"aEV" = (
+/obj/item/radio/intercom/directional/south,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
+ dir = 4
},
-/turf/open/floor/grass,
-/area/station/service/chapel)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance)
"aFh" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
},
/turf/open/floor/plating/airless,
/area/station/science/ordnance/bomb)
+"aFj" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/closed/wall/r_wall,
+/area/station/science/ordnance)
"aFo" = (
/obj/effect/spawner/random/engineering/tracking_beacon,
/turf/open/floor/plating/airless,
@@ -1645,46 +1760,22 @@
},
/turf/open/space/basic,
/area/space/nearstation)
+"aFP" = (
+/obj/effect/turf_decal/siding/wood,
+/obj/structure/closet/l3closet/janitor,
+/obj/item/clothing/gloves/color/orange,
+/obj/item/clothing/shoes/galoshes,
+/obj/structure/sign/poster/official/random/directional/north,
+/turf/open/floor/iron/small,
+/area/station/service/janitor)
"aFR" = (
/turf/open/floor/plating,
/area/station/security/tram)
-"aFY" = (
-/obj/machinery/firealarm/directional/north,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/stairs{
- dir = 8
- },
-/area/station/science/xenobiology)
"aGa" = (
/obj/structure/lattice/catwalk,
/obj/structure/marker_beacon/fuchsia,
/turf/open/space/basic,
/area/space/nearstation)
-"aGb" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/window/reinforced/spawner/directional/east,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/dark/side{
- dir = 4
- },
-/area/station/science/ordnance/testlab)
-"aGq" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
-"aGv" = (
-/obj/machinery/firealarm/directional/west,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/command/heads_quarters/rd)
"aGy" = (
/obj/structure/flora/bush/large/style_random{
pixel_y = -3
@@ -1699,25 +1790,23 @@
},
/turf/open/misc/sandy_dirt,
/area/station/security/tram)
-"aGH" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/duct,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating,
-/area/station/maintenance/central/lesser)
-"aGR" = (
-/obj/structure/cable,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron,
-/area/station/maintenance/department/science/xenobiology)
"aGU" = (
/obj/machinery/light/small/directional/west,
/turf/open/floor/iron,
/area/station/maintenance/port/aft)
+"aHj" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/structure/table,
+/obj/item/stock_parts/subspace/ansible,
+/obj/item/stock_parts/subspace/ansible,
+/obj/item/stock_parts/subspace/ansible,
+/obj/item/stock_parts/subspace/crystal,
+/obj/item/stock_parts/subspace/crystal,
+/obj/item/stock_parts/subspace/crystal,
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/engineering/storage/tcomms)
"aHl" = (
/obj/structure/railing/corner,
/obj/structure/disposalpipe/segment,
@@ -1736,24 +1825,41 @@
/obj/machinery/light/small/directional/east,
/turf/open/floor/iron,
/area/station/construction/mining/aux_base)
+"aHF" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/iron/white/side{
+ dir = 8
+ },
+/area/station/science/lower)
"aHJ" = (
/obj/structure/window/spawner/directional/north,
/obj/machinery/hydroponics/soil,
/obj/machinery/airalarm/directional/west,
/turf/open/floor/grass,
/area/station/security/prison/garden)
-"aHV" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white,
-/area/station/science/cytology)
"aIb" = (
/obj/machinery/door/airlock{
name = "Maintenance"
},
/turf/open/floor/plating,
/area/station/maintenance/central/lesser)
+"aIf" = (
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/obj/effect/turf_decal/tile/purple/opposingcorners,
+/obj/effect/turf_decal/siding/green{
+ dir = 8
+ },
+/obj/machinery/firealarm/directional/west,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/cafeteria,
+/area/station/science/circuits)
"aIi" = (
/obj/machinery/door/airlock/public/glass{
name = "Library"
@@ -1790,6 +1896,18 @@
/obj/machinery/firealarm/directional/west,
/turf/open/floor/iron/white/small,
/area/station/medical/psychology)
+"aIF" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/neutral/line,
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
"aIO" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -1835,6 +1953,11 @@
},
/turf/open/floor/iron/small,
/area/station/maintenance/port/lesser)
+"aJJ" = (
+/obj/machinery/firealarm/directional/east,
+/obj/machinery/vending/cigarette,
+/turf/open/floor/iron/smooth,
+/area/station/hallway/secondary/command)
"aJP" = (
/obj/structure/disposalpipe/segment{
dir = 8
@@ -1853,26 +1976,14 @@
/obj/machinery/power/apc/auto_name/directional/south,
/turf/open/floor/iron/smooth,
/area/station/security/evidence)
-"aJX" = (
+"aKl" = (
+/obj/structure/disposalpipe/segment,
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/catwalk_floor/iron_dark,
-/area/station/science/xenobiology)
-"aJZ" = (
-/obj/machinery/door/airlock/engineering{
- name = "Auxillary Base Construction"
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/aux_base,
-/obj/machinery/door/firedoor,
-/obj/effect/landmark/navigate_destination,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/textured_half{
- dir = 8
- },
-/area/station/construction/mining/aux_base)
+/obj/structure/sign/warning/radiation/rad_area/directional/east,
+/turf/open/floor/iron,
+/area/station/maintenance/hallway/abandoned_command)
"aKm" = (
/obj/structure/lattice,
/obj/machinery/atmospherics/pipe/smart/simple/orange{
@@ -1884,24 +1995,30 @@
/obj/machinery/holopad,
/turf/open/floor/iron/dark/small,
/area/station/tcommsat/server)
-"aKJ" = (
-/obj/machinery/door/airlock{
- name = "Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 4
- },
-/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
-/obj/effect/mapping_helpers/airlock/unres{
- dir = 4
- },
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/aft)
"aKS" = (
/obj/machinery/light/small/directional/west,
/turf/open/floor/iron/dark/small,
/area/station/hallway/secondary/dock)
+"aLg" = (
+/obj/effect/turf_decal/siding/white{
+ dir = 4
+ },
+/obj/machinery/requests_console/directional/east{
+ department = "Xenobiology";
+ name = "Xenobiology Requests Console"
+ },
+/obj/effect/mapping_helpers/requests_console/ore_update,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/small,
+/area/station/science/xenobiology)
+"aLi" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron/dark,
+/area/station/science/genetics)
"aLk" = (
/obj/structure/cable,
/obj/effect/turf_decal/siding/dark_red{
@@ -1923,10 +2040,6 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/construction/mining/aux_base)
-"aLs" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron,
-/area/station/hallway/primary/port)
"aLv" = (
/obj/structure/transport/linear/tram,
/obj/effect/turf_decal/stripes/white/line{
@@ -1938,6 +2051,12 @@
/obj/structure/tram,
/turf/open/floor/tram,
/area/station/maintenance/port/aft)
+"aLA" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/hallway/secondary/dock)
"aLB" = (
/obj/structure/window/reinforced/spawner/directional/south,
/obj/machinery/camera/autoname/directional/north,
@@ -1950,16 +2069,18 @@
/obj/machinery/airalarm/directional/east,
/turf/open/floor/iron/small,
/area/station/hallway/secondary/service)
-"aLC" = (
-/obj/machinery/camera/autoname/directional/east,
-/obj/machinery/light/cold/directional/east,
-/obj/machinery/power/apc/auto_name/directional/east{
- areastring = "/area/station/science/ordnance/burnchamber"
+"aLI" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 4
},
-/obj/machinery/atmospherics/pipe/smart/simple/dark/visible,
-/obj/structure/cable,
+/turf/open/floor/iron/small,
+/area/station/commons/fitness/locker_room)
+"aLK" = (
+/obj/machinery/vending/assist,
+/obj/machinery/light/small/directional/north,
/turf/open/floor/iron/dark,
-/area/station/science/ordnance)
+/area/station/engineering/storage/tech)
"aLS" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/disposalpipe/segment,
@@ -1974,6 +2095,14 @@
},
/turf/open/floor/plating/airless,
/area/station/science/ordnance/bomb)
+"aLV" = (
+/obj/structure/table/wood,
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/obj/effect/spawner/random/entertainment/dice,
+/turf/open/floor/wood/large,
+/area/station/maintenance/department/science/xenobiology)
"aMa" = (
/obj/item/bodypart/leg/left,
/turf/open/floor/plating/airless,
@@ -1987,13 +2116,39 @@
},
/turf/open/floor/plating/airless,
/area/station/science/ordnance/bomb)
-"aMp" = (
+"aMt" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/chapel{
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/trimline/neutral/line{
dir = 4
},
-/area/station/maintenance/starboard/greater)
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
+"aMy" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/layer_manifold/supply/visible,
+/turf/open/floor/plating,
+/area/station/science/ordnance/testlab)
+"aMC" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 10
+ },
+/obj/machinery/light/small/broken/directional/south,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/wood,
+/area/station/service/abandoned_gambling_den)
+"aMH" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/science/cytology)
"aMI" = (
/obj/machinery/mineral/ore_redemption{
dir = 4;
@@ -2040,6 +2195,17 @@
/obj/structure/sign/warning/pods/directional/north,
/turf/open/floor/plating,
/area/station/maintenance/department/electrical)
+"aNy" = (
+/obj/structure/window/reinforced/spawner/directional/south,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/cable,
+/turf/open/floor/iron/dark/side{
+ dir = 1
+ },
+/area/station/science/xenobiology)
"aNE" = (
/obj/machinery/computer/cargo{
dir = 4
@@ -2072,18 +2238,6 @@
/obj/machinery/camera/directional/west,
/turf/open/floor/iron,
/area/station/engineering/atmos/project)
-"aNX" = (
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/corner{
- dir = 1
- },
-/area/station/hallway/secondary/entry)
"aNZ" = (
/obj/effect/turf_decal/tile/red{
dir = 8
@@ -2120,16 +2274,6 @@
/obj/machinery/camera/autoname/directional/south,
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
-"aOz" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/turf_decal/siding/purple{
- dir = 8
- },
-/obj/machinery/holopad,
-/obj/machinery/light/floor,
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/science/genetics)
"aOX" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 6
@@ -2145,6 +2289,13 @@
},
/turf/open/floor/iron/dark,
/area/station/medical/medbay/aft)
+"aPp" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/central)
"aPx" = (
/obj/structure/chair{
dir = 1
@@ -2169,13 +2320,6 @@
},
/turf/open/floor/plating/airless,
/area/station/science/ordnance/bomb)
-"aPK" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/neutral,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"aPM" = (
/obj/structure/chair/sofa/bench/right,
/obj/machinery/firealarm/directional/north,
@@ -2188,11 +2332,12 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/fore/greater)
-"aPX" = (
-/obj/machinery/holopad,
-/obj/structure/cable,
-/turf/open/floor/iron/smooth_large,
-/area/station/science/robotics/mechbay)
+"aQd" = (
+/obj/structure/reagent_dispensers/fueltank,
+/obj/effect/turf_decal/delivery,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/maintenance/department/science/xenobiology)
"aQf" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -2202,27 +2347,10 @@
},
/turf/open/floor/plating,
/area/station/maintenance/hallway/abandoned_command)
-"aQl" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/camera/directional/west,
-/turf/open/floor/iron/white/side{
- dir = 8
- },
-/area/station/science/research)
"aQm" = (
/obj/structure/window/reinforced/spawner/directional/west,
/turf/open/floor/iron/dark/small,
/area/station/security/checkpoint/customs)
-"aQr" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/medical/cryo)
"aQx" = (
/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden,
/obj/effect/turf_decal/tile/yellow,
@@ -2245,6 +2373,26 @@
/obj/effect/turf_decal/siding/wideplating/dark/corner,
/turf/open/floor/iron,
/area/station/security)
+"aQJ" = (
+/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms,
+/obj/machinery/door/airlock/command/glass{
+ name = "Telecommunications Server Room"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "comms-entrance-south"
+ },
+/obj/structure/cable,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/station/tcommsat/server)
+"aQL" = (
+/obj/structure/extinguisher_cabinet/directional/east,
+/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/turf/open/floor/iron/white/small,
+/area/station/science/ordnance/storage)
"aQX" = (
/obj/effect/turf_decal/siding/wideplating{
dir = 4
@@ -2257,17 +2405,6 @@
},
/turf/open/floor/engine,
/area/station/science/cytology)
-"aRa" = (
-/obj/structure/disposalpipe/trunk{
- dir = 8
- },
-/obj/machinery/disposal/bin,
-/obj/effect/turf_decal/tile/red{
- dir = 4
- },
-/obj/machinery/light/small/directional/north,
-/turf/open/floor/iron/cafeteria,
-/area/station/hallway/secondary/exit/departure_lounge)
"aRo" = (
/obj/effect/turf_decal/trimline/white/line{
dir = 4
@@ -2277,12 +2414,12 @@
},
/turf/open/floor/wood,
/area/station/commons/fitness/recreation)
-"aRv" = (
-/obj/machinery/camera/autoname/directional/north,
+"aRw" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/commons/dorms)
+/turf/open/floor/iron/chapel{
+ dir = 4
+ },
+/area/station/maintenance/starboard/greater)
"aRx" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible,
/obj/structure/cable,
@@ -2291,6 +2428,14 @@
},
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
+"aRA" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/obj/effect/decal/cleanable/cobweb,
+/obj/machinery/light/small/directional/north,
+/turf/open/floor/iron,
+/area/station/science/xenobiology)
"aRC" = (
/obj/structure/table,
/obj/item/flashlight/lamp/green{
@@ -2311,12 +2456,6 @@
/obj/effect/turf_decal/trimline/neutral/end,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"aRT" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/newscaster/directional/west,
-/obj/structure/sign/poster/official/soft_cap_pop_art/directional/north,
-/turf/open/floor/iron/grimy,
-/area/station/commons/vacant_room/office)
"aSt" = (
/obj/effect/spawner/random/structure/closet_private,
/obj/machinery/light/small/directional/north,
@@ -2343,6 +2482,15 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"aSX" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/broken_flooring/singular/directional/east,
+/obj/structure/steam_vent,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/aft)
"aTb" = (
/obj/structure/toilet{
dir = 4
@@ -2364,6 +2512,19 @@
"aTg" = (
/turf/open/floor/iron/kitchen/small,
/area/station/service/kitchen)
+"aTh" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
+ },
+/obj/effect/landmark/start/assistant,
+/turf/open/floor/wood/tile,
+/area/station/service/bar)
"aTn" = (
/obj/effect/spawner/random/structure/crate,
/obj/effect/spawner/random/maintenance,
@@ -2428,6 +2589,11 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/catwalk_floor,
/area/station/engineering/main)
+"aUg" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/obj/effect/landmark/start/cargo_technician,
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
"aUA" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -2438,6 +2604,13 @@
/obj/machinery/vending/wardrobe/robo_wardrobe,
/turf/open/floor/catwalk_floor/iron_white,
/area/station/science/robotics/augments)
+"aUH" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/iron/smooth,
+/area/station/hallway/secondary/command)
"aUJ" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -2450,6 +2623,24 @@
},
/turf/open/floor/stone,
/area/station/command/heads_quarters/hos)
+"aVa" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/siding/white{
+ dir = 4
+ },
+/obj/machinery/airalarm/directional/east,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/small,
+/area/station/science/xenobiology)
+"aVu" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/iron/smooth,
+/area/station/hallway/secondary/command)
"aVA" = (
/obj/structure/closet/secure_closet/freezer/empty,
/obj/item/food/grown/tomato{
@@ -2486,11 +2677,11 @@
},
/turf/open/floor/iron/kitchen/small,
/area/station/service/kitchen)
-"aVF" = (
+"aVL" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/cleanable/dirt/dust,
-/turf/open/floor/wood/large,
-/area/station/maintenance/department/science/xenobiology)
+/obj/machinery/firealarm/directional/south,
+/turf/open/floor/iron/grimy,
+/area/station/commons/vacant_room/office)
"aVT" = (
/obj/machinery/door/airlock/research/glass/incinerator/ordmix_interior,
/obj/effect/mapping_helpers/airlock/locked,
@@ -2554,32 +2745,25 @@
},
/turf/open/floor/plating,
/area/station/maintenance/department/electrical)
-"aWz" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/dock)
"aWA" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
/turf/open/floor/iron/small,
/area/station/engineering/break_room)
-"aWB" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/aft)
-"aXi" = (
-/obj/effect/decal/cleanable/dirt,
+"aWV" = (
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/landmark/start/hangover,
/turf/open/floor/iron,
-/area/station/maintenance/department/science/xenobiology)
+/area/station/hallway/primary/aft)
+"aXy" = (
+/obj/machinery/door/airlock/research/glass{
+ name = "Freezer"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/ordnance,
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible,
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance/freezerchamber)
"aXC" = (
/obj/structure/disposalpipe/segment{
dir = 6
@@ -2589,12 +2773,6 @@
"aXI" = (
/turf/closed/wall/r_wall,
/area/station/science/lobby)
-"aXT" = (
-/obj/machinery/duct,
-/obj/machinery/holopad,
-/obj/effect/landmark/event_spawn,
-/turf/open/floor/iron/white/small,
-/area/station/medical/storage)
"aXU" = (
/obj/structure/easel,
/obj/item/canvas/twentythree_twentythree,
@@ -2644,34 +2822,21 @@
/obj/structure/tram,
/turf/open/floor/tram,
/area/station/maintenance/port/aft)
-"aYJ" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 1
- },
-/obj/structure/rack,
-/obj/item/food/grown/grapes{
- pixel_y = 4;
- pixel_x = -5
- },
-/obj/item/food/grown/grapes{
- pixel_y = 4
- },
-/obj/item/food/grown/grapes{
- pixel_y = 2;
- pixel_x = 5
- },
-/turf/open/floor/wood/large,
-/area/station/maintenance/department/science/xenobiology)
-"aYN" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/obj/item/radio/intercom/command/directional/north,
-/obj/effect/turf_decal/siding/dark/corner,
-/turf/open/floor/iron/edge{
- dir = 8
+"aYw" = (
+/obj/structure/table/reinforced,
+/obj/item/storage/toolbox/electrical{
+ pixel_x = 1;
+ pixel_y = -1
},
+/obj/item/multitool,
+/obj/item/clothing/glasses/meson,
+/turf/open/floor/iron/dark,
/area/station/engineering/storage/tech)
+"aYR" = (
+/obj/structure/broken_flooring/singular/directional/east,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/greater)
"aYU" = (
/obj/structure/chair/wood{
dir = 8
@@ -2703,6 +2868,19 @@
/obj/effect/turf_decal/tile/brown/opposingcorners,
/turf/open/floor/iron/small,
/area/station/engineering/atmos/office)
+"aZq" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/engineering/storage/tech)
+"aZy" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/maintenance/department/medical/central)
"aZG" = (
/obj/effect/mapping_helpers/broken_floor,
/obj/effect/turf_decal/siding/wood{
@@ -2712,30 +2890,12 @@
/obj/structure/table/wood,
/turf/open/floor/iron/grimy,
/area/station/hallway/secondary/entry)
-"aZL" = (
+"aZU" = (
+/obj/machinery/portable_atmospherics/canister,
+/obj/machinery/atmospherics/components/unary/portables_connector/visible,
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/science/robotics/lab)
-"aZS" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/obj/effect/turf_decal/siding/dark{
- dir = 10
- },
-/obj/structure/cable,
-/turf/open/floor/iron/dark/textured,
-/area/station/command/meeting_room)
-"bah" = (
-/obj/structure/cable,
-/obj/machinery/keycard_auth/wall_mounted/directional/south,
-/obj/machinery/pdapainter{
- pixel_y = 2
- },
-/turf/open/floor/iron/dark/textured_corner{
- dir = 4
- },
-/area/station/command/heads_quarters/hop)
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance)
"bat" = (
/turf/open/floor/engine/n2o,
/area/station/ai_monitored/turret_protected/ai)
@@ -2751,15 +2911,6 @@
/obj/structure/alien/weeds,
/turf/open/misc/asteroid,
/area/station/maintenance/starboard/greater)
-"baJ" = (
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/neutral/opposingcorners,
-/obj/item/radio/intercom/directional/east,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"baO" = (
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/obj/effect/spawner/random/entertainment/arcade{
@@ -2781,6 +2932,25 @@
/obj/effect/spawner/structure/window/reinforced/plasma,
/turf/open/floor/plating,
/area/station/engineering/supermatter)
+"bbL" = (
+/obj/machinery/firealarm/directional/west,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
+"bbR" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 4
+ },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/turf_decal/siding/dark/corner{
+ dir = 8
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/edge{
+ dir = 4
+ },
+/area/station/engineering/storage/tech)
"bbT" = (
/obj/structure/chair/sofa/bench/left{
dir = 8
@@ -2807,13 +2977,6 @@
/obj/effect/turf_decal/stripes/end,
/turf/open/floor/plating/airless,
/area/station/science/ordnance/bomb)
-"bcv" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/door/firedoor,
-/turf/open/floor/iron/white/small,
-/area/station/medical/medbay/lobby)
"bcC" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -2828,13 +2991,15 @@
/obj/effect/turf_decal/tile/purple/opposingcorners,
/turf/open/floor/iron/cafeteria,
/area/station/science/circuits)
-"bcO" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/stairs{
+"bdb" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 8
},
-/area/station/science/xenobiology)
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 4
+ },
+/turf/open/floor/iron/small,
+/area/station/service/barber)
"bdi" = (
/obj/structure/cable,
/obj/effect/turf_decal/siding/wood,
@@ -2874,13 +3039,23 @@
},
/turf/open/floor/wood,
/area/station/service/chapel)
-"bey" = (
-/obj/machinery/holopad,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+"beC" = (
+/obj/machinery/door/airlock/research/glass{
+ name = "Xenobiology Kill Room"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/xenobio,
/obj/structure/cable,
-/turf/open/floor/iron/large,
-/area/station/engineering/storage/tech)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/catwalk_floor/iron,
+/area/station/science/xenobiology)
+"beJ" = (
+/obj/structure/bed/medical/emergency,
+/obj/machinery/iv_drip,
+/obj/effect/turf_decal/bot_white,
+/obj/machinery/light/small/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/medical/morgue)
"beK" = (
/turf/open/floor/iron/smooth,
/area/station/security/evidence)
@@ -2902,6 +3077,15 @@
/obj/machinery/light/warm/directional/west,
/turf/open/floor/iron/white,
/area/station/science/cytology)
+"bfl" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/side,
+/area/station/science/xenobiology)
"bfE" = (
/obj/effect/turf_decal/siding/green/end{
dir = 1
@@ -2952,6 +3136,11 @@
/obj/machinery/light_switch/directional/north,
/turf/open/floor/iron/grimy,
/area/station/service/library/private)
+"bgm" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/junction/flip,
+/turf/open/floor/iron/smooth,
+/area/station/hallway/secondary/command)
"bgn" = (
/obj/machinery/door/airlock/maintenance{
name = "Atmospherics Maintenance"
@@ -2994,31 +3183,12 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/maintenance/hallway/abandoned_command)
-"bgA" = (
-/obj/effect/turf_decal/siding/dark_blue{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark,
-/area/station/medical/morgue)
-"bgB" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical/central)
-"bgE" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/turf_decal/tile/yellow,
-/obj/effect/turf_decal/tile/red{
+"bgQ" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 4
},
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/hallway/primary/fore)
+/turf/open/floor/iron/dark/small,
+/area/station/tcommsat/server)
"bho" = (
/obj/effect/turf_decal/siding/wood/corner{
dir = 4
@@ -3026,6 +3196,16 @@
/obj/structure/hedge,
/turf/open/floor/iron/grimy,
/area/station/hallway/secondary/entry)
+"bhs" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/station/medical/cryo)
"bhv" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -3050,44 +3230,20 @@
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
-"biB" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/obj/structure/table/reinforced/rglass,
-/obj/item/reagent_containers/cup/glass/mug/nanotrasen{
- pixel_y = 6;
- pixel_x = -7
+"bhZ" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/blue/half/contrasted{
+ dir = 1
},
-/obj/item/storage/box/coffeepack{
- pixel_x = 8;
- pixel_y = 6
- },
-/obj/item/phone{
- desc = "Supposedly a direct line to Nanotrasen Central Command. It's not even plugged in.";
- pixel_x = 2;
- pixel_y = -2
- },
-/obj/effect/turf_decal/tile/blue/opposingcorners{
- dir = 8
- },
-/turf/open/floor/iron/checker,
-/area/station/command/bridge)
-"biM" = (
-/obj/machinery/holopad,
-/obj/structure/cable,
-/turf/open/floor/iron/white/small,
-/area/station/science/lobby)
+/turf/open/floor/iron/white,
+/area/station/medical/medbay/lobby)
"biV" = (
/obj/effect/turf_decal/delivery,
/obj/machinery/camera/autoname/directional/south,
/turf/open/floor/iron,
/area/station/cargo/miningfoundry)
-"biZ" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
"bja" = (
/obj/structure/railing/corner/end/flip{
dir = 8
@@ -3147,6 +3303,17 @@
"bjt" = (
/turf/open/floor/engine/vacuum,
/area/station/engineering/atmos)
+"bjz" = (
+/obj/effect/turf_decal/tile/blue,
+/obj/machinery/light/directional/north,
+/obj/structure/filingcabinet/chestdrawer{
+ pixel_y = 2
+ },
+/obj/machinery/status_display/evac/directional/north,
+/turf/open/floor/iron/dark/textured_edge{
+ dir = 1
+ },
+/area/station/command/heads_quarters/hop)
"bjL" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/structure/table,
@@ -3164,58 +3331,34 @@
"bjZ" = (
/turf/open/floor/tram,
/area/station/security/tram)
-"bka" = (
+"bkc" = (
+/obj/machinery/firealarm/directional/west,
+/obj/machinery/light/floor,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/yellow{
- dir = 8
- },
-/obj/structure/sign/departments/chemistry/pharmacy/directional/west,
-/turf/open/floor/iron/white/corner{
- dir = 1
- },
-/area/station/hallway/primary/aft)
+/turf/open/floor/iron/white/small,
+/area/station/science/cubicle)
"bkd" = (
/obj/structure/lattice/catwalk,
/obj/structure/marker_beacon/lime,
/turf/open/space/basic,
/area/space/nearstation)
-"bkg" = (
-/obj/effect/turf_decal/siding/thinplating_new/light{
- dir = 8
- },
-/obj/effect/landmark/event_spawn,
-/obj/machinery/light/floor,
-/obj/structure/cable,
-/turf/open/floor/iron/grimy,
-/area/station/science/cubicle)
"bkl" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
-"bkX" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
+"bla" = (
+/obj/effect/turf_decal/tile/red/opposingcorners{
+ dir = 1
},
-/turf/open/floor/iron,
-/area/station/hallway/secondary/dock)
-"bkY" = (
+/obj/effect/landmark/start/depsec/science,
+/obj/structure/cable,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 1
},
-/obj/machinery/requests_console/directional/west{
- department = "Chief Medical Officer's Desk";
- name = "Chief Medical Officer's Requests Console"
- },
-/obj/effect/mapping_helpers/requests_console/announcement,
-/obj/effect/mapping_helpers/requests_console/information,
-/obj/effect/mapping_helpers/requests_console/assistance,
-/turf/open/floor/wood/parquet,
-/area/station/command/heads_quarters/cmo)
+/turf/open/floor/iron,
+/area/station/security/checkpoint/science)
"blb" = (
/obj/structure/lattice,
/turf/open/space/basic,
@@ -3253,12 +3396,6 @@
/obj/effect/spawner/random/engineering/flashlight,
/turf/open/floor/iron,
/area/station/cargo/miningoffice)
-"blm" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark,
-/area/station/tcommsat/server)
"blt" = (
/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer4,
@@ -3271,6 +3408,16 @@
/obj/structure/closet/crate/miningcar,
/turf/open/floor/iron,
/area/station/hallway/secondary/dock)
+"blA" = (
+/obj/item/clothing/head/cone{
+ pixel_x = 6;
+ pixel_y = 17
+ },
+/obj/structure/broken_flooring/singular/directional/east,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/dock)
"blC" = (
/obj/effect/turf_decal/siding/thinplating,
/obj/effect/spawner/random/entertainment/arcade{
@@ -3278,36 +3425,40 @@
},
/turf/open/floor/eighties/red,
/area/station/hallway/primary/central/fore)
+"blF" = (
+/obj/structure/bodycontainer/morgue{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/small,
+/area/station/medical/morgue)
+"blJ" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/small,
+/area/station/science/ordnance/storage)
+"blN" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 4
+ },
+/turf/open/floor/iron/small,
+/area/station/service/barber)
"blP" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/commons/dorms)
-"bmr" = (
-/obj/machinery/telecomms/broadcaster/preset_right,
+"blW" = (
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
- dir = 9
- },
-/turf/open/floor/circuit,
-/area/station/tcommsat/server)
-"bmz" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/commons/fitness/locker_room)
-"bmA" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/yellow/opposingcorners,
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/open/floor/iron,
-/area/station/hallway/secondary/construction)
+/area/station/maintenance/department/medical/central)
"bmB" = (
/obj/effect/turf_decal/tile/blue/fourcorners,
/mob/living/basic/bot/medbot/autopatrol,
@@ -3349,23 +3500,11 @@
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
"bnd" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/engineering/storage/tech)
-"bnn" = (
-/obj/effect/turf_decal/tile/yellow{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red{
- dir = 8
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/obj/structure/closet/firecloset,
+/obj/machinery/status_display/evac/directional/north,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
-/area/station/hallway/primary/fore)
+/area/station/commons/dorms)
"bno" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -3379,12 +3518,6 @@
/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
-"bnr" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/alien/weeds,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/greater)
"bnz" = (
/obj/machinery/light_switch/directional/south,
/obj/structure/cable,
@@ -3422,13 +3555,6 @@
},
/turf/open/floor/iron/smooth,
/area/station/security/checkpoint/engineering)
-"bnX" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/turf/open/floor/iron/herringbone,
-/area/station/commons/dorms)
"bob" = (
/obj/structure/cable,
/obj/machinery/power/apc/auto_name/directional/south,
@@ -3508,6 +3634,11 @@
},
/turf/open/floor/plating,
/area/station/service/janitor)
+"boY" = (
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance)
"bpe" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/disposalpipe/segment,
@@ -3518,6 +3649,24 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/fore)
+"bpk" = (
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/obj/effect/turf_decal/siding/dark{
+ dir = 10
+ },
+/obj/structure/window/reinforced/spawner/directional/east,
+/obj/structure/tank_dispenser/oxygen{
+ pixel_x = -1;
+ pixel_y = 2
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/dark/smooth_corner{
+ dir = 4
+ },
+/area/station/ai_monitored/command/storage/eva)
"bpl" = (
/obj/machinery/flasher/directional/north{
id = "IsolationFlash"
@@ -3525,33 +3674,32 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/turf/open/floor/iron/white/small,
/area/station/security/execution/education)
-"bpo" = (
-/obj/structure/disposalpipe/segment{
+"bpO" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/maintenance_hatch{
+ name = "Construction Hatch"
+ },
+/obj/effect/mapping_helpers/airlock/access/any/engineering/construction,
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
dir = 4
},
-/obj/effect/decal/cleanable/dirt,
-/obj/item/clothing/head/cone{
- pixel_x = 6;
- pixel_y = -8
- },
-/obj/effect/decal/cleanable/blood,
-/obj/machinery/light/broken/directional/north,
/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/hallway/secondary/dock)
-"bpI" = (
-/obj/structure/table,
-/obj/item/storage/box/donkpockets,
-/obj/machinery/light/small/directional/west,
-/obj/machinery/power/apc/auto_name/directional/west,
-/obj/structure/cable,
-/turf/open/floor/iron/cafeteria,
-/area/station/science/breakroom)
"bpS" = (
/obj/item/kirbyplants/random/fullysynthetic,
/obj/item/radio/intercom/directional/north,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/virology)
+"bpW" = (
+/obj/machinery/door/airlock{
+ name = "Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/medical/coroner,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"bpY" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -3575,6 +3723,17 @@
/obj/structure/steam_vent,
/turf/open/floor/plating,
/area/station/security/prison/safe)
+"bqi" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/trunk,
+/obj/machinery/firealarm/directional/west,
+/obj/machinery/disposal/bin,
+/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/siding/blue{
+ dir = 9
+ },
+/turf/open/floor/iron/white/small,
+/area/station/command/heads_quarters/cmo)
"bqm" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/door/firedoor,
@@ -3590,14 +3749,6 @@
/obj/effect/spawner/random/engineering/atmospherics_portable,
/turf/open/floor/plating,
/area/station/maintenance/department/engine)
-"bqu" = (
-/obj/structure/table/reinforced,
-/obj/machinery/light_switch/directional/west,
-/obj/item/crowbar,
-/obj/item/wrench,
-/obj/item/pai_card,
-/turf/open/floor/iron/dark,
-/area/station/engineering/storage/tech)
"bqx" = (
/obj/structure/cable,
/turf/open/floor/iron/dark,
@@ -3632,6 +3783,12 @@
},
/turf/open/floor/iron/white/small,
/area/station/medical/virology)
+"bqM" = (
+/obj/structure/closet/secure_closet/engineering_personal,
+/obj/item/clothing/suit/hooded/wintercoat/engineering,
+/obj/structure/cable,
+/turf/open/floor/iron/small,
+/area/station/engineering/break_room)
"bqR" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/structure/closet/crate/mod,
@@ -3646,6 +3803,17 @@
/obj/machinery/airalarm/directional/north,
/turf/open/floor/iron/dark/small,
/area/station/service/chapel/storage)
+"brk" = (
+/obj/structure/rack,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/turf_decal/siding/brown{
+ dir = 1
+ },
+/obj/machinery/firealarm/directional/north,
+/obj/item/melee/chainofcommand,
+/obj/item/binoculars,
+/turf/open/floor/iron/smooth,
+/area/station/command/bridge)
"bro" = (
/obj/structure/frame/machine,
/turf/open/floor/tram,
@@ -3704,6 +3872,13 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
+"brQ" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/siding/wood,
+/turf/open/floor/iron/white/small,
+/area/station/medical/psychology)
"brZ" = (
/obj/machinery/door/airlock{
name = "Maintenance"
@@ -3728,14 +3903,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
-"bsv" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/turf/open/floor/iron/white,
-/area/station/medical/treatment_center)
"bsy" = (
/obj/machinery/camera/directional/east{
c_tag = "MiniSat Exterior - Fore Port";
@@ -3776,6 +3943,13 @@
/obj/structure/lattice,
/turf/open/space/basic,
/area/space/nearstation)
+"btA" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/chair{
+ pixel_y = -2
+ },
+/turf/open/floor/iron,
+/area/station/commons/fitness/locker_room)
"btG" = (
/obj/structure/rack,
/obj/effect/turf_decal/delivery/white,
@@ -3830,33 +4004,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/security)
-"buk" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 1
- },
-/obj/effect/turf_decal/trimline/neutral/line,
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
-"buA" = (
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/corner{
- dir = 8
- },
-/area/station/science/xenobiology)
"buI" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -3880,6 +4027,14 @@
/obj/machinery/bluespace_vendor/directional/south,
/turf/open/floor/iron,
/area/station/commons/fitness/locker_room)
+"buK" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/stairs{
+ dir = 8
+ },
+/area/station/command/bridge)
"buU" = (
/obj/structure/table,
/obj/item/stack/sheet/iron/five,
@@ -3891,12 +4046,21 @@
/obj/machinery/light_switch/directional/south,
/turf/open/floor/iron,
/area/station/commons/vacant_room/commissary)
-"buV" = (
-/obj/effect/turf_decal/tile/green/half/contrasted{
+"buZ" = (
+/obj/structure/cable,
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
+"bvd" = (
+/obj/machinery/firealarm/directional/east,
+/obj/effect/turf_decal/siding/corner{
dir = 4
},
-/turf/open/floor/iron/dark,
-/area/station/medical/chemistry)
+/obj/structure/cable,
+/turf/open/floor/iron/white,
+/area/station/science/cytology)
"bvh" = (
/obj/structure/chair/sofa/bench/right{
dir = 8
@@ -3919,27 +4083,32 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/white/small,
/area/station/security/warden)
-"bvP" = (
-/obj/effect/mapping_helpers/airlock/access/all/service/kitchen,
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden,
-/obj/machinery/door/airlock{
- name = "Maintenance"
+"bvX" = (
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/landmark/start/roboticist,
+/obj/machinery/conveyor_switch/oneway{
+ id = "fab1";
+ pixel_x = 10;
+ pixel_y = 11
},
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/plating,
-/area/station/maintenance/central/greater)
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/science/robotics/lab)
"bwz" = (
/obj/effect/spawner/random/entertainment/arcade,
/obj/machinery/light/cold/directional/north,
/turf/open/floor/iron/cafeteria,
/area/station/security/prison/mess)
-"bwT" = (
+"bwU" = (
/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/brown/opposingcorners{
+ dir = 1
+ },
/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
+/area/station/cargo/office)
"bwW" = (
/obj/structure/table/reinforced,
/obj/effect/turf_decal/siding/yellow{
@@ -3967,31 +4136,15 @@
/obj/item/cigarette/rollie,
/turf/open/floor/iron/dark/smooth_large,
/area/station/maintenance/central/lesser)
-"bxl" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/weather/snow,
-/obj/machinery/food_cart,
-/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
-/area/station/service/kitchen/coldroom)
-"bxB" = (
+"bxS" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
/obj/effect/turf_decal/stripes/line,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/diagonal,
-/area/station/ai_monitored/command/storage/eva)
-"bxI" = (
-/obj/structure/disposalpipe/sorting/mail/flip{
- dir = 8
- },
-/obj/effect/mapping_helpers/mail_sorting/science/robotics,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side{
- dir = 6
- },
-/area/station/science/lower)
+/obj/machinery/light/directional/south,
+/obj/machinery/airalarm/directional/south,
+/obj/effect/mapping_helpers/airalarm/engine_access,
+/obj/effect/mapping_helpers/airalarm/tlv_no_checks,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"bxT" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/landmark/navigate_destination/dockescpod,
@@ -4001,21 +4154,12 @@
},
/turf/open/floor/plating,
/area/station/maintenance/starboard/central)
-"bxY" = (
-/obj/effect/turf_decal/tile/dark_red/fourcorners,
-/obj/machinery/vending/wardrobe/sec_wardrobe,
-/turf/open/floor/iron/smooth,
-/area/station/security/checkpoint/customs)
-"byq" = (
+"byk" = (
+/obj/effect/turf_decal/siding/thinplating_new/light,
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/iron/smooth,
-/area/station/command/bridge)
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/turf/open/floor/iron/smooth_large,
+/area/station/science/robotics/mechbay)
"byt" = (
/obj/effect/turf_decal/sand/plating,
/turf/open/floor/plating,
@@ -4031,21 +4175,6 @@
},
/turf/open/floor/iron,
/area/station/security/brig/entrance)
-"byx" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/machinery/status_display/evac/directional/north,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/corner{
- dir = 1
- },
-/area/station/hallway/secondary/dock)
"byD" = (
/obj/effect/turf_decal/stripes/asteroid/end,
/turf/open/floor/circuit/green,
@@ -4056,15 +4185,6 @@
},
/turf/open/floor/iron,
/area/station/maintenance/hallway/abandoned_command)
-"byR" = (
-/obj/effect/turf_decal/tile/neutral/opposingcorners,
-/obj/structure/disposalpipe/segment,
-/obj/item/radio/intercom/directional/west,
-/obj/effect/landmark/start/hangover,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/commons/fitness/recreation/entertainment)
"byU" = (
/obj/effect/mapping_helpers/broken_floor,
/obj/effect/decal/cleanable/dirt,
@@ -4081,6 +4201,15 @@
},
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
+"bzi" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/central/lesser)
"bzj" = (
/obj/machinery/rnd/production/techfab/department/service,
/obj/effect/turf_decal/tile/neutral/opposingcorners{
@@ -4092,13 +4221,6 @@
/obj/effect/turf_decal/delivery,
/turf/open/floor/iron/small,
/area/station/hallway/secondary/service)
-"bzm" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/side,
-/area/station/science/xenobiology)
"bzF" = (
/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -4132,25 +4254,13 @@
/obj/effect/spawner/random/trash,
/turf/open/floor/iron,
/area/station/maintenance/department/medical/central)
-"bAI" = (
-/obj/structure/table/wood,
-/obj/item/reagent_containers/cup/glass/mug{
- pixel_x = 6;
- pixel_y = 4
+"bBe" = (
+/obj/effect/turf_decal/siding/thinplating_new/light{
+ dir = 8
},
-/obj/item/storage/fancy/cigarettes/cigpack_shadyjims{
- pixel_x = -6;
- pixel_y = 3
- },
-/obj/effect/spawner/random/entertainment/lighter,
-/turf/open/floor/iron/grimy,
-/area/station/commons/vacant_room/office)
-"bAT" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 1
- },
-/turf/open/floor/wood,
-/area/station/hallway/secondary/entry)
+/obj/structure/cable,
+/turf/open/floor/iron/smooth_large,
+/area/station/science/robotics/mechbay)
"bBh" = (
/obj/effect/turf_decal/weather/dirt{
dir = 1
@@ -4177,13 +4287,6 @@
/obj/machinery/door/window/brigdoor/right/directional/north,
/turf/open/floor/iron/dark,
/area/station/security/processing)
-"bBr" = (
-/obj/item/radio/intercom/directional/west,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/small,
-/area/station/science/cubicle)
"bBL" = (
/obj/effect/landmark/start/cook,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -4231,6 +4334,14 @@
dir = 1
},
/area/station/hallway/secondary/construction)
+"bCB" = (
+/obj/effect/turf_decal/tile/purple/opposingcorners,
+/obj/effect/turf_decal/siding/green/corner{
+ dir = 1
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/cafeteria,
+/area/station/science/circuits)
"bCG" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -4247,15 +4358,6 @@
/obj/machinery/firealarm/directional/north,
/turf/open/floor/iron,
/area/station/commons/fitness/locker_room)
-"bCQ" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/science/lower)
"bDg" = (
/obj/machinery/atmospherics/components/binary/pump{
dir = 1
@@ -4283,42 +4385,12 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"bDj" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
- dir = 9
- },
-/obj/effect/landmark/start/medical_doctor,
-/turf/open/floor/iron/dark,
-/area/station/medical/cryo)
"bDq" = (
/obj/structure/table,
/obj/item/shovel,
/obj/structure/alien/weeds,
/turf/open/misc/asteroid,
/area/station/maintenance/starboard/greater)
-"bDr" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/trimline/blue/filled/corner{
- dir = 1
- },
-/turf/open/floor/iron/white,
-/area/station/medical/treatment_center)
-"bDD" = (
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/obj/effect/turf_decal/tile/purple/opposingcorners,
-/obj/effect/turf_decal/siding/green{
- dir = 8
- },
-/obj/machinery/firealarm/directional/west,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/cafeteria,
-/area/station/science/circuits)
"bDN" = (
/obj/structure/disposalpipe/segment,
/obj/effect/turf_decal/tile/brown/half/contrasted{
@@ -4326,13 +4398,6 @@
},
/turf/open/floor/iron,
/area/station/cargo/sorting)
-"bDQ" = (
-/obj/effect/turf_decal/trimline/yellow/filled/line{
- dir = 1
- },
-/obj/machinery/light/no_nightlight/directional/north,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/project)
"bEd" = (
/obj/effect/spawner/random/structure/crate,
/obj/effect/mapping_helpers/broken_floor,
@@ -4356,6 +4421,18 @@
},
/turf/closed/wall,
/area/station/hallway/secondary/entry)
+"bEA" = (
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/corner{
+ dir = 1
+ },
+/area/station/hallway/secondary/entry)
"bEB" = (
/obj/machinery/vending/cigarette,
/obj/structure/extinguisher_cabinet/directional/north,
@@ -4385,6 +4462,15 @@
dir = 1
},
/area/station/hallway/secondary/entry)
+"bER" = (
+/obj/structure/broken_flooring/pile/directional/east,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light/small/directional/south,
+/obj/structure/alien/weeds,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/greater)
"bEW" = (
/obj/effect/spawner/structure/window/reinforced/shuttle,
/turf/open/floor/plating,
@@ -4397,12 +4483,6 @@
},
/turf/open/floor/iron/dark,
/area/station/science/ordnance/testlab)
-"bFt" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/commons/dorms)
"bFw" = (
/obj/machinery/telecomms/server/presets/science,
/turf/open/floor/circuit,
@@ -4424,24 +4504,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/department/engine/atmos)
-"bFU" = (
-/obj/machinery/door/airlock/public/glass{
- name = "Research Wing"
- },
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/white/textured_half{
- dir = 1
- },
-/area/station/hallway/primary/starboard)
-"bFW" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/aft)
"bGe" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -4452,20 +4514,6 @@
},
/turf/open/floor/iron/cafeteria,
/area/station/science/circuits)
-"bGi" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/firealarm/directional/south,
-/turf/open/floor/iron/grimy,
-/area/station/commons/vacant_room/office)
-"bGk" = (
-/obj/item/radio/intercom/directional/east,
-/obj/effect/turf_decal/siding/dark_blue/corner{
- dir = 4
- },
-/obj/structure/mannequin/skeleton,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark,
-/area/station/medical/morgue)
"bGn" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/line{
@@ -4473,6 +4521,18 @@
},
/turf/open/floor/plating,
/area/station/hallway/secondary/construction)
+"bGp" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/plasticflaps/opaque,
+/obj/machinery/navbeacon{
+ codes_txt = "delivery;dir=4";
+ location = "Research"
+ },
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/central)
"bGq" = (
/obj/machinery/porta_turret/ai,
/obj/machinery/computer/security/telescreen/minisat/directional/east,
@@ -4509,6 +4569,20 @@
/obj/machinery/chem_heater/withbuffer,
/turf/open/floor/iron/dark,
/area/station/medical/pharmacy)
+"bHg" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"bHp" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/closet/crate,
@@ -4548,13 +4622,6 @@
/obj/effect/landmark/start/scientist,
/turf/open/floor/iron,
/area/station/science/ordnance/testlab)
-"bHF" = (
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/aft)
"bHU" = (
/obj/effect/turf_decal/siding/wood,
/obj/machinery/camera/autoname/directional/south,
@@ -4582,12 +4649,23 @@
/obj/structure/cable,
/turf/open/floor/wood,
/area/station/command/heads_quarters/qm)
+"bIz" = (
+/obj/machinery/camera/directional/east{
+ c_tag = "Xenobiology Lab - Test Chamber";
+ network = list("ss13","rd","xeno")
+ },
+/turf/open/floor/engine/bz,
+/area/station/science/xenobiology)
"bIJ" = (
/obj/effect/turf_decal/weather/dirt{
dir = 4
},
/turf/open/floor/grass,
/area/station/service/chapel)
+"bIM" = (
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/iron,
+/area/station/maintenance/department/science/xenobiology)
"bIN" = (
/obj/structure/chair/stool/bar/directional/north,
/obj/effect/turf_decal/siding/wood{
@@ -4602,6 +4680,21 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/maintenance/fore/greater)
+"bJp" = (
+/obj/machinery/door/airlock{
+ name = "Law Office Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/access/any/service/lawyer,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/lesser)
+"bJw" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/broken_flooring/singular/directional/south,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/maintenance/starboard/aft)
"bJx" = (
/obj/effect/turf_decal/siding/wood/corner{
dir = 4
@@ -4616,6 +4709,15 @@
},
/turf/open/floor/plating,
/area/station/maintenance/department/engine/atmos)
+"bJQ" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/turf_decal/siding/purple{
+ dir = 8
+ },
+/obj/structure/filingcabinet/chestdrawer,
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/rd)
"bJZ" = (
/obj/structure/chair/stool/directional/south,
/turf/open/floor/iron,
@@ -4625,6 +4727,13 @@
/obj/machinery/incident_display/tram/directional/north,
/turf/open/floor/iron,
/area/station/maintenance/port/aft)
+"bKk" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
"bKl" = (
/obj/structure/railing/corner{
dir = 8
@@ -4632,6 +4741,19 @@
/obj/effect/turf_decal/siding/wideplating,
/turf/open/floor/wood,
/area/station/engineering/main)
+"bKp" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/spawner/random/trash,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/central)
+"bKq" = (
+/obj/machinery/photocopier,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/airalarm/directional/north,
+/turf/open/floor/iron/grimy,
+/area/station/commons/vacant_room/office)
"bKv" = (
/obj/structure/flora/tree/jungle/style_4,
/obj/effect/turf_decal/weather/dirt,
@@ -4685,6 +4807,25 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/starboard/greater)
+"bKW" = (
+/obj/structure/cable,
+/obj/machinery/door/airlock{
+ name = "Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/access/any/security/general,
+/turf/open/floor/plating,
+/area/station/maintenance/central/lesser)
+"bLh" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/aft)
"bLp" = (
/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
dir = 4
@@ -4700,6 +4841,17 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating,
/area/station/cargo/office)
+"bLK" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 9
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/simple/dark/hidden,
+/turf/open/floor/wood/tile,
+/area/station/tcommsat/server)
"bLS" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -4717,40 +4869,17 @@
/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
/turf/open/floor/plating,
/area/station/service/library)
-"bLT" = (
-/obj/structure/window/reinforced/spawner/directional/south,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/turf_decal/stripes/line,
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/science/xenobiology)
"bMc" = (
/obj/structure/table,
/obj/item/rcl/pre_loaded,
/obj/machinery/light/small/directional/south,
/turf/open/floor/iron,
/area/station/commons/storage/art)
-"bMn" = (
-/obj/effect/turf_decal/weather/snow,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/heat_exchanging/junction{
- dir = 4
- },
-/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
-/area/station/service/kitchen/coldroom)
-"bMU" = (
-/obj/structure/rack,
-/obj/effect/spawner/random/techstorage/command_all,
-/obj/effect/turf_decal/siding/dark{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/engineering/storage/tech)
+"bMH" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/hallway/secondary/dock)
"bMV" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -4760,12 +4889,16 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
-"bMW" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/obj/machinery/iv_drip,
-/obj/machinery/light/small/directional/west,
-/turf/open/floor/iron/showroomfloor,
-/area/station/medical/virology)
+"bNb" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/door/airlock/public/glass{
+ name = "Lockers"
+ },
+/turf/open/floor/iron/textured_half{
+ dir = 8
+ },
+/area/station/commons/fitness/locker_room)
"bNd" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/machinery/modular_computer/preset/id{
@@ -4791,6 +4924,14 @@
/obj/structure/sign/poster/official/random/directional/north,
/turf/open/floor/iron,
/area/station/hallway/secondary/dock)
+"bNG" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/blue,
+/turf/open/floor/iron/dark/side{
+ dir = 4
+ },
+/area/station/hallway/primary/fore)
"bNL" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -4800,41 +4941,39 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
-"bNP" = (
-/obj/structure/broken_flooring/pile/directional/east,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/alien/weeds,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/greater)
-"bNQ" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/firealarm/directional/west,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/aft)
"bOa" = (
/obj/effect/turf_decal/sand/plating,
/obj/structure/frame/machine,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/station/maintenance/department/electrical)
+"bOb" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 4
+ },
+/obj/vehicle/ridden/wheelchair{
+ dir = 4
+ },
+/obj/structure/sign/departments/psychology/directional/south,
+/obj/machinery/camera/autoname/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/medical/medbay/lobby)
+"bOf" = (
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/obj/structure/filingcabinet/chestdrawer,
+/obj/effect/turf_decal/bot_white,
+/obj/machinery/newscaster/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/medical/morgue)
+"bOo" = (
+/obj/effect/turf_decal/siding/wood,
+/obj/structure/cable,
+/turf/open/floor/wood/tile,
+/area/station/service/lawoffice)
"bOG" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/closed/wall,
/area/station/service/kitchen)
-"bON" = (
-/obj/effect/turf_decal/siding/white{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/small,
-/area/station/science/xenobiology)
"bOR" = (
/obj/machinery/light/small/directional/west,
/obj/structure/flora/bush/flowers_yw,
@@ -4872,10 +5011,32 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/small,
/area/station/hallway/secondary/service)
+"bPO" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/status_display/ai/directional/south,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/dock)
"bPU" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/purple/visible,
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"bPY" = (
+/obj/structure/disposalpipe/sorting/mail/flip{
+ dir = 8
+ },
+/obj/effect/mapping_helpers/mail_sorting/science/xenobiology,
+/obj/machinery/camera/autoname/directional/north,
+/obj/machinery/light/cold/directional/north,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side,
+/area/station/science/lower)
"bQc" = (
/obj/structure/disposalpipe/segment{
dir = 9
@@ -4891,6 +5052,11 @@
/obj/structure/flora/grass/jungle/b/style_2,
/turf/open/misc/dirt/station,
/area/station/service/chapel)
+"bQh" = (
+/obj/effect/spawner/random/trash,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"bQi" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/engine,
@@ -4903,6 +5069,11 @@
/obj/machinery/computer/records/security,
/turf/open/floor/wood/tile,
/area/station/command/bridge)
+"bQs" = (
+/obj/machinery/holopad,
+/obj/effect/spawner/random/engineering/tracking_beacon,
+/turf/open/floor/iron,
+/area/station/security/courtroom)
"bQy" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -4914,6 +5085,31 @@
/obj/machinery/photobooth/security,
/turf/open/floor/iron,
/area/station/security/execution/transfer)
+"bQQ" = (
+/obj/effect/turf_decal/tile/neutral,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/recreation)
+"bQX" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/heat_exchanging/junction{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/station/tcommsat/server)
+"bRe" = (
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/effect/turf_decal/siding{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/small,
+/area/station/science/lobby)
"bRf" = (
/obj/effect/turf_decal/sand/plating,
/obj/effect/spawner/random/structure/steam_vent,
@@ -4939,13 +5135,6 @@
/obj/structure/alien/weeds,
/turf/open/floor/wood,
/area/station/maintenance/starboard/greater)
-"bRr" = (
-/obj/structure/chair{
- dir = 1
- },
-/obj/effect/turf_decal/siding/brown,
-/turf/open/floor/iron/smooth,
-/area/station/maintenance/port/aft)
"bRt" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -4954,6 +5143,11 @@
"bRA" = (
/turf/open/floor/catwalk_floor/iron_dark,
/area/station/cargo/lobby)
+"bRG" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/smooth_half,
+/area/station/hallway/primary/central/fore)
"bRK" = (
/obj/effect/turf_decal/siding/thinplating_new/light{
dir = 4
@@ -4995,6 +5189,13 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/department/prison)
+"bSL" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 5
+ },
+/obj/effect/spawner/random/vending/snackvend,
+/turf/open/floor/iron/grimy,
+/area/station/hallway/secondary/entry)
"bSX" = (
/obj/machinery/flasher/directional/east{
id = "AI";
@@ -5019,16 +5220,36 @@
},
/turf/open/floor/iron/textured_half,
/area/station/cargo/miningoffice)
+"bTG" = (
+/obj/effect/mapping_helpers/broken_floor,
+/obj/effect/landmark/start/cyborg,
+/obj/machinery/turretid{
+ control_area = "/area/station/ai_monitored/turret_protected/ai_upload";
+ icon_state = "control_stun";
+ name = "AI Upload Turret Control";
+ pixel_y = -28
+ },
+/obj/machinery/status_display/ai/directional/west,
+/obj/machinery/camera/autoname/directional/west,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/ai_monitored/turret_protected/ai_upload_foyer)
+"bTH" = (
+/obj/machinery/door/airlock/research/glass{
+ name = "Testing Chamber"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/ordnance,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/small,
+/area/station/science/ordnance/storage)
"bTI" = (
/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/incinerator_input,
/turf/open/floor/engine/vacuum,
/area/station/maintenance/disposal/incinerator)
-"bUq" = (
-/obj/structure/cable,
-/obj/item/reagent_containers/pill/maintenance,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating,
-/area/station/maintenance/port/fore)
"bUr" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/blue{
@@ -5037,15 +5258,6 @@
/obj/machinery/light/cold/directional/east,
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
-"bUD" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/machinery/power/apc/auto_name/directional/north,
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
"bUE" = (
/obj/effect/turf_decal/siding/wood{
dir = 6
@@ -5075,6 +5287,21 @@
/obj/machinery/portable_atmospherics/scrubber,
/turf/open/floor/plating,
/area/station/science/ordnance/storage)
+"bVE" = (
+/obj/structure/broken_flooring/corner/directional/south,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light/small/directional/north,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
+"bVH" = (
+/obj/machinery/firealarm/directional/east,
+/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/small,
+/area/station/science/ordnance/storage)
"bVI" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -5096,6 +5323,13 @@
/obj/effect/landmark/start/head_of_security,
/turf/open/floor/iron/small,
/area/station/security/office)
+"bVR" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/maintenance/starboard/greater)
"bWh" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -5137,6 +5371,14 @@
},
/turf/open/space/basic,
/area/space/nearstation)
+"bWn" = (
+/obj/structure/window/reinforced/spawner/directional/north,
+/obj/structure/sign/plaques/kiddie{
+ pixel_y = -4
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/ai_monitored/turret_protected/ai_upload)
"bWp" = (
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
@@ -5151,6 +5393,22 @@
/obj/machinery/chem_heater/withbuffer,
/turf/open/floor/iron,
/area/station/science/xenobiology)
+"bWD" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/recreation)
+"bWM" = (
+/obj/machinery/door/airlock{
+ name = "Abandoned Lab"
+ },
+/obj/structure/barricade/wooden,
+/obj/effect/mapping_helpers/airlock/access/all/science/xenobio,
+/turf/open/floor/plating,
+/area/station/science/xenobiology)
"bXi" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -5163,26 +5421,19 @@
dir = 8
},
/area/station/security/brig/entrance)
+"bXn" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/turf/open/floor/iron/white,
+/area/station/medical/treatment_center)
"bXu" = (
/obj/item/kirbyplants/random,
/obj/machinery/firealarm/directional/south,
/turf/open/floor/iron/dark,
/area/station/medical/cryo)
-"bXG" = (
-/obj/machinery/light_switch/directional/north,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/white/side{
- dir = 4
- },
-/area/station/science/robotics/augments)
-"bXH" = (
-/obj/structure/window/reinforced/spawner/directional/east,
-/obj/effect/turf_decal/tile/green/anticorner/contrasted{
- dir = 4
- },
-/obj/structure/closet/crate/bin,
-/turf/open/floor/iron/white,
-/area/station/medical/virology)
"bXO" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -5191,13 +5442,6 @@
},
/turf/open/floor/iron/white/small,
/area/station/medical/storage)
-"bXR" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/obj/structure/table/wood,
-/turf/open/floor/stone,
-/area/station/service/bar)
"bYf" = (
/obj/structure/reagent_dispensers/fueltank,
/obj/effect/turf_decal/stripes/line{
@@ -5209,6 +5453,11 @@
/obj/structure/flora/bush/flowers_yw/style_3,
/turf/open/floor/grass,
/area/station/service/chapel)
+"bYj" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden,
+/turf/open/floor/iron/dark,
+/area/station/science/server)
"bYk" = (
/obj/effect/spawner/random/engineering/tracking_beacon,
/turf/open/floor/iron/white/small,
@@ -5222,25 +5471,6 @@
dir = 1
},
/area/station/engineering/hallway)
-"bYo" = (
-/obj/structure/window/reinforced/spawner/directional/east,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/components/binary/pump{
- dir = 1
- },
-/turf/open/floor/iron/white/side{
- dir = 8
- },
-/area/station/science/xenobiology)
-"bYC" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
- },
-/turf/open/floor/iron/dark/small,
-/area/station/tcommsat/server)
"bYK" = (
/obj/effect/spawner/random/maintenance,
/obj/effect/decal/cleanable/dirt,
@@ -5267,22 +5497,19 @@
},
/turf/open/floor/iron/dark,
/area/station/medical/medbay/aft)
+"bZp" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"bZs" = (
/obj/structure/table,
/obj/item/reagent_containers/cup/glass/drinkingglass,
/obj/item/flashlight/flare/candle/infinite,
/turf/open/floor/iron/cafeteria,
/area/station/security/prison/mess)
-"bZt" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 10
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/simple/dark/hidden,
-/turf/open/floor/wood/tile,
-/area/station/tcommsat/server)
"bZy" = (
/obj/effect/landmark/start/ai/secondary,
/obj/item/radio/intercom/directional/west{
@@ -5306,15 +5533,6 @@
},
/turf/open/floor/circuit/red,
/area/station/ai_monitored/turret_protected/ai)
-"bZz" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/wood/parquet,
-/area/station/medical/psychology)
"bZN" = (
/obj/effect/turf_decal/siding/thinplating_new/light{
dir = 4
@@ -5327,6 +5545,20 @@
},
/turf/open/floor/plating,
/area/station/maintenance/department/engine)
+"bZY" = (
+/obj/machinery/light/small/directional/south,
+/obj/structure/sign/poster/greenscreen/directional/south,
+/turf/open/floor/wood/large,
+/area/station/command/heads_quarters/captain/private)
+"caa" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/side,
+/area/station/science/xenobiology)
"cam" = (
/obj/machinery/flasher/directional/east{
id = "AI";
@@ -5356,30 +5588,33 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
-"caG" = (
-/obj/effect/turf_decal/tile/blue{
+"caO" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/neutral/line{
dir = 8
},
-/obj/structure/table,
-/obj/item/reagent_containers/cup/beaker/large{
- pixel_x = 4;
- pixel_y = 4
- },
-/obj/item/storage/medkit{
- pixel_y = -2
- },
/turf/open/floor/iron,
-/area/station/maintenance/department/science/xenobiology)
-"caI" = (
-/obj/effect/decal/cleanable/glass,
-/obj/structure/cable,
-/turf/open/floor/eighties,
-/area/station/service/abandoned_gambling_den/gaming)
-"caK" = (
-/obj/structure/closet/secure_closet/personal,
-/obj/item/radio/intercom/directional/south,
-/turf/open/floor/iron,
-/area/station/commons/fitness/locker_room)
+/area/station/hallway/primary/central/fore)
+"caS" = (
+/obj/structure/table/bronze,
+/obj/item/food/grown/cannabis{
+ pixel_x = -11
+ },
+/obj/item/food/grown/cannabis{
+ pixel_x = -5;
+ pixel_y = 5
+ },
+/obj/machinery/light/small/directional/north,
+/obj/machinery/status_display/ai/directional/north,
+/turf/open/floor/iron/dark/small,
+/area/station/command/heads_quarters/captain/private)
"caW" = (
/obj/effect/turf_decal/siding/wood{
dir = 10
@@ -5445,12 +5680,14 @@
/obj/machinery/disposal/bin,
/turf/open/floor/iron/smooth,
/area/station/command/heads_quarters/qm)
-"cbH" = (
-/obj/item/kirbyplants/random,
-/obj/machinery/power/apc/auto_name/directional/south,
+"cbL" = (
/obj/structure/cable,
-/turf/open/floor/iron/smooth,
-/area/station/maintenance/solars/starboard/fore)
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/light/floor,
+/turf/open/floor/plating,
+/area/station/maintenance/department/engine)
"cbO" = (
/obj/structure/chair{
dir = 1
@@ -5484,6 +5721,11 @@
},
/turf/open/floor/iron,
/area/station/security/execution/transfer)
+"ccv" = (
+/obj/machinery/camera/autoname/directional/north,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/turf/open/floor/iron/white/side,
+/area/station/science/xenobiology)
"ccA" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -5513,10 +5755,6 @@
/obj/effect/spawner/random/vending/snackvend,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"cdg" = (
-/obj/machinery/camera/autoname/directional/south,
-/turf/open/floor/iron/showroomfloor,
-/area/station/commons/toilet/auxiliary)
"cdn" = (
/obj/machinery/telecomms/server/presets/medical,
/turf/open/floor/circuit,
@@ -5531,6 +5769,14 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"cdx" = (
+/obj/machinery/power/apc/auto_name/directional/west{
+ areastring = "/area/station/science/ordnance/freezerchamber"
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible,
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance)
"cdz" = (
/obj/effect/turf_decal/tile/yellow,
/obj/machinery/light/cold/dim/directional/west,
@@ -5556,17 +5802,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/commons/fitness/locker_room)
-"cea" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/door/poddoor/shutters{
- dir = 1;
- id = "aibridge"
- },
-/obj/effect/spawner/random/structure/grille,
-/turf/open/floor/plating,
-/area/station/maintenance/department/engine)
"ceD" = (
/obj/machinery/door/airlock/grunge{
name = "Janitorial Closet"
@@ -5610,6 +5845,30 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"ceY" = (
+/obj/structure/table/glass,
+/obj/machinery/fax{
+ fax_name = "Chief Medical Officer's Office";
+ name = "Chief Medical Officer's Fax Machine";
+ pixel_y = 13
+ },
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/button/door/directional/south{
+ id = "cmoprivacy";
+ name = "CMO Privacy Shutters";
+ pixel_x = -6;
+ req_access = list("cmo")
+ },
+/obj/machinery/camera/autoname/directional/south,
+/obj/machinery/button/door/directional/south{
+ id = "medlock";
+ name = "Medbay Lockdown Control";
+ pixel_x = 6;
+ req_access = list("medical")
+ },
+/obj/machinery/keycard_auth/wall_mounted/directional/east,
+/turf/open/floor/wood/parquet,
+/area/station/command/heads_quarters/cmo)
"cfa" = (
/obj/structure/closet/lasertag/red,
/obj/effect/turf_decal/stripes/red/line{
@@ -5644,27 +5903,29 @@
/obj/effect/spawner/structure/window/survival_pod,
/turf/open/floor/plating,
/area/station/ai_monitored/turret_protected/ai)
-"cfq" = (
-/obj/machinery/door/poddoor/shutters{
- id = "evashutter";
- name = "E.V.A. Storage Shutter";
- dir = 8
- },
-/obj/effect/turf_decal/delivery,
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/turf/open/floor/iron/smooth_half{
+"cfH" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 1
},
-/area/station/ai_monitored/command/storage/eva)
-"cfy" = (
-/obj/machinery/door/airlock/glass,
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/greater)
+/turf/open/floor/iron,
+/area/station/hallway/secondary/dock)
+"cfZ" = (
+/obj/machinery/telecomms/processor/preset_one,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/turf/open/floor/circuit,
+/area/station/tcommsat/server)
+"cgi" = (
+/obj/structure/flora/bush/sparsegrass{
+ pixel_x = -5;
+ pixel_y = 9
+ },
+/obj/effect/turf_decal/weather/dirt{
+ dir = 10
+ },
+/turf/open/floor/grass,
+/area/station/service/chapel)
"cgs" = (
/obj/structure/disposalpipe/segment,
/obj/effect/turf_decal/tile/neutral/opposingcorners{
@@ -5677,14 +5938,6 @@
/obj/structure/cable,
/turf/open/floor/iron/small,
/area/station/hallway/secondary/service)
-"cgt" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/engineering/storage/tech)
"cgy" = (
/obj/effect/turf_decal/stripes/red/line{
dir = 4
@@ -5702,6 +5955,10 @@
"cgM" = (
/turf/open/misc/asteroid,
/area/station/maintenance/starboard/greater)
+"cgT" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/dark/small,
+/area/station/maintenance/department/science/xenobiology)
"cgV" = (
/obj/effect/turf_decal/weather/dirt{
dir = 9
@@ -5732,6 +5989,14 @@
},
/turf/open/floor/iron,
/area/station/security/brig/entrance)
+"chk" = (
+/obj/structure/flora/bush/flowers_br/style_random,
+/obj/structure/flora/bush/large/style_2,
+/obj/effect/turf_decal/weather/dirt{
+ dir = 1
+ },
+/turf/open/floor/grass,
+/area/station/service/chapel)
"chp" = (
/obj/structure/cable,
/turf/closed/wall/r_wall,
@@ -5764,6 +6029,17 @@
/obj/effect/landmark/generic_maintenance_landmark,
/turf/open/floor/iron/smooth,
/area/station/maintenance/solars/port/aft)
+"chT" = (
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/maintenance/department/science/xenobiology)
"chU" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -5773,13 +6049,17 @@
/obj/machinery/light/small/directional/east,
/turf/open/floor/iron,
/area/station/security)
-"cib" = (
-/obj/effect/turf_decal/weather/dirt{
+"chZ" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/siding/dark/corner{
dir = 1
},
-/obj/structure/flora/bush/flowers_pp/style_random,
-/turf/open/floor/grass,
-/area/station/service/chapel)
+/turf/open/floor/iron/dark/textured_half{
+ dir = 1
+ },
+/area/station/command/bridge)
"cig" = (
/obj/effect/turf_decal/tile/red/opposingcorners,
/obj/effect/turf_decal/tile/blue/opposingcorners{
@@ -5796,17 +6076,6 @@
/obj/item/radio/intercom/directional/west,
/turf/open/floor/wood/parquet,
/area/station/service/library)
-"cip" = (
-/obj/effect/turf_decal/tile/red/opposingcorners{
- dir = 1
- },
-/obj/effect/landmark/start/depsec/science,
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/security/checkpoint/science)
"cis" = (
/obj/machinery/atmospherics/pipe/smart/simple/general/visible{
dir = 9
@@ -5822,15 +6091,40 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"ciR" = (
-/obj/effect/turf_decal/weather/dirt{
- dir = 9
+"ciw" = (
+/obj/machinery/atmospherics/components/binary/volume_pump{
+ dir = 8
},
-/obj/effect/turf_decal/weather/dirt{
- dir = 5
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
+"ciB" = (
+/obj/structure/table/glass,
+/obj/machinery/reagentgrinder{
+ pixel_x = -5;
+ pixel_y = 14
},
-/turf/open/floor/plating/rust,
-/area/station/medical/morgue)
+/obj/item/reagent_containers/cup/beaker/large{
+ pixel_x = 16;
+ pixel_y = 14
+ },
+/obj/item/reagent_containers/cup/beaker{
+ pixel_x = 12;
+ pixel_y = 8
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/white,
+/area/station/science/cytology)
+"ciI" = (
+/obj/machinery/door/airlock/public/glass{
+ name = "Research Wing"
+ },
+/obj/machinery/door/firedoor,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/textured_half{
+ dir = 1
+ },
+/area/station/hallway/primary/starboard)
"ciT" = (
/obj/structure/table/glass,
/obj/item/radio/intercom/directional/east,
@@ -5879,6 +6173,14 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"cjQ" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/turf_decal/stripes/corner,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark,
+/area/station/science/xenobiology)
"cjR" = (
/obj/structure/disposalpipe/segment,
/obj/structure/plasticflaps/opaque,
@@ -5892,14 +6194,6 @@
/obj/structure/cable,
/turf/open/floor/wood,
/area/station/engineering/atmos/pumproom)
-"cjY" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/neutral,
-/obj/machinery/camera/autoname/directional/east,
-/obj/machinery/light/cold/directional/east,
-/turf/open/floor/iron,
-/area/station/hallway/primary/fore)
"ckb" = (
/obj/structure/chair/comfy/beige{
dir = 4
@@ -5926,6 +6220,10 @@
/obj/structure/sign/departments/engineering/directional/north,
/turf/open/floor/iron,
/area/station/hallway/primary/fore)
+"ckt" = (
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible,
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance)
"cku" = (
/obj/structure/barricade/wooden/crude,
/turf/open/floor/noslip,
@@ -5974,11 +6272,6 @@
/obj/structure/chair/stool/directional/north,
/turf/open/floor/iron/kitchen/small,
/area/station/maintenance/aft)
-"clf" = (
-/obj/effect/turf_decal/siding/wood,
-/obj/structure/cable,
-/turf/open/floor/wood/tile,
-/area/station/service/lawoffice)
"cll" = (
/obj/machinery/door/window/right/directional/west{
name = "Fitness Ring"
@@ -5986,31 +6279,16 @@
/obj/structure/window/spawner/directional/north,
/turf/open/floor/iron/dark,
/area/station/commons/dorms)
-"clq" = (
+"clm" = (
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/red/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/red/line,
/obj/structure/disposalpipe/segment,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron,
-/area/station/maintenance/department/medical/central)
-"clt" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/effect/turf_decal/siding/blue,
-/turf/open/floor/iron/white/small,
-/area/station/command/heads_quarters/cmo)
-"clH" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/iron/dark/side{
- dir = 4
- },
-/area/station/engineering/storage/tech)
+/turf/open/floor/iron/small,
+/area/station/hallway/primary/central/fore)
"clV" = (
/obj/structure/table,
/obj/effect/mapping_helpers/broken_floor,
@@ -6023,18 +6301,6 @@
/obj/machinery/light/small/directional/south,
/turf/open/floor/iron/smooth,
/area/station/command/gateway)
-"clZ" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 5
- },
-/turf/open/floor/wood,
-/area/station/hallway/secondary/entry)
-"cmd" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/turf/open/floor/wood/tile,
-/area/station/command/meeting_room)
"cmf" = (
/turf/closed/wall/rust,
/area/station/maintenance/department/engine/atmos)
@@ -6055,40 +6321,11 @@
/obj/machinery/camera/autoname/directional/north,
/turf/open/floor/iron/dark,
/area/station/engineering/storage/tcomms)
-"cmw" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/door/airlock/public,
-/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance,
-/obj/effect/mapping_helpers/airlock/unres{
- dir = 8
- },
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical/central)
"cmz" = (
/obj/effect/spawner/random/structure/closet_maintenance,
/obj/structure/barricade/wooden/crude,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
-"cmA" = (
-/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{
- dir = 4
- },
-/turf/open/floor/circuit,
-/area/station/tcommsat/server)
-"cmD" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random/trash,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/fore)
"cmX" = (
/obj/effect/turf_decal/tile/dark_red{
dir = 8
@@ -6098,15 +6335,22 @@
/obj/machinery/light/small/directional/north,
/turf/open/floor/iron,
/area/station/security/tram)
-"cnn" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
+"cnb" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
},
-/obj/effect/turf_decal/siding/wideplating/dark{
- dir = 4
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/firealarm/directional/east,
+/obj/effect/turf_decal/stripes/corner,
+/obj/effect/turf_decal/stripes/white/corner,
+/turf/open/floor/iron/smooth,
+/area/station/cargo/warehouse)
+"cns" = (
+/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{
+ dir = 5
},
-/turf/open/floor/iron/small,
-/area/station/service/barber)
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance)
"cnC" = (
/obj/structure/lattice,
/obj/structure/window/reinforced/spawner/directional/west,
@@ -6116,6 +6360,26 @@
/obj/machinery/suit_storage_unit/rd,
/turf/open/floor/iron/dark/small,
/area/station/command/heads_quarters/rd)
+"cnJ" = (
+/obj/item/radio/intercom/directional/east,
+/obj/effect/turf_decal/siding/dark_blue/corner{
+ dir = 4
+ },
+/obj/structure/mannequin/skeleton,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark,
+/area/station/medical/morgue)
+"cnK" = (
+/obj/effect/turf_decal/tile/yellow/opposingcorners,
+/obj/effect/turf_decal/siding/white{
+ dir = 8
+ },
+/obj/effect/landmark/generic_maintenance_landmark,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/construction)
"cob" = (
/obj/effect/turf_decal/tile/brown/opposingcorners,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
@@ -6135,6 +6399,14 @@
},
/turf/open/floor/circuit/red,
/area/station/ai_monitored/turret_protected/ai)
+"col" = (
+/obj/effect/landmark/start/coroner,
+/obj/machinery/holopad,
+/obj/effect/turf_decal/trimline/dark_blue/filled/line{
+ dir = 2
+ },
+/turf/open/floor/iron/dark,
+/area/station/medical/morgue)
"cop" = (
/obj/machinery/portable_atmospherics/canister/anesthetic_mix,
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
@@ -6150,12 +6422,6 @@
/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
/turf/closed/wall/r_wall,
/area/station/engineering/atmos)
-"cov" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/catwalk_floor/iron,
-/area/station/science/lobby)
"cow" = (
/turf/closed/wall,
/area/station/engineering/lobby)
@@ -6169,20 +6435,18 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"cpA" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
+"cpa" = (
+/obj/machinery/door/window/left/directional/east{
+ name = "Medical Supplies";
+ req_access = list("medical")
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/obj/effect/mapping_helpers/airlock/red_alert_access,
+/obj/effect/turf_decal/siding/blue{
dir = 4
},
-/obj/machinery/door/airlock/maintenance_hatch{
- name = "AISat Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 8
- },
-/obj/effect/mapping_helpers/airlock/access/any/command/maintenance,
-/turf/open/floor/plating,
-/area/station/ai_monitored/turret_protected/aisat/maint)
+/turf/open/floor/iron/white/small,
+/area/station/medical/storage)
"cpE" = (
/obj/structure/closet/emcloset,
/turf/open/floor/iron,
@@ -6195,6 +6459,12 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
+"cpJ" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/structure/transit_tube/horizontal,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/greater)
"cpP" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -6202,6 +6472,10 @@
},
/turf/open/floor/plating,
/area/station/ai_monitored/turret_protected/aisat/maint)
+"cpQ" = (
+/obj/effect/spawner/random/trash/caution_sign,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"cpT" = (
/obj/structure/cable,
/obj/effect/turf_decal/siding/wood,
@@ -6209,16 +6483,6 @@
/obj/machinery/light/small/directional/east,
/turf/open/floor/wood/tile,
/area/station/command/heads_quarters/hop)
-"cpU" = (
-/obj/machinery/door/airlock/research/glass{
- name = "Cubicle"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/general,
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/catwalk_floor/iron_white,
-/area/station/science/research)
"cqa" = (
/obj/machinery/status_display/ai/directional/west,
/turf/open/floor/iron,
@@ -6232,11 +6496,6 @@
},
/turf/open/floor/iron/dark,
/area/station/medical/medbay/aft)
-"cqn" = (
-/obj/machinery/camera/autoname/directional/north,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/turf/open/floor/iron/white/side,
-/area/station/science/xenobiology)
"cqr" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/chapel{
@@ -6294,6 +6553,14 @@
},
/turf/open/floor/plating,
/area/station/service/janitor)
+"cqW" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/aft)
"cri" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -6329,20 +6596,37 @@
/obj/item/radio/intercom/directional/east,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"crE" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/door/poddoor/shutters{
- dir = 1;
- id = "aibridge"
- },
-/turf/open/floor/plating,
-/area/station/maintenance/department/engine)
"crJ" = (
/obj/effect/turf_decal/siding/red{
dir = 6
},
/turf/open/floor/iron/small,
/area/station/security/brig)
+"crN" = (
+/obj/effect/mapping_helpers/airlock/access/all/medical/coroner,
+/obj/machinery/door/airlock/medical/glass,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 4
+ },
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/medical/morgue)
+"crQ" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/structure/extinguisher_cabinet/directional/south,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/camera/autoname/motion/directional/south,
+/turf/open/floor/iron/dark/diagonal,
+/area/station/ai_monitored/command/storage/eva)
"csj" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -6361,6 +6645,12 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/ai_monitored/turret_protected/aisat/maint)
+"csp" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 8
+ },
+/turf/open/floor/mineral/titanium,
+/area/station/command/heads_quarters/ce)
"css" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 10
@@ -6411,6 +6701,14 @@
/obj/machinery/power/apc/auto_name/directional/east,
/turf/open/floor/iron/smooth,
/area/station/ai_monitored/turret_protected/aisat/foyer)
+"csU" = (
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/small,
+/area/station/science/ordnance/storage)
"ctb" = (
/obj/effect/turf_decal/siding/yellow{
dir = 6
@@ -6422,6 +6720,20 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/diagonal,
/area/station/engineering/lobby)
+"ctg" = (
+/obj/machinery/computer/operating,
+/obj/machinery/requests_console/auto_name/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/medical/morgue)
+"cth" = (
+/obj/machinery/door/airlock{
+ name = "Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
+/obj/effect/mapping_helpers/airlock/unres,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"ctl" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -6429,13 +6741,19 @@
/obj/machinery/airalarm/directional/west,
/turf/open/floor/iron,
/area/station/security/prison/work)
-"ctu" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random/structure/girder,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
+"cto" = (
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/corner{
+ dir = 8
+ },
+/area/station/science/xenobiology)
"ctH" = (
/turf/open/floor/iron/herringbone,
/area/station/commons/dorms)
@@ -6462,10 +6780,25 @@
/obj/machinery/light/cold/directional/north,
/turf/open/floor/iron,
/area/station/security/prison/rec)
-"cuw" = (
-/obj/effect/spawner/structure/window/reinforced,
-/turf/closed/wall,
-/area/station/command/corporate_showroom)
+"cuz" = (
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/corner{
+ dir = 1
+ },
+/area/station/hallway/secondary/entry)
+"cuK" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/turf/open/floor/iron/white,
+/area/station/medical/medbay/lobby)
"cuZ" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -6473,15 +6806,6 @@
/obj/effect/turf_decal/siding/thinplating_new,
/turf/open/floor/iron/smooth,
/area/station/cargo/miningfoundry)
-"cvc" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/machinery/light/directional/east,
-/obj/structure/table,
-/obj/item/stack/sheet/mineral/plasma/five,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"cvk" = (
/obj/effect/spawner/random/structure/crate,
/obj/effect/spawner/random/maintenance,
@@ -6558,6 +6882,20 @@
},
/turf/open/floor/wood,
/area/station/engineering/atmos/storage)
+"cws" = (
+/obj/structure/table/wood,
+/obj/item/hand_labeler_refill{
+ pixel_x = -4;
+ pixel_y = 26
+ },
+/obj/structure/sign/poster/official/random/directional/south,
+/obj/machinery/fax{
+ fax_name = "Quartermaster's Office";
+ name = "Quartermaster's Fax Machine";
+ pixel_y = 7
+ },
+/turf/open/floor/wood,
+/area/station/command/heads_quarters/qm)
"cwt" = (
/obj/structure/table/reinforced,
/obj/machinery/door/firedoor,
@@ -6574,15 +6912,6 @@
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/turf/open/floor/iron,
/area/station/security/tram)
-"cwS" = (
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
"cwX" = (
/obj/machinery/door/poddoor/shutters/preopen{
id = "aigas"
@@ -6590,16 +6919,14 @@
/obj/effect/spawner/structure/window/survival_pod,
/turf/open/floor/engine,
/area/station/ai_monitored/turret_protected/ai)
-"cxy" = (
-/obj/structure/disposalpipe/junction{
- dir = 1
+"cwZ" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
},
-/obj/structure/broken_flooring/singular/directional/east,
+/obj/structure/sign/departments/rndserver/directional/south,
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/hallway/secondary/dock)
+/turf/open/floor/iron/white/side,
+/area/station/science/research)
"cxz" = (
/obj/effect/turf_decal/siding/wood{
dir = 9
@@ -6607,25 +6934,6 @@
/obj/effect/turf_decal/siding/wood/corner,
/turf/open/floor/wood,
/area/station/service/chapel)
-"cxO" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/machinery/door/poddoor/preopen{
- id = "rdoffice";
- name = "Research Director's Shutters"
- },
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/science/cubicle)
-"cyf" = (
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/item/kirbyplants/random,
-/obj/structure/extinguisher_cabinet/directional/south,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/dock)
"cyk" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/turf/open/floor/iron/dark,
@@ -6720,15 +7028,15 @@
dir = 8
},
/area/station/service/janitor)
-"cAb" = (
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+"czH" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side,
-/area/station/science/lower)
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/machinery/camera/autoname/directional/west,
+/turf/open/floor/iron,
+/area/station/hallway/primary/aft)
"cAd" = (
/obj/structure/filingcabinet/chestdrawer,
/obj/item/radio/intercom/directional/south,
@@ -6745,19 +7053,6 @@
},
/turf/open/floor/iron/white/small,
/area/station/medical/surgery/theatre)
-"cAl" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/effect/turf_decal/siding/wood{
- dir = 4
- },
-/obj/effect/turf_decal/siding/wood{
- dir = 8
- },
-/obj/effect/landmark/start/assistant,
-/turf/open/floor/wood/tile,
-/area/station/service/bar)
"cAm" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/box/corners{
@@ -6768,23 +7063,17 @@
},
/turf/open/floor/engine,
/area/station/science/explab)
-"cAr" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
+"cAu" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
},
-/turf/open/floor/iron,
-/area/station/hallway/primary/aft)
-"cAt" = (
/obj/machinery/door/poddoor/shutters{
- dir = 8;
- id = "mechbay";
- name = "Mech Bay Shutters"
+ dir = 1;
+ id = "aibridge"
},
-/obj/structure/cable,
-/turf/open/floor/catwalk_floor/iron_smooth,
-/area/station/science/robotics/mechbay)
+/obj/effect/spawner/random/structure/grille,
+/turf/open/floor/plating,
+/area/station/maintenance/department/engine)
"cAv" = (
/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{
dir = 4
@@ -6812,13 +7101,6 @@
/obj/machinery/meter,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
-"cBu" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/neutral,
-/obj/structure/disposalpipe/junction/flip,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/hallway/primary/fore)
"cBw" = (
/obj/effect/turf_decal/tile/yellow/opposingcorners,
/obj/structure/filingcabinet/chestdrawer,
@@ -6830,22 +7112,6 @@
/obj/structure/sign/poster/official/random/directional/west,
/turf/open/floor/iron,
/area/station/command/heads_quarters/ce)
-"cBA" = (
-/obj/machinery/door/airlock/command/glass{
- name = "E.V.A. Storage"
- },
-/obj/effect/turf_decal/delivery,
-/obj/machinery/door/firedoor,
-/obj/effect/mapping_helpers/airlock/access/all/command/eva,
-/obj/effect/turf_decal/stripes/corner,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/mapping_helpers/airlock/red_alert_access,
-/turf/open/floor/iron/smooth_half{
- dir = 1
- },
-/area/station/ai_monitored/command/storage/eva)
"cCb" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/white/line{
@@ -6862,17 +7128,9 @@
/turf/open/floor/iron/white,
/area/station/science/cytology)
"cCl" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/obj/structure/disposalpipe/junction/flip{
- dir = 4
- },
-/turf/open/floor/iron/dark/side{
- dir = 1
- },
-/area/station/hallway/primary/central/fore)
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/greater)
"cCv" = (
/obj/item/radio/intercom/directional/south,
/obj/effect/turf_decal/siding/wideplating_new/terracotta,
@@ -6886,6 +7144,14 @@
},
/turf/open/floor/iron,
/area/station/maintenance/hallway/abandoned_command)
+"cCz" = (
+/obj/effect/turf_decal/tile/blue{
+ dir = 1
+ },
+/turf/open/floor/iron/dark/textured_edge{
+ dir = 4
+ },
+/area/station/command/heads_quarters/hop)
"cCC" = (
/obj/structure/disposalpipe/segment,
/obj/structure/cable,
@@ -6910,12 +7176,6 @@
},
/turf/open/misc/asteroid/airless,
/area/space/nearstation)
-"cCK" = (
-/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance)
"cCM" = (
/obj/structure/cable,
/obj/structure/sink/kitchen/directional/east,
@@ -6927,6 +7187,14 @@
/obj/machinery/light/small/directional/east,
/turf/open/floor/plating,
/area/station/maintenance/disposal/incinerator)
+"cCR" = (
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
"cCV" = (
/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -6957,6 +7225,10 @@
/obj/effect/landmark/start/head_of_security,
/turf/open/floor/carpet/red,
/area/station/command/heads_quarters/hos)
+"cDf" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/dock)
"cDt" = (
/obj/structure/chair/comfy/shuttle,
/obj/structure/transport/linear/tram,
@@ -7021,6 +7293,14 @@
},
/turf/open/floor/plating,
/area/station/engineering/atmos/pumproom)
+"cEh" = (
+/obj/machinery/atmospherics/components/trinary/filter/flipped/critical,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"cEn" = (
/obj/structure/disposalpipe/segment,
/obj/effect/decal/cleanable/dirt,
@@ -7039,6 +7319,36 @@
/obj/machinery/portable_atmospherics/canister/air,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
+"cEr" = (
+/obj/effect/mapping_helpers/airlock/access/all/service/kitchen,
+/obj/machinery/door/airlock/freezer{
+ name = "Freezer"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/heat_exchanging/junction{
+ dir = 1
+ },
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/iron/freezer,
+/area/station/service/kitchen)
+"cEs" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 1
+ },
+/obj/item/radio/intercom/directional/east,
+/turf/open/floor/iron/white,
+/area/station/medical/medbay/central)
+"cEB" = (
+/obj/machinery/door/airlock{
+ name = "Sec Post Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/security/general,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/central)
"cED" = (
/obj/structure/railing/corner,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
@@ -7093,16 +7403,6 @@
},
/turf/open/floor/circuit/red,
/area/station/ai_monitored/turret_protected/ai)
-"cEX" = (
-/obj/effect/turf_decal/siding/thinplating_new/terracotta{
- dir = 1
- },
-/obj/machinery/modular_computer/preset/engineering{
- dir = 1
- },
-/obj/effect/turf_decal/siding/yellow,
-/turf/open/floor/wood/tile,
-/area/station/command/bridge)
"cFg" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -7115,12 +7415,22 @@
},
/turf/open/floor/iron,
/area/station/security)
-"cFo" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+"cFj" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/alien/weeds,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/turf/open/floor/iron,
+/area/station/maintenance/starboard/greater)
+"cFl" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/heat_exchanging/junction/layer2{
dir = 1
},
-/turf/open/floor/iron/white/side,
-/area/station/science/research)
+/turf/open/floor/plating,
+/area/station/science/ordnance/freezerchamber)
"cFq" = (
/obj/machinery/door/airlock{
name = "Maintenance"
@@ -7148,18 +7458,18 @@
},
/turf/open/floor/iron/small,
/area/station/maintenance/port/lesser)
-"cFY" = (
-/obj/structure/hedge,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/turf_decal/tile/yellow,
-/obj/effect/turf_decal/tile/red{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/fore)
"cGj" = (
/turf/closed/wall/r_wall,
/area/station/security/execution/education)
+"cGl" = (
+/obj/machinery/firealarm/directional/west,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"cGG" = (
/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
dir = 4
@@ -7215,27 +7525,6 @@
/obj/structure/extinguisher_cabinet/directional/east,
/turf/open/floor/iron/small,
/area/station/engineering/atmos/pumproom)
-"cHy" = (
-/obj/effect/turf_decal/tile/purple/opposingcorners,
-/obj/effect/turf_decal/siding/green{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/cafeteria,
-/area/station/science/circuits)
-"cHC" = (
-/obj/structure/chair{
- pixel_y = -2
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark/start/lawyer,
-/obj/machinery/light/small/directional/north,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/service/lawoffice)
"cHD" = (
/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible{
dir = 4
@@ -7310,6 +7599,17 @@
/obj/structure/sign/warning/pods/directional/east,
/turf/open/floor/plating,
/area/station/maintenance/department/engine/atmos)
+"cJr" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red/opposingcorners,
+/obj/effect/turf_decal/tile/blue/opposingcorners{
+ dir = 8
+ },
+/obj/effect/landmark/start/clown,
+/turf/open/floor/iron/smooth,
+/area/station/service/greenroom)
"cJv" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -7325,6 +7625,16 @@
/obj/machinery/light/small/directional/north,
/turf/open/floor/iron,
/area/station/security/execution/transfer)
+"cJF" = (
+/obj/effect/mapping_helpers/broken_floor,
+/obj/effect/turf_decal/box/corners{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/white/line{
+ dir = 10
+ },
+/turf/open/floor/engine,
+/area/station/science/explab)
"cJL" = (
/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 4
@@ -7338,6 +7648,15 @@
dir = 4
},
/area/station/science/xenobiology)
+"cJM" = (
+/obj/structure/chair/office{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/dark_blue/filled/line{
+ dir = 2
+ },
+/turf/open/floor/iron/dark,
+/area/station/medical/morgue)
"cJT" = (
/obj/effect/turf_decal/bot_white,
/obj/structure/closet/crate{
@@ -7377,24 +7696,12 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
-"cKy" = (
-/obj/effect/turf_decal/tile/brown/opposingcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/effect/landmark/atmospheric_sanity/ignore_area,
-/obj/machinery/camera/autoname/motion/directional/west,
-/turf/open/floor/iron,
-/area/station/engineering/hallway)
-"cKV" = (
-/obj/machinery/light/floor,
-/obj/effect/landmark/event_spawn,
-/obj/effect/turf_decal/siding/dark{
+"cKL" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 8
},
-/turf/open/floor/iron/dark/smooth_large,
-/area/station/command/bridge)
+/turf/open/floor/iron/dark/small,
+/area/station/tcommsat/server)
"cLa" = (
/obj/machinery/portable_atmospherics/canister,
/turf/open/floor/plating,
@@ -7444,22 +7751,6 @@
},
/turf/open/floor/circuit/red,
/area/station/ai_monitored/turret_protected/ai)
-"cLS" = (
-/obj/effect/turf_decal/siding/white{
- dir = 10
- },
-/obj/structure/railing{
- dir = 10
- },
-/obj/structure/table/glass,
-/obj/item/stack/sheet/mineral/plasma/thirty{
- pixel_y = 4
- },
-/obj/item/reagent_containers/dropper{
- pixel_y = -3
- },
-/turf/open/floor/iron/dark/small,
-/area/station/science/xenobiology)
"cLW" = (
/mob/living/basic/mouse/brown/tom,
/obj/item/radio/intercom/prison/directional/south,
@@ -7554,13 +7845,6 @@
/obj/machinery/light/very_dim/directional/west,
/turf/open/floor/iron/grimy,
/area/station/commons/vacant_room/office)
-"cNT" = (
-/obj/machinery/atmospherics/pipe/heat_exchanging/simple/layer2{
- dir = 10
- },
-/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/ordnance_freezer_chamber_input,
-/turf/open/floor/engine/vacuum,
-/area/station/science/ordnance/freezerchamber)
"cNZ" = (
/obj/effect/turf_decal/box/red/corners{
dir = 8
@@ -7597,24 +7881,6 @@
/obj/structure/table,
/turf/open/floor/iron,
/area/station/cargo/sorting)
-"cOC" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/button/door/directional/south{
- id = "XenoPens";
- name = "Xenobiology Shutters";
- req_access = list("xenobiology")
- },
-/obj/effect/landmark/event_spawn,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/side{
- dir = 1
- },
-/area/station/science/xenobiology)
"cOI" = (
/obj/machinery/atmospherics/components/binary/volume_pump/layer2{
dir = 1
@@ -7646,19 +7912,16 @@
/obj/effect/turf_decal/stripes/white/line,
/turf/open/floor/plating,
/area/station/construction/mining/aux_base)
+"cPc" = (
+/obj/structure/cable,
+/obj/item/reagent_containers/applicator/pill/maintenance,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/station/maintenance/port/fore)
"cPe" = (
/obj/structure/spider/stickyweb,
/turf/open/floor/iron/small,
/area/station/maintenance/department/engine/atmos)
-"cPh" = (
-/obj/effect/turf_decal/stripes/red/line{
- dir = 4
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
- },
-/turf/open/floor/iron/smooth_large,
-/area/station/science/auxlab/firing_range)
"cPj" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -7673,6 +7936,11 @@
/obj/structure/urinal/directional/east,
/turf/open/floor/iron/white/small,
/area/station/commons/toilet/restrooms)
+"cPu" = (
+/obj/machinery/telecomms/message_server/preset,
+/obj/structure/cable,
+/turf/open/floor/circuit,
+/area/station/tcommsat/server)
"cPD" = (
/obj/effect/turf_decal/stripes/end{
dir = 4
@@ -7706,11 +7974,20 @@
},
/turf/closed/wall/r_wall,
/area/station/command/heads_quarters/ce)
+"cPZ" = (
+/obj/effect/turf_decal/siding/blue{
+ dir = 1
+ },
+/turf/open/floor/iron/white/small,
+/area/station/medical/storage)
"cQo" = (
/obj/structure/closet/firecloset,
/obj/machinery/light/small/dim/directional/west,
/turf/open/floor/iron/dark/small,
/area/station/maintenance/aft)
+"cQt" = (
+/turf/open/floor/circuit/telecomms/mainframe,
+/area/station/science/xenobiology)
"cQG" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/neutral{
@@ -7720,12 +7997,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"cQN" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/table/wood,
-/turf/open/floor/stone,
-/area/station/service/bar)
"cQP" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -7737,25 +8008,26 @@
},
/turf/open/floor/plating,
/area/station/ai_monitored/turret_protected/aisat/maint)
-"cRc" = (
+"cQQ" = (
+/obj/structure/window/reinforced/spawner/directional/east,
+/obj/machinery/atmospherics/pipe/smart/simple/general/visible,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side{
+ dir = 8
+ },
+/area/station/science/xenobiology)
+"cRe" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/neutral,
-/obj/structure/sign/departments/court/directional/east,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
+/turf/open/floor/iron/white,
+/area/station/medical/medbay/lobby)
"cRm" = (
/obj/effect/spawner/random/structure/closet_maintenance,
/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"cRn" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/spawner/structure/window,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/science/lobby)
"cRo" = (
/obj/machinery/door/airlock/atmos/glass{
name = "HFR Chamber"
@@ -7861,18 +8133,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/security/prison/shower)
-"cSy" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/effect/turf_decal/trimline/neutral/corner{
- dir = 8
- },
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 5
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/aft)
"cSC" = (
/turf/closed/wall,
/area/station/commons/vacant_room/office)
@@ -7880,13 +8140,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
-"cTp" = (
-/obj/machinery/holopad,
-/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
- dir = 4
- },
-/turf/open/floor/iron/white/small,
-/area/station/science/ordnance/storage)
"cTw" = (
/obj/structure/table/wood,
/obj/machinery/light/small/directional/south,
@@ -7897,41 +8150,10 @@
/obj/item/radio/intercom/directional/north,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/surgery/theatre)
-"cTC" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/aft)
-"cTE" = (
-/obj/machinery/door/airlock{
- name = "Abandoned Brewery"
- },
-/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"cTK" = (
/obj/structure/closet/firecloset,
/turf/open/floor/catwalk_floor/iron_smooth,
/area/station/engineering/break_room)
-"cTP" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/turf/open/floor/plating,
-/area/station/maintenance/department/engine)
"cTX" = (
/obj/machinery/computer/crew{
dir = 4
@@ -7964,6 +8186,25 @@
},
/turf/closed/wall,
/area/station/service/library)
+"cUh" = (
+/obj/structure/chair/sofa/bench/right{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/landmark/start/hangover,
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/fore)
+"cUA" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/light/small/directional/south,
+/turf/open/floor/iron/dark/diagonal,
+/area/station/ai_monitored/command/storage/eva)
"cUB" = (
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/obj/structure/chair/stool/bar/directional/south,
@@ -7983,6 +8224,12 @@
},
/turf/open/floor/iron/smooth,
/area/station/security/checkpoint/engineering)
+"cUP" = (
+/obj/structure/table,
+/obj/item/screwdriver,
+/obj/machinery/airalarm/directional/south,
+/turf/open/floor/iron,
+/area/station/construction/mining/aux_base)
"cUU" = (
/obj/structure/chair/sofa/bench/right{
dir = 4
@@ -8064,6 +8311,13 @@
dir = 1
},
/area/station/science/lower)
+"cWd" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/components/unary/outlet_injector/on{
+ dir = 8
+ },
+/turf/open/floor/engine/bz,
+/area/station/science/xenobiology)
"cWh" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -8071,34 +8325,34 @@
dir = 4
},
/area/station/maintenance/fore/lesser)
-"cWm" = (
-/obj/machinery/atmospherics/components/unary/passive_vent{
- dir = 4;
- name = "killroom vent"
+"cWj" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/red/line,
+/obj/effect/turf_decal/stripes/red/line{
+ dir = 1
},
-/turf/open/floor/circuit/telecomms/mainframe,
-/area/station/science/xenobiology)
+/turf/open/floor/iron/small,
+/area/station/hallway/primary/central/fore)
+"cWm" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/holopad,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/dark/diagonal,
+/area/station/ai_monitored/command/storage/eva)
"cWC" = (
/obj/item/reagent_containers/cup/watering_can/wood,
/obj/structure/table,
/turf/open/floor/plating,
/area/station/maintenance/starboard/greater)
-"cWM" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/door/airlock/grunge{
- name = "Morgue"
- },
-/obj/effect/mapping_helpers/airlock/access/all/medical/morgue,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/door/firedoor,
-/turf/open/floor/iron/dark/textured_half{
- dir = 1
- },
-/area/station/medical/morgue)
+"cWT" = (
+/obj/effect/spawner/random/trash/mess,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"cWZ" = (
/obj/machinery/door/airlock/external{
name = "Primary Docking Bay"
@@ -8133,6 +8387,13 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"cXj" = (
+/obj/effect/spawner/random/maintenance/two,
+/obj/structure/rack,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/iron,
+/area/station/maintenance/department/science/xenobiology)
"cXp" = (
/obj/effect/mapping_helpers/airlock/access/any/service/general,
/obj/structure/disposalpipe/segment,
@@ -8157,6 +8418,25 @@
},
/turf/open/floor/iron/kitchen/small,
/area/station/security/breakroom)
+"cXG" = (
+/obj/structure/flora/bush/flowers_yw/style_3{
+ pixel_y = -3
+ },
+/obj/structure/flora/bush/flowers_br/style_random{
+ pixel_x = -6;
+ pixel_y = -6
+ },
+/obj/structure/flora/bush/flowers_pp{
+ pixel_x = -3;
+ pixel_y = -5
+ },
+/obj/machinery/light/floor,
+/obj/effect/light_emitter/fake_outdoors,
+/obj/effect/turf_decal/siding/wood{
+ dir = 5
+ },
+/turf/open/floor/grass/airless,
+/area/station/hallway/primary/central/aft)
"cXH" = (
/obj/effect/landmark/start/cook,
/turf/open/floor/iron/kitchen/small,
@@ -8168,16 +8448,25 @@
},
/turf/open/floor/iron/small,
/area/station/security/prison/shower)
+"cXN" = (
+/obj/structure/broken_flooring/singular/directional/east,
+/obj/structure/alien/weeds,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/greater)
"cYc" = (
/obj/effect/spawner/random/structure/crate,
/obj/machinery/light/small/directional/east,
/turf/open/floor/iron,
/area/station/hallway/secondary/dock)
-"cYk" = (
+"cYe" = (
+/turf/open/floor/iron/smooth,
+/area/station/commons/storage/tools)
+"cYm" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/structure/sign/departments/telecomms/directional/south,
+/obj/item/radio/intercom/directional/south,
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -8196,17 +8485,18 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/engineering/supermatter/room)
-"cYD" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/table/wood,
-/obj/item/hemostat{
- desc = "Ah yes, the Haircutting Device.";
- name = "Totally Not Scissors"
+"cYz" = (
+/obj/effect/turf_decal/siding/white{
+ dir = 10
},
-/turf/open/floor/iron/small,
-/area/station/service/barber)
+/obj/structure/closet{
+ anchored = 1;
+ name = "Cold protection gear"
+ },
+/obj/item/clothing/suit/hooded/wintercoat/science,
+/obj/item/clothing/suit/hooded/wintercoat/science,
+/turf/open/floor/iron/dark/small,
+/area/station/science/xenobiology)
"cYE" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -8231,13 +8521,6 @@
},
/turf/open/floor/iron/dark/small,
/area/station/maintenance/department/engine)
-"cYR" = (
-/obj/effect/decal/cleanable/dirt/dust,
-/obj/effect/turf_decal/siding/wood{
- dir = 5
- },
-/turf/open/floor/wood/large,
-/area/station/maintenance/department/science/xenobiology)
"cYS" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 1
@@ -8250,19 +8533,6 @@
/obj/effect/spawner/random/structure/steam_vent,
/turf/open/floor/plating,
/area/station/ai_monitored/turret_protected/aisat/maint)
-"cYY" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/iron/dark/side{
- dir = 1
- },
-/area/station/hallway/primary/central/fore)
"cZi" = (
/obj/machinery/camera/autoname/directional/south,
/obj/item/kirbyplants/random,
@@ -8304,11 +8574,6 @@
},
/turf/open/floor/wood,
/area/station/service/chapel)
-"cZx" = (
-/obj/machinery/power/apc/auto_name/directional/south,
-/obj/structure/cable,
-/turf/open/floor/wood,
-/area/station/commons/fitness/recreation)
"cZy" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -8347,9 +8612,17 @@
/turf/open/floor/iron/white/small,
/area/station/service/janitor)
"cZW" = (
-/obj/structure/closet/crate/grave,
-/turf/open/misc/dirt/station,
-/area/station/medical/morgue)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/tile/blue{
+ dir = 1
+ },
+/obj/structure/disposalpipe/junction/flip{
+ dir = 4
+ },
+/turf/open/floor/iron/dark/side{
+ dir = 1
+ },
+/area/station/hallway/primary/central/fore)
"dah" = (
/obj/structure/disposalpipe/segment,
/obj/effect/turf_decal/tile/dark_red/half/contrasted{
@@ -8391,14 +8664,6 @@
},
/turf/open/floor/iron/dark/small,
/area/station/command/heads_quarters/ce)
-"daH" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
-/turf/open/floor/iron/dark/small,
-/area/station/tcommsat/server)
"dba" = (
/obj/structure/chair/sofa/bench/left{
dir = 4
@@ -8440,9 +8705,18 @@
},
/turf/open/floor/iron/dark,
/area/station/ai_monitored/turret_protected/ai)
+"dbE" = (
+/obj/effect/spawner/random/structure/grille,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"dbF" = (
/turf/open/floor/plating/rust,
/area/station/ai_monitored/turret_protected/aisat/maint)
+"dbV" = (
+/obj/machinery/airalarm/directional/south,
+/turf/open/floor/wood/tile,
+/area/station/command/meeting_room)
"dbZ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/disposalpipe/segment{
@@ -8459,24 +8733,17 @@
/obj/machinery/firealarm/directional/west,
/turf/open/floor/iron/dark,
/area/station/security/interrogation)
+"dcg" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/firealarm/directional/north,
+/turf/open/floor/iron,
+/area/station/commons/fitness/locker_room)
"dcu" = (
/obj/structure/cable,
/obj/machinery/power/apc/auto_name/directional/north,
/turf/open/floor/iron/smooth,
/area/station/cargo/warehouse)
-"dcx" = (
-/obj/effect/turf_decal/siding/white{
- dir = 10
- },
-/obj/structure/closet{
- anchored = 1;
- can_be_unanchored = 1;
- name = "Cold protection gear"
- },
-/obj/item/clothing/suit/hooded/wintercoat/science,
-/obj/item/clothing/suit/hooded/wintercoat/science,
-/turf/open/floor/iron/dark/small,
-/area/station/science/xenobiology)
"dcD" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/door/firedoor,
@@ -8494,16 +8761,6 @@
},
/turf/open/floor/iron/small,
/area/station/hallway/primary/port)
-"dcH" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/junction{
- dir = 8
- },
-/obj/effect/turf_decal/tile/blue,
-/turf/open/floor/iron/white,
-/area/station/medical/medbay/central)
"dcK" = (
/obj/machinery/portable_atmospherics/canister,
/obj/effect/turf_decal/bot{
@@ -8563,15 +8820,6 @@
/obj/structure/chair/stool/directional/west,
/turf/open/floor/carpet/red,
/area/station/command/heads_quarters/hos)
-"ddF" = (
-/mob/living/basic/goat/pete,
-/obj/effect/turf_decal/weather/snow,
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/obj/machinery/atmospherics/pipe/heat_exchanging/manifold4w,
-/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
-/area/station/service/kitchen/coldroom)
"ddK" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -8592,17 +8840,6 @@
/obj/structure/cable,
/turf/open/floor/iron/small,
/area/station/hallway/secondary/service)
-"deh" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/siding/white{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/small,
-/area/station/science/xenobiology)
"dex" = (
/obj/effect/spawner/random/engineering/atmospherics_portable,
/turf/open/floor/plating,
@@ -8615,6 +8852,14 @@
},
/turf/open/floor/plating,
/area/station/maintenance/department/engine/atmos)
+"deP" = (
+/obj/structure/window/reinforced/spawner/directional/east,
+/obj/effect/turf_decal/tile/green/anticorner/contrasted{
+ dir = 4
+ },
+/obj/structure/closet/crate/bin,
+/turf/open/floor/iron/white,
+/area/station/medical/virology)
"deQ" = (
/obj/machinery/door/poddoor/preopen{
id = "Xenolab";
@@ -8657,6 +8902,25 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"dfg" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/chair/sofa/bench{
+ dir = 1
+ },
+/obj/machinery/newscaster/directional/south,
+/obj/effect/landmark/start/hangover,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/dock)
+"dfi" = (
+/obj/effect/landmark/start/hangover,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"dfo" = (
/obj/structure/cable,
/obj/machinery/status_display/ai/directional/north,
@@ -8669,10 +8933,6 @@
dir = 1
},
/area/station/cargo/storage)
-"dfO" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/closed/wall/r_wall,
-/area/station/maintenance/starboard/central)
"dfT" = (
/obj/effect/turf_decal/bot{
dir = 1
@@ -8680,6 +8940,16 @@
/obj/structure/reagent_dispensers/watertank,
/turf/open/floor/iron/smooth,
/area/station/engineering/main)
+"dgj" = (
+/obj/machinery/door/airlock/public/glass{
+ name = "Zoo"
+ },
+/obj/machinery/door/firedoor,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/textured_half,
+/area/station/hallway/secondary/entry)
"dgm" = (
/obj/structure/railing/corner{
dir = 1
@@ -8695,17 +8965,10 @@
},
/turf/open/floor/wood,
/area/station/engineering/main)
-"dgn" = (
+"dgo" = (
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/broken_flooring/pile/directional/east,
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical/central)
+/turf/open/floor/iron/white/corner,
+/area/station/science/lower)
"dgt" = (
/obj/effect/turf_decal/siding/wood{
dir = 9
@@ -8717,6 +8980,12 @@
/obj/structure/sign/poster/official/random/directional/west,
/turf/open/floor/iron/grimy,
/area/station/service/library/private)
+"dgw" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/security/courtroom)
"dgy" = (
/obj/structure/chair/office{
dir = 1
@@ -8726,6 +8995,37 @@
},
/turf/open/floor/carpet,
/area/station/maintenance/hallway/abandoned_recreation)
+"dgJ" = (
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/central)
+"dgN" = (
+/obj/machinery/door/window/left/directional/south,
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/obj/effect/turf_decal/siding/dark,
+/obj/effect/turf_decal/bot,
+/obj/structure/rack,
+/obj/item/clothing/shoes/magboots{
+ pixel_x = -4;
+ pixel_y = 3
+ },
+/obj/item/clothing/shoes/magboots,
+/obj/item/clothing/shoes/magboots{
+ pixel_x = 4;
+ pixel_y = -3
+ },
+/turf/open/floor/iron/dark/smooth_edge,
+/area/station/ai_monitored/command/storage/eva)
"dgV" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 5
@@ -8737,14 +9037,6 @@
/obj/structure/sign/poster/official/random/directional/west,
/turf/open/floor/iron/dark/small,
/area/station/engineering/storage_shared)
-"dhb" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/turf_decal/stripes/corner,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark,
-/area/station/science/xenobiology)
"dhh" = (
/obj/structure/cable,
/obj/machinery/status_display/ai/directional/north,
@@ -8753,37 +9045,6 @@
},
/turf/open/floor/circuit/red,
/area/station/ai_monitored/turret_protected/ai)
-"dhu" = (
-/obj/structure/flora/bush/sparsegrass{
- pixel_x = -5;
- pixel_y = 9
- },
-/obj/effect/turf_decal/weather/dirt{
- dir = 10
- },
-/turf/open/floor/grass,
-/area/station/service/chapel)
-"dhy" = (
-/obj/structure/disposalpipe/trunk{
- dir = 1
- },
-/obj/effect/turf_decal/tile/purple/opposingcorners,
-/obj/machinery/disposal/bin,
-/obj/effect/turf_decal/bot,
-/obj/effect/turf_decal/siding/green{
- dir = 8
- },
-/obj/machinery/light/small/directional/west,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/cafeteria,
-/area/station/science/circuits)
-"dhC" = (
-/obj/machinery/vending/assist,
-/obj/machinery/light/small/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/engineering/storage/tech)
"dhG" = (
/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
/obj/machinery/atmospherics/pipe/smart/simple/green/visible/layer2,
@@ -8791,26 +9052,23 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/engineering/atmos)
-"dhH" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/small,
-/area/station/commons/fitness/locker_room)
"dhK" = (
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/department/engine)
-"dim" = (
+"dhW" = (
+/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
+/obj/machinery/door/airlock{
+ name = "Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/unres{
+ dir = 1
+ },
+/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/tile/yellow{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/medical/pharmacy)
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"din" = (
/obj/structure/disposalpipe/segment{
dir = 5
@@ -8853,15 +9111,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos/project)
-"diF" = (
-/obj/machinery/door/airlock/public/glass{
- name = "Barber"
- },
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/textured_half,
-/area/station/commons/fitness/locker_room)
"diG" = (
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/obj/machinery/light/small/directional/east,
@@ -8878,15 +9127,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"diK" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/obj/effect/turf_decal/tile/red/opposingcorners,
-/obj/effect/turf_decal/tile/blue/opposingcorners{
- dir = 8
- },
-/obj/effect/landmark/start/mime,
-/turf/open/floor/iron/smooth,
-/area/station/service/greenroom)
"diN" = (
/obj/effect/spawner/structure/window,
/obj/structure/disposalpipe/segment{
@@ -8909,15 +9149,6 @@
/obj/machinery/light/floor,
/turf/open/floor/iron/smooth,
/area/station/hallway/secondary/command)
-"djc" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/red/opposingcorners,
-/obj/effect/turf_decal/tile/blue/opposingcorners{
- dir = 8
- },
-/turf/open/floor/iron/smooth,
-/area/station/service/greenroom)
"djf" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -8939,14 +9170,19 @@
/obj/machinery/light/small/directional/west,
/turf/open/floor/iron/small,
/area/station/security/brig)
-"djE" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
+"djy" = (
+/obj/structure/table/reinforced,
+/obj/machinery/door/poddoor/shutters{
+ dir = 1;
+ id = "abandoned_lab";
+ name = "Abandoned Lab Shutters"
},
-/obj/effect/turf_decal/tile/purple/opposingcorners,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/turf/open/floor/iron/cafeteria,
-/area/station/science/circuits)
+/turf/open/floor/iron,
+/area/station/maintenance/department/science/xenobiology)
+"djD" = (
+/obj/structure/table/glass,
+/turf/open/floor/iron/smooth,
+/area/station/hallway/secondary/command)
"djO" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -8970,16 +9206,6 @@
},
/turf/open/floor/iron/smooth,
/area/station/engineering/main)
-"djY" = (
-/obj/machinery/door/airlock/public/glass{
- name = "Dorms"
- },
-/obj/structure/disposalpipe/segment,
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/textured_half,
-/area/station/commons/dorms)
"dkh" = (
/obj/effect/turf_decal/siding/wood{
dir = 1
@@ -8990,16 +9216,15 @@
},
/turf/open/floor/stone,
/area/station/service/chapel)
+"dkp" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/obj/effect/turf_decal/trimline/blue/filled/corner,
+/turf/open/floor/iron/white,
+/area/station/medical/treatment_center)
"dkv" = (
/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible,
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"dkw" = (
-/obj/effect/turf_decal/trimline/dark/end{
- dir = 8
- },
-/turf/open/floor/iron/dark/small,
-/area/station/maintenance/department/science/xenobiology)
"dkz" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -9008,17 +9233,23 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/iron,
/area/station/security/tram)
-"dkD" = (
-/obj/structure/closet/secure_closet/engineering_personal,
-/obj/item/clothing/suit/hooded/wintercoat/engineering,
-/obj/structure/cable,
-/turf/open/floor/iron/small,
-/area/station/engineering/break_room)
"dkI" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark/small,
/area/station/security/execution/education)
+"dkP" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/chair/sofa/bench/left{
+ dir = 1
+ },
+/obj/effect/landmark/start/hangover,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/dock)
"dkT" = (
/obj/effect/mapping_helpers/broken_floor,
/obj/effect/turf_decal/stripes/line{
@@ -9027,6 +9258,12 @@
/obj/effect/spawner/random/structure/crate,
/turf/open/floor/plating,
/area/station/hallway/secondary/construction)
+"dle" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 5
+ },
+/turf/open/floor/wood,
+/area/station/hallway/secondary/entry)
"dlj" = (
/obj/structure/reflector/single/anchored{
dir = 9
@@ -9054,14 +9291,6 @@
/obj/structure/extinguisher_cabinet/directional/north,
/turf/open/misc/dirt/station,
/area/station/service/chapel)
-"dlG" = (
-/obj/effect/turf_decal/siding/white{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/small,
-/area/station/science/xenobiology)
"dlJ" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/spawner/random/structure/crate,
@@ -9073,16 +9302,14 @@
/obj/effect/landmark/start/depsec/medical,
/turf/open/floor/iron/smooth,
/area/station/security/checkpoint/customs/auxiliary)
-"dml" = (
+"dmE" = (
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
- dir = 4
+/obj/effect/turf_decal/tile/red/opposingcorners,
+/obj/effect/turf_decal/tile/blue/opposingcorners{
+ dir = 8
},
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/medical/cryo)
+/turf/open/floor/iron/smooth,
+/area/station/service/greenroom)
"dmG" = (
/obj/structure/transport/linear/tram,
/obj/structure/tram,
@@ -9091,20 +9318,6 @@
"dmO" = (
/turf/open/floor/iron/dark,
/area/station/cargo/lobby)
-"dmT" = (
-/obj/machinery/camera/directional/north{
- c_tag = "Xenobiology - Cell 2";
- name = "xenobiology camera";
- network = list("ss13","xeno","rd")
- },
-/obj/effect/turf_decal/box/red/corners{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/white/line{
- dir = 10
- },
-/turf/open/floor/engine,
-/area/station/science/xenobiology)
"dmW" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -9115,11 +9328,6 @@
dir = 1
},
/area/station/security/prison/safe)
-"dnc" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/bot,
-/turf/open/floor/iron,
-/area/station/maintenance/department/science/xenobiology)
"dng" = (
/obj/effect/turf_decal/siding/wood{
dir = 10
@@ -9131,6 +9339,11 @@
/obj/machinery/light_switch/directional/south,
/turf/open/floor/stone,
/area/station/service/abandoned_gambling_den)
+"dns" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/dock)
"dnK" = (
/obj/item/kirbyplants/random,
/obj/item/storage/briefcase{
@@ -9140,23 +9353,11 @@
/obj/machinery/light/small/directional/east,
/turf/open/floor/iron/dark/small,
/area/station/security/detectives_office)
-"dnO" = (
-/obj/effect/turf_decal/trimline/white/warning{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/white/warning{
- dir = 8
- },
-/obj/effect/turf_decal/trimline/white/mid_joiner{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/white/mid_joiner{
- dir = 8
- },
-/obj/machinery/light/small/directional/south,
-/obj/structure/cable,
-/turf/open/floor/wood,
-/area/station/commons/fitness/recreation)
+"dnN" = (
+/obj/effect/spawner/random/medical/two_percent_xeno_egg_spawner,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/engine/bz,
+/area/station/science/xenobiology)
"dnU" = (
/obj/machinery/door/airlock/maintenance{
name = "Maintenance"
@@ -9197,6 +9398,12 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
+"doh" = (
+/obj/machinery/light_switch/directional/west,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/white/small,
+/area/station/science/server)
"doj" = (
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
@@ -9210,6 +9417,21 @@
},
/turf/open/floor/iron/white/small,
/area/station/command/heads_quarters/cmo)
+"doq" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/obj/structure/sign/poster/official/random/directional/north,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/corner{
+ dir = 1
+ },
+/area/station/hallway/secondary/dock)
"dor" = (
/obj/machinery/flasher/directional/west{
id = "AI";
@@ -9228,6 +9450,13 @@
/obj/effect/spawner/random/trash,
/turf/open/floor/plating,
/area/station/maintenance/aft)
+"dow" = (
+/obj/effect/turf_decal/tile/neutral,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/recreation)
"doJ" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -9239,6 +9468,9 @@
},
/turf/open/floor/plating,
/area/station/ai_monitored/turret_protected/aisat/maint)
+"doV" = (
+/turf/open/floor/iron/half,
+/area/station/hallway/primary/central/fore)
"dph" = (
/obj/structure/railing,
/turf/open/floor/catwalk_floor,
@@ -9253,6 +9485,16 @@
},
/turf/open/floor/iron/dark,
/area/station/ai_monitored/turret_protected/ai)
+"dpz" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/turf/open/floor/iron/white/corner{
+ dir = 1
+ },
+/area/station/hallway/primary/aft)
"dpH" = (
/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/mix_output{
dir = 8
@@ -9265,11 +9507,17 @@
},
/turf/open/floor/tram,
/area/station/security/tram)
-"dqj" = (
-/obj/machinery/power/apc/auto_name/directional/north,
+"dqi" = (
+/obj/effect/turf_decal/weather/snow,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/aft)
+/obj/machinery/airalarm/directional/west,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/components/binary/pump/on,
+/obj/effect/mapping_helpers/airalarm/tlv_cold_room,
+/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+/area/station/service/kitchen/coldroom)
"dqB" = (
/obj/structure/table,
/obj/item/clothing/head/utility/chefhat,
@@ -9292,6 +9540,13 @@
/obj/item/storage/photo_album/library,
/turf/open/floor/iron/grimy,
/area/station/service/library/private)
+"dqH" = (
+/obj/machinery/camera/autoname/directional/west,
+/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{
+ dir = 4
+ },
+/turf/open/floor/circuit,
+/area/station/tcommsat/server)
"dqO" = (
/turf/open/floor/iron/dark/small,
/area/station/security/checkpoint/customs/auxiliary)
@@ -9307,6 +9562,17 @@
/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/department/electrical)
+"dru" = (
+/obj/structure/chair/sofa/bench{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/blue,
+/obj/effect/landmark/start/assistant,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/turf/open/floor/iron/dark/side,
+/area/station/hallway/primary/central/fore)
"dry" = (
/obj/structure/bed/medical{
dir = 4
@@ -9330,16 +9596,13 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/wood,
/area/station/engineering/main)
-"drO" = (
-/obj/machinery/door/airlock/maintenance{
- name = "Maintenance"
+"dsa" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 1
},
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/mapping_helpers/airlock/access/all/engineering/tech_storage,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/engineering/storage/tech)
+/obj/structure/flora/bush/flowers_pp/style_random,
+/turf/open/floor/grass,
+/area/station/service/chapel)
"dsb" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -9358,18 +9621,19 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/department/engine/atmos)
+"dsj" = (
+/obj/machinery/door/airlock{
+ name = "Abandoned Brewery"
+ },
+/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"dsl" = (
/obj/item/kirbyplants/random,
/obj/effect/turf_decal/siding/wood/corner,
/turf/open/floor/wood/parquet,
/area/station/service/library)
-"dsp" = (
-/obj/effect/turf_decal/stripes/end{
- dir = 8
- },
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/engineering/storage/tech)
"dss" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/effect/turf_decal/siding/purple,
@@ -9377,9 +9641,9 @@
/obj/machinery/newscaster/directional/south,
/turf/open/floor/iron/dark,
/area/station/science/genetics)
-"dst" = (
-/obj/machinery/disposal/bin,
-/turf/open/floor/iron/dark,
+"dsE" = (
+/obj/structure/extinguisher_cabinet/directional/south,
+/turf/open/floor/iron/dark/small,
/area/station/medical/morgue)
"dsK" = (
/obj/effect/turf_decal/tile/red/opposingcorners,
@@ -9401,15 +9665,14 @@
/obj/structure/tram,
/turf/open/floor/tram,
/area/station/maintenance/port/aft)
-"dsW" = (
-/obj/machinery/door/airlock{
- name = "Abandoned Brewery"
- },
-/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
-/turf/open/floor/iron/dark/side{
- dir = 4
- },
-/area/station/maintenance/department/science/xenobiology)
+"dtd" = (
+/obj/structure/cable,
+/turf/closed/wall/r_wall,
+/area/station/command/bridge)
+"dtk" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden,
+/turf/closed/wall,
+/area/station/science/ordnance/testlab)
"dtm" = (
/obj/structure/window/spawner/directional/south,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
@@ -9422,33 +9685,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/commons/fitness/locker_room)
-"dtC" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/turf_decal/siding/purple{
- dir = 1
- },
-/obj/structure/table,
-/obj/item/storage/box/monkeycubes{
- pixel_x = 16;
- pixel_y = 9
- },
-/obj/item/storage/box/monkeycubes{
- pixel_x = 6;
- pixel_y = 4
- },
-/obj/item/storage/pill_bottle/mutadone{
- pixel_x = -7;
- pixel_y = 13
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/firealarm/directional/north,
-/obj/machinery/camera/autoname/directional/north,
-/obj/structure/cable,
-/obj/item/flesh_shears{
- pixel_x = -5
- },
-/turf/open/floor/iron/dark,
-/area/station/science/genetics)
"dtO" = (
/obj/effect/turf_decal/trimline/neutral/line{
dir = 1
@@ -9518,15 +9754,24 @@
},
/turf/open/floor/iron/small,
/area/station/commons/fitness/locker_room)
-"dvb" = (
-/obj/structure/chair/wood{
- dir = 4
- },
-/turf/open/floor/wood/large,
-/area/station/maintenance/department/science/xenobiology)
"dvd" = (
/turf/open/floor/iron/white/small,
/area/station/service/hydroponics)
+"dve" = (
+/obj/machinery/door/airlock/command{
+ name = "Telecomms Server Room"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms,
+/obj/machinery/door/firedoor,
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "comms-entrance-north"
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/station/tcommsat/server)
"dvo" = (
/obj/machinery/ore_silo,
/obj/effect/turf_decal/bot_white,
@@ -9537,13 +9782,16 @@
/obj/machinery/light/small/directional/west,
/turf/open/floor/iron/dark/herringbone,
/area/station/ai_monitored/command/nuke_storage)
-"dvI" = (
-/obj/structure/cable,
-/obj/effect/decal/cleanable/dirt/dust,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/maintenance/department/science/xenobiology)
+"dvw" = (
+/obj/machinery/suit_storage_unit/standard_unit,
+/obj/effect/turf_decal/delivery,
+/obj/machinery/button/door/directional/west{
+ name = "E.V.A Shutters";
+ req_access = list("command");
+ id = "evashutter"
+ },
+/turf/open/floor/iron/dark/smooth_large,
+/area/station/ai_monitored/command/storage/eva)
"dvJ" = (
/obj/structure/table/reinforced,
/obj/effect/turf_decal/tile/dark_red/fourcorners,
@@ -9578,6 +9826,13 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/iron,
/area/station/security/tram)
+"dwd" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/science/research)
"dwr" = (
/obj/structure/flora/bush/lavendergrass/style_random,
/obj/structure/flora/rock/pile/jungle/style_random,
@@ -9599,25 +9854,19 @@
/obj/structure/cable,
/turf/open/floor/iron/smooth_large,
/area/station/engineering/storage_shared)
-"dwT" = (
-/obj/structure/rack,
-/obj/item/poster/random_contraband{
- pixel_y = 8
- },
-/obj/item/poster/random_contraband{
+"dxc" = (
+/obj/item/book/manual/wiki/security_space_law{
+ pixel_x = 9;
pixel_y = 4
},
-/obj/item/poster/random_contraband,
-/obj/effect/turf_decal/bot_white,
-/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/item/radio{
+ pixel_x = -6;
+ pixel_y = -3
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/closet/secure_closet/security/science,
/turf/open/floor/iron/dark,
-/area/station/maintenance/department/science/xenobiology)
-"dwX" = (
-/obj/machinery/holopad,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
+/area/station/security/checkpoint/science)
"dxf" = (
/turf/open/floor/iron/smooth,
/area/station/maintenance/department/medical/central)
@@ -9627,15 +9876,10 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"dxw" = (
-/obj/effect/turf_decal/tile/neutral/opposingcorners,
-/obj/machinery/light/warm/directional/east,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/commons/fitness/recreation/entertainment)
+"dxz" = (
+/obj/machinery/light/small/directional/north,
+/turf/open/floor/engine/bz,
+/area/station/science/xenobiology)
"dxG" = (
/obj/effect/turf_decal/siding/wood{
dir = 4
@@ -9665,15 +9909,6 @@
},
/turf/open/floor/iron/dark/diagonal,
/area/station/service/bar)
-"dxZ" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/door/airlock{
- name = "Gas Lab Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/ordnance,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/aft)
"dyp" = (
/obj/effect/turf_decal/sand/plating,
/obj/effect/decal/cleanable/dirt,
@@ -9696,6 +9931,14 @@
/obj/structure/broken_flooring/singular/directional/east,
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
+"dys" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side{
+ dir = 8
+ },
+/area/station/science/research)
"dyF" = (
/obj/item/kirbyplants/random,
/obj/effect/turf_decal/tile/blue{
@@ -9713,14 +9956,12 @@
/turf/closed/wall/r_wall,
/area/station/engineering/supermatter)
"dyJ" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
- dir = 4
+/obj/effect/turf_decal/trimline/neutral/warning{
+ dir = 8
},
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/small,
-/area/station/science/ordnance/storage)
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/turf/open/floor/iron/dark/small,
+/area/station/medical/morgue)
"dyO" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -9738,6 +9979,18 @@
/obj/structure/closet/firecloset,
/turf/open/floor/iron/small,
/area/station/maintenance/port/lesser)
+"dza" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/landmark/start/hangover,
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/neutral/line,
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
"dzh" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -9753,23 +10006,31 @@
},
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
-"dzE" = (
-/obj/structure/disposalpipe/segment{
- dir = 5
+"dzp" = (
+/obj/structure/reagent_dispensers/watertank,
+/turf/open/floor/iron,
+/area/station/maintenance/port/aft)
+"dzI" = (
+/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms,
+/obj/machinery/door/airlock/command/glass{
+ name = "Telecommunications Server Room"
},
-/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/aft)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/station/tcommsat/server)
+"dzL" = (
+/obj/structure/disposalpipe/trunk,
+/obj/effect/turf_decal/bot,
+/obj/machinery/airalarm/directional/north,
+/obj/machinery/disposal/bin/tagger,
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"dAn" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"dAr" = (
-/obj/structure/transit_tube/horizontal,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/maintenance/starboard/aft)
"dAu" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -9885,13 +10146,6 @@
dir = 1
},
/area/station/hallway/secondary/exit/departure_lounge)
-"dBO" = (
-/obj/machinery/atmospherics/components/unary/passive_vent{
- dir = 8;
- name = "killroom vent"
- },
-/turf/open/floor/circuit/telecomms/mainframe,
-/area/station/science/xenobiology)
"dBT" = (
/obj/effect/turf_decal/box/white{
color = "#EFB341"
@@ -9921,6 +10175,15 @@
/obj/structure/tram,
/turf/open/floor/tram,
/area/station/maintenance/port/aft)
+"dCt" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/airalarm/directional/east,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/aft)
"dCu" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/stripes/line{
@@ -9949,20 +10212,12 @@
dir = 8
},
/area/station/security/office)
-"dDc" = (
-/obj/machinery/door/airlock/research/glass{
- name = "Ordnance Storage"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/ordnance,
-/obj/machinery/door/firedoor,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance/storage)
+"dCW" = (
+/obj/structure/table,
+/obj/effect/turf_decal/tile/red/fourcorners,
+/obj/item/folder/red,
+/turf/open/floor/iron,
+/area/station/security/courtroom)
"dDd" = (
/obj/structure/table,
/obj/item/exodrone{
@@ -9976,6 +10231,13 @@
dir = 1
},
/area/station/maintenance/starboard/greater)
+"dDy" = (
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
"dDB" = (
/turf/open/space/basic,
/area/space)
@@ -9999,16 +10261,6 @@
/obj/structure/steam_vent,
/turf/open/floor/plating,
/area/station/ai_monitored/turret_protected/aisat/maint)
-"dDO" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/box/red/corners{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/white/line{
- dir = 9
- },
-/turf/open/floor/engine,
-/area/station/science/xenobiology)
"dDQ" = (
/obj/structure/table/reinforced/plastitaniumglass,
/obj/item/inspector{
@@ -10068,6 +10320,12 @@
},
/turf/open/floor/tram,
/area/station/security/tram)
+"dEL" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/science/ordnance/testlab)
"dEY" = (
/obj/effect/turf_decal/siding/thinplating_new/light{
dir = 5
@@ -10111,6 +10369,15 @@
},
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
+"dFR" = (
+/obj/machinery/door/window/right/directional/south{
+ name = "Upload Console Window";
+ req_access = list("ai_upload")
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark,
+/area/station/ai_monitored/turret_protected/ai_upload)
"dFY" = (
/obj/machinery/power/energy_accumulator/tesla_coil/anchored,
/obj/structure/window/reinforced/plasma/spawner/directional/south,
@@ -10118,6 +10385,21 @@
/obj/structure/cable,
/turf/open/floor/engine,
/area/station/engineering/supermatter)
+"dGm" = (
+/obj/machinery/status_display/evac/directional/north,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/dock)
+"dGo" = (
+/obj/structure/table/reinforced/rglass,
+/obj/machinery/coffeemaker/impressa{
+ pixel_x = 2
+ },
+/obj/effect/turf_decal/tile/blue/opposingcorners{
+ dir = 8
+ },
+/turf/open/floor/iron/checker,
+/area/station/command/bridge)
"dGV" = (
/obj/structure/closet/emcloset,
/turf/open/floor/catwalk_floor,
@@ -10137,17 +10419,6 @@
},
/turf/open/floor/tram,
/area/station/security/tram)
-"dHp" = (
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 8
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron,
-/area/station/maintenance/department/science/xenobiology)
"dHx" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
@@ -10160,21 +10431,36 @@
},
/turf/open/floor/plating,
/area/station/maintenance/disposal/incinerator)
-"dHy" = (
-/obj/effect/turf_decal/delivery,
-/turf/open/floor/iron,
-/area/station/maintenance/department/science/xenobiology)
-"dHL" = (
+"dHI" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/siding/dark/corner{
- dir = 1
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/firedoor,
+/obj/effect/mapping_helpers/airlock/access/all/medical/psychology,
+/obj/machinery/door/airlock/medical{
+ name = "Pychologists Office"
},
-/turf/open/floor/iron/dark/textured_half{
- dir = 1
+/turf/open/floor/iron/dark/small,
+/area/station/medical/psychology)
+"dHJ" = (
+/obj/machinery/door/airlock/research/glass{
+ name = "Cubicle"
},
-/area/station/command/bridge)
+/obj/effect/mapping_helpers/airlock/access/all/science/general,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/catwalk_floor/iron_white,
+/area/station/science/research)
+"dHL" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/aft)
"dHT" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/neutral/fourcorners,
@@ -10228,14 +10514,14 @@
/obj/effect/spawner/random/structure/girder,
/turf/open/floor/plating,
/area/station/maintenance/fore/lesser)
-"dJj" = (
-/obj/effect/turf_decal/tile/neutral{
+"dJh" = (
+/obj/effect/turf_decal/tile/purple/opposingcorners,
+/obj/structure/chair/office{
dir = 8
},
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
+/obj/structure/cable,
+/turf/open/floor/iron/cafeteria,
+/area/station/science/circuits)
"dJn" = (
/obj/machinery/light/small/directional/south{
dir = 4
@@ -10283,10 +10569,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"dKo" = (
-/obj/effect/decal/cleanable/dirt/dust,
-/turf/open/floor/iron/dark/small,
-/area/station/maintenance/department/science/xenobiology)
"dKq" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -10319,11 +10601,32 @@
},
/turf/open/floor/plating,
/area/station/hallway/secondary/dock)
+"dKH" = (
+/obj/machinery/door/airlock/external{
+ name = "Solar Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/general,
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 1
+ },
+/obj/structure/cable,
+/turf/open/floor/catwalk_floor/iron_smooth,
+/area/station/maintenance/solars/starboard/fore)
"dKQ" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable/layer3,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/turret_protected/ai)
+"dKX" = (
+/obj/structure/table/wood,
+/obj/effect/turf_decal/siding/wood{
+ dir = 6
+ },
+/obj/item/storage/fancy/cigarettes/cigars{
+ pixel_y = 4
+ },
+/turf/open/floor/wood/large,
+/area/station/maintenance/department/science/xenobiology)
"dKY" = (
/obj/machinery/light/small/directional/south{
dir = 4
@@ -10333,6 +10636,15 @@
},
/turf/open/floor/engine/n2o,
/area/station/engineering/atmos)
+"dLb" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 4
+ },
+/obj/effect/turf_decal/siding/thinplating_new{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/herringbone,
+/area/station/security/courtroom)
"dLl" = (
/obj/effect/spawner/structure/window,
/obj/structure/curtain/bounty/start_closed,
@@ -10342,15 +10654,6 @@
/obj/structure/chair/office,
/turf/open/floor/iron/dark/herringbone,
/area/station/security/execution/education)
-"dLq" = (
-/obj/structure/cable,
-/obj/structure/table,
-/obj/item/hand_labeler,
-/obj/item/camera,
-/obj/machinery/firealarm/directional/north,
-/obj/machinery/power/apc/auto_name/directional/east,
-/turf/open/floor/iron,
-/area/station/commons/storage/art)
"dLv" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -10360,6 +10663,12 @@
},
/turf/open/floor/iron/dark,
/area/station/security/processing)
+"dLA" = (
+/obj/structure/sign/poster/official/random/directional/north,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/smooth_large,
+/area/station/service/lawoffice)
"dLR" = (
/obj/effect/turf_decal/siding/red{
dir = 8
@@ -10374,17 +10683,6 @@
/obj/effect/landmark/start/librarian,
/turf/open/floor/carpet,
/area/station/service/library)
-"dMe" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 1
- },
-/obj/effect/turf_decal/trimline/neutral/line,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
"dMg" = (
/obj/machinery/atmospherics/components/binary/pump{
dir = 4;
@@ -10409,6 +10707,19 @@
/obj/machinery/camera/autoname/directional/east,
/turf/open/floor/plating,
/area/station/construction/mining/aux_base)
+"dMw" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/door/poddoor/preopen{
+ id = "Xenolab";
+ name = "Test Chamber Blast Door"
+ },
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "XenoPens";
+ name = "Xenobiology Lockdown"
+ },
+/obj/structure/cable,
+/turf/open/floor/engine,
+/area/station/hallway/secondary/entry)
"dMC" = (
/obj/structure/window/reinforced/spawner/directional/north,
/obj/structure/window/reinforced/spawner/directional/south,
@@ -10416,14 +10727,6 @@
/obj/structure/window/reinforced/spawner/directional/west,
/turf/open/floor/plating,
/area/station/hallway/primary/central/fore)
-"dMM" = (
-/obj/effect/spawner/random/engineering/tracking_beacon,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
-"dMX" = (
-/obj/machinery/holopad/secure,
-/turf/open/floor/iron/dark,
-/area/station/ai_monitored/turret_protected/ai)
"dMY" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/item/wrench,
@@ -10436,12 +10739,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/engineering/gravity_generator)
-"dNo" = (
-/obj/machinery/portable_atmospherics/canister,
-/obj/machinery/atmospherics/components/unary/portables_connector/visible,
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance)
"dNq" = (
/turf/closed/wall/r_wall/rust,
/area/station/ai_monitored/aisat/exterior)
@@ -10459,38 +10756,11 @@
/obj/structure/chair/stool/directional/south,
/turf/open/floor/light/colour_cycle/dancefloor_b,
/area/station/maintenance/starboard/central)
-"dNL" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/neutral/end{
- dir = 4
- },
+"dNR" = (
+/obj/effect/spawner/structure/window/reinforced/tinted,
/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
-"dNN" = (
-/obj/structure/table/wood,
-/obj/effect/turf_decal/siding/wood{
- dir = 4
- },
-/obj/item/reagent_containers/cup/glass{
- pixel_x = -3;
- pixel_y = 4
- },
-/obj/item/reagent_containers/cup/glass{
- pixel_x = 5;
- pixel_y = 10
- },
-/turf/open/floor/wood/large,
-/area/station/maintenance/department/science/xenobiology)
-"dNU" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 5
- },
-/obj/effect/spawner/random/vending/snackvend,
-/turf/open/floor/iron/grimy,
-/area/station/hallway/secondary/entry)
+/turf/open/floor/plating,
+/area/station/command/corporate_dock)
"dOb" = (
/obj/structure/broken_flooring/singular/directional/east,
/obj/structure/alien/weeds,
@@ -10524,6 +10794,13 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"dOK" = (
+/obj/effect/turf_decal/siding/wideplating/corner{
+ dir = 8
+ },
+/obj/effect/turf_decal/siding/wideplating/corner,
+/turf/open/floor/wood,
+/area/station/engineering/main)
"dOP" = (
/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{
dir = 1
@@ -10585,6 +10862,14 @@
/obj/effect/turf_decal/siding/wood,
/turf/open/floor/wood,
/area/station/service/chapel)
+"dPS" = (
+/obj/machinery/door/airlock/engineering{
+ name = "Supplies Depot"
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/dark,
+/area/station/hallway/secondary/construction)
"dPW" = (
/obj/effect/turf_decal/tile/brown/opposingcorners,
/obj/structure/disposalpipe/segment{
@@ -10601,10 +10886,15 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/engineering/lobby)
-"dQm" = (
+"dQk" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/wood,
-/area/station/commons/fitness/recreation)
+/obj/machinery/camera/directional/west,
+/turf/open/floor/iron/white/side{
+ dir = 8
+ },
+/area/station/science/research)
"dQn" = (
/obj/structure/disposalpipe/segment{
dir = 6
@@ -10643,49 +10933,37 @@
/obj/effect/turf_decal/siding/wood/end,
/turf/open/floor/stone,
/area/station/service/chapel)
-"dRv" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/door/airlock/public/glass{
- name = "Research Wing"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "sci-entrance"
- },
-/obj/machinery/door/firedoor,
-/obj/machinery/door/poddoor/shutters/preopen{
- dir = 8;
- id = "rdrnd";
- name = "Research and Development Shutters"
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/white/textured_half{
- dir = 1
- },
-/area/station/hallway/primary/starboard)
"dRz" = (
/obj/docking_port/stationary/syndicate/northeast,
/turf/open/space/basic,
/area/space)
-"dRT" = (
+"dRI" = (
+/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/aft)
-"dSb" = (
-/obj/machinery/door/airlock/hatch{
- name = "Secure Pen"
- },
-/obj/machinery/atmospherics/pipe/smart/simple/general/visible{
- dir = 4
+/obj/machinery/door/airlock/public/glass{
+ name = "Lockers"
},
+/turf/open/floor/iron/textured_half,
+/area/station/commons/fitness/locker_room)
+"dRN" = (
+/obj/item/kirbyplants/organic/applebush,
/obj/structure/cable,
-/turf/open/floor/iron/white/textured_half{
- dir = 1
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/smooth_large,
+/area/station/command/bridge)
+"dSf" = (
+/obj/structure/sign/poster/official/random/directional/east,
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/obj/effect/turf_decal/siding/dark{
+ dir = 8
},
-/area/station/science/cytology)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/light/small/directional/east,
+/turf/open/floor/iron/dark/textured,
+/area/station/command/meeting_room)
"dSh" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -10695,23 +10973,19 @@
},
/turf/open/floor/iron/smooth,
/area/station/engineering/break_room)
-"dSq" = (
-/obj/structure/disposalpipe/segment{
- dir = 5
+"dSn" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
},
/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/central)
+/turf/open/floor/iron/grimy,
+/area/station/tcommsat/server)
"dSu" = (
/obj/structure/closet/secure_closet/brig,
/turf/open/floor/iron,
/area/station/security/execution/transfer)
-"dSz" = (
-/obj/machinery/airalarm/directional/south,
-/turf/open/floor/iron/showroomfloor,
-/area/station/commons/toilet/auxiliary)
"dSO" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -10745,14 +11019,6 @@
/obj/machinery/airalarm/directional/south,
/turf/open/floor/wood,
/area/station/cargo/boutique)
-"dTg" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/light/floor,
-/obj/effect/turf_decal/tile/neutral,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/aft)
"dTi" = (
/obj/machinery/light/cold/directional/west,
/obj/machinery/atmospherics/components/unary/thermomachine/freezer/layer2{
@@ -10769,6 +11035,14 @@
},
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
+"dTm" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/dark/side,
+/area/station/science/xenobiology)
"dTo" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
/obj/effect/turf_decal/stripes/line{
@@ -10776,15 +11050,6 @@
},
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
-"dTB" = (
-/obj/structure/broken_flooring/pile/directional/east,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/light/small/directional/south,
-/obj/structure/alien/weeds,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/greater)
"dTH" = (
/obj/effect/landmark/start/hangover,
/obj/effect/turf_decal/trimline/neutral/line,
@@ -10797,6 +11062,22 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/maintenance/starboard/aft)
+"dTJ" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light/floor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/grimy,
+/area/station/tcommsat/server)
+"dTO" = (
+/obj/effect/turf_decal/stripes/end{
+ dir = 4
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/engineering/storage/tech)
"dTW" = (
/obj/effect/turf_decal/tile/brown/opposingcorners,
/obj/machinery/computer/shuttle/mining{
@@ -10805,6 +11086,14 @@
/obj/machinery/light/cold/directional/west,
/turf/open/floor/iron,
/area/station/cargo/miningoffice)
+"dUb" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/atmospherics/components/unary/portables_connector/visible,
+/turf/open/floor/plating,
+/area/station/science/ordnance/storage)
"dUw" = (
/obj/structure/railing{
dir = 4
@@ -10847,24 +11136,26 @@
/obj/machinery/holopad,
/turf/open/floor/iron/dark/small,
/area/station/science/xenobiology)
-"dUS" = (
-/obj/machinery/door/airlock/research/glass{
- name = "Cubicle"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/general,
-/obj/machinery/door/firedoor,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/catwalk_floor/iron_white,
-/area/station/science/cubicle)
"dUY" = (
-/obj/effect/spawner/random/structure/closet_maintenance,
-/obj/effect/spawner/random/entertainment/drugs,
-/obj/effect/spawner/random/entertainment/drugs,
-/obj/effect/decal/cleanable/cobweb/cobweb2,
+/obj/effect/spawner/structure/window/reinforced/tinted,
+/obj/structure/cable,
/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
+/area/station/tcommsat/server)
+"dVi" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/department/engine)
+"dVL" = (
+/obj/structure/flora/bush/jungle,
+/obj/structure/marker_beacon/yellow,
+/turf/open/floor/grass,
+/area/station/medical/morgue)
"dVQ" = (
/obj/effect/turf_decal/weather/dirt{
dir = 8
@@ -10883,36 +11174,10 @@
/obj/effect/landmark/start/depsec/supply,
/turf/open/floor/iron/smooth,
/area/station/security/checkpoint/supply)
-"dWh" = (
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/structure/sign/departments/science/directional/north,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
"dWm" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/eighties/red,
/area/station/service/abandoned_gambling_den/gaming)
-"dWs" = (
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/dark/corner,
-/area/station/science/xenobiology)
-"dWz" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/chair/sofa/bench/right{
- dir = 4
- },
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/iron,
-/area/station/maintenance/department/medical/central)
"dWF" = (
/obj/structure/disposalpipe/junction/flip{
dir = 8
@@ -10923,17 +11188,6 @@
/obj/machinery/status_display/evac/directional/north,
/turf/open/floor/iron,
/area/station/hallway/secondary/recreation)
-"dWG" = (
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/recreation)
"dWK" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/obj/structure/chair/office{
@@ -10942,44 +11196,10 @@
/obj/effect/landmark/start/warden,
/turf/open/floor/iron,
/area/station/security/warden)
-"dWS" = (
-/obj/structure/rack,
-/obj/effect/spawner/random/techstorage/security_all,
-/obj/effect/turf_decal/tile/red/opposingcorners,
-/obj/effect/turf_decal/bot,
-/obj/structure/sign/poster/official/random/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/engineering/storage/tech)
"dWW" = (
/obj/machinery/portable_atmospherics/canister/air,
/turf/open/floor/plating,
/area/station/maintenance/central/lesser)
-"dXb" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/plasticflaps/opaque,
-/obj/machinery/navbeacon{
- codes_txt = "delivery;dir=4";
- location = "Research"
- },
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/central)
-"dXe" = (
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "sci-entrance"
- },
-/obj/machinery/door/airlock/research/glass{
- name = "Experimentation Lab"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/research,
-/obj/machinery/door/firedoor,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/catwalk_floor/iron,
-/area/station/science/lower)
"dXu" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -10988,6 +11208,16 @@
/obj/structure/chair/stool/directional/south,
/turf/open/floor/iron,
/area/station/cargo/sorting)
+"dXx" = (
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance)
"dXO" = (
/obj/effect/spawner/structure/window/reinforced/tinted,
/obj/structure/disposalpipe/segment{
@@ -10995,16 +11225,6 @@
},
/turf/open/floor/plating,
/area/station/service/janitor)
-"dXU" = (
-/obj/machinery/portable_atmospherics/canister,
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/portables_connector/visible{
- dir = 8
- },
-/turf/open/floor/iron/white/corner{
- dir = 1
- },
-/area/station/science/xenobiology)
"dYc" = (
/obj/structure/table,
/obj/machinery/recharger{
@@ -11021,6 +11241,14 @@
},
/turf/open/floor/iron/dark,
/area/station/security/lockers)
+"dYg" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/obj/item/kirbyplants/random,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/science/xenobiology)
"dYj" = (
/obj/structure/table,
/obj/effect/turf_decal/tile/dark_red,
@@ -11049,6 +11277,14 @@
/obj/structure/closet/radiation,
/turf/open/floor/iron/dark,
/area/station/engineering/atmospherics_engine)
+"dYA" = (
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/obj/machinery/airalarm/directional/east,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"dYE" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -11076,11 +11312,6 @@
/obj/effect/mapping_helpers/airlock/abandoned,
/turf/open/floor/plating,
/area/station/maintenance/starboard/greater)
-"dYW" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance/testlab)
"dYX" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -11111,14 +11342,6 @@
},
/turf/open/floor/iron/dark/textured,
/area/station/ai_monitored/turret_protected/ai)
-"dZp" = (
-/obj/item/kirbyplants/random,
-/obj/machinery/light/small/directional/east,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
- },
-/turf/open/floor/iron/white,
-/area/station/science/auxlab/firing_range)
"dZD" = (
/obj/machinery/camera/directional/south{
c_tag = "AI Chamber - Core";
@@ -11138,14 +11361,6 @@
},
/turf/open/floor/iron/small,
/area/station/security/prison/shower)
-"dZJ" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/neutral,
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/primary/fore)
"dZT" = (
/obj/machinery/button/transport/tram/directional/south{
id = 2;
@@ -11182,15 +11397,23 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/maintenance/fore/greater)
-"ebc" = (
+"eay" = (
/obj/structure/disposalpipe/segment,
/obj/effect/decal/cleanable/dirt,
-/obj/structure/steam_vent,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/plating,
-/area/station/maintenance/starboard/fore)
+/area/station/maintenance/starboard/central)
+"eaT" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/blue/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/white,
+/area/station/medical/medbay/lobby)
"ebe" = (
/obj/structure/hoop{
dir = 4;
@@ -11218,6 +11441,13 @@
/obj/effect/turf_decal/tile/blue,
/turf/open/floor/iron/dark/side,
/area/station/hallway/primary/central/fore)
+"ebx" = (
+/obj/effect/landmark/start/hangover,
+/obj/structure/broken_flooring/pile/directional/east,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/hallway/secondary/dock)
"ebE" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -11297,9 +11527,19 @@
"ecL" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/transit_tube/horizontal,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
+"ecW" = (
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/machinery/light/small/directional/south,
+/obj/structure/cable,
+/turf/open/floor/iron/white/side{
+ dir = 1
+ },
+/area/station/science/lobby)
"ecY" = (
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
@@ -11310,15 +11550,6 @@
/obj/structure/sign/poster/official/random/directional/north,
/turf/open/floor/iron/smooth,
/area/station/ai_monitored/turret_protected/aisat/teleporter)
-"ede" = (
-/obj/machinery/light/floor,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side{
- dir = 1
- },
-/area/station/science/research)
"edk" = (
/obj/effect/turf_decal/tile/green/opposingcorners,
/obj/effect/turf_decal/tile/blue/opposingcorners{
@@ -11330,6 +11561,24 @@
},
/turf/open/floor/iron,
/area/station/service/hydroponics)
+"edl" = (
+/obj/structure/table/glass,
+/obj/item/book/manual/wiki/cytology{
+ pixel_x = 6;
+ pixel_y = 4
+ },
+/obj/item/reagent_containers/dropper{
+ pixel_x = -11;
+ pixel_y = -4
+ },
+/obj/item/biopsy_tool{
+ pixel_x = -5;
+ pixel_y = 2
+ },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/structure/cable,
+/turf/open/floor/iron/white,
+/area/station/science/cytology)
"edA" = (
/obj/machinery/conveyor_switch/oneway{
dir = 8;
@@ -11398,13 +11647,6 @@
dir = 8
},
/area/station/cargo/storage)
-"eem" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/broken_flooring/singular/directional/east,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/dock)
"eeD" = (
/obj/structure/showcase/cyborg/old{
pixel_y = 20
@@ -11420,6 +11662,11 @@
},
/turf/open/floor/plating,
/area/station/maintenance/department/engine/atmos)
+"efd" = (
+/obj/machinery/power/port_gen/pacman/pre_loaded,
+/obj/effect/turf_decal/delivery/red,
+/turf/open/floor/iron/dark,
+/area/station/maintenance/department/science/xenobiology)
"efi" = (
/obj/effect/turf_decal/tile/yellow{
dir = 1
@@ -11436,32 +11683,34 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
+"efv" = (
+/obj/effect/turf_decal/weather/snow,
+/obj/structure/closet/secure_closet/freezer/fridge,
+/obj/item/food/meat/bacon,
+/obj/item/food/meat/bacon,
+/obj/item/food/meat/slab/monkey,
+/obj/item/food/meat/slab/monkey,
+/obj/item/food/meat/slab/monkey,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 4
+ },
+/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+/area/station/service/kitchen/coldroom)
"efy" = (
/obj/item/kirbyplants/organic/plant21,
/obj/machinery/status_display/ai/directional/west,
/obj/machinery/camera/autoname/directional/west,
/turf/open/floor/iron/smooth,
/area/station/ai_monitored/turret_protected/aisat/foyer)
-"efB" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/blue/anticorner/contrasted{
- dir = 4
- },
-/turf/open/floor/iron/white,
-/area/station/medical/medbay/lobby)
-"efK" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
+"efO" = (
+/obj/effect/turf_decal/sand/plating,
+/obj/machinery/power/floodlight,
+/obj/structure/alien/weeds,
+/obj/effect/gibspawner/human,
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side{
- dir = 10
- },
-/area/station/science/lower)
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/greater)
"efS" = (
/obj/machinery/computer/security/qm{
dir = 1
@@ -11523,19 +11772,6 @@
},
/turf/open/floor/iron/small,
/area/station/commons/fitness/locker_room)
-"egL" = (
-/obj/effect/mapping_helpers/airlock/access/all/science/rd,
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/command{
- name = "Research Director's Office"
- },
-/obj/machinery/door/poddoor/preopen{
- id = "rdoffice";
- name = "Research Director's Shutters"
- },
-/obj/structure/cable,
-/turf/open/floor/catwalk_floor/iron_white,
-/area/station/science/cubicle)
"egN" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -11580,12 +11816,6 @@
},
/turf/open/floor/iron/smooth,
/area/station/engineering/main)
-"ehf" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/firealarm/directional/north,
-/turf/open/floor/iron,
-/area/station/commons/fitness/locker_room)
"ehj" = (
/obj/effect/spawner/structure/window/reinforced/tinted,
/turf/open/floor/plating,
@@ -11603,6 +11833,19 @@
/obj/effect/turf_decal/loading_area,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
+"ehM" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/spawner/random/engineering/atmospherics_portable,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/iron,
+/area/station/maintenance/department/science/xenobiology)
+"ehP" = (
+/obj/structure/table/reinforced,
+/obj/machinery/firealarm/directional/east,
+/obj/item/storage/box/bodybags,
+/obj/item/clothing/mask/gas/plaguedoctor,
+/turf/open/floor/iron/dark/small,
+/area/station/medical/morgue)
"ehT" = (
/obj/machinery/door/airlock{
id_tag = "commiss2";
@@ -11622,17 +11865,17 @@
/obj/effect/landmark/start/paramedic,
/turf/open/floor/iron/dark,
/area/station/medical/paramedic)
-"ehZ" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+"ehW" = (
/obj/structure/disposalpipe/segment{
- dir = 10
+ dir = 4
},
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/broken_flooring/singular/directional/south,
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical/central)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/structure/sign/poster/official/report_crimes/directional/north,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"eib" = (
/obj/machinery/conveyor_switch/oneway{
id = "QMLoad2";
@@ -11652,11 +11895,27 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/smooth,
/area/station/ai_monitored/turret_protected/aisat/equipment)
+"eis" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/side,
+/area/station/science/xenobiology)
"eiy" = (
/obj/machinery/camera/autoname/directional/south,
/obj/machinery/light/cold/directional/south,
/turf/open/floor/iron/dark,
/area/station/security/office)
+"eiA" = (
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/item/radio/intercom/directional/east,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"eiC" = (
/obj/structure/cable/multilayer/connected,
/obj/structure/rack,
@@ -11709,6 +11968,10 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/cargo/bitrunning/den)
+"ejx" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/science/ordnance/testlab)
"ejL" = (
/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden,
/obj/effect/turf_decal/tile/yellow,
@@ -11753,6 +12016,24 @@
},
/turf/open/floor/engine/n2o,
/area/station/engineering/atmos)
+"ekc" = (
+/obj/structure/chair/sofa/bench/right{
+ dir = 8
+ },
+/obj/machinery/newscaster/directional/north,
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/machinery/airalarm/directional/east,
+/turf/open/floor/iron/cafeteria,
+/area/station/hallway/secondary/exit/departure_lounge)
+"ekk" = (
+/obj/structure/table/wood,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 4
+ },
+/turf/open/floor/stone,
+/area/station/service/bar)
"ekr" = (
/obj/effect/turf_decal/siding/dark_red{
dir = 1
@@ -11826,64 +12107,15 @@
/obj/effect/turf_decal/siding/end,
/turf/open/floor/iron/dark/textured_large,
/area/station/service/kitchen)
-"elc" = (
-/obj/machinery/door/airlock/research/glass{
- name = "Robotics Lab"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/robotics,
-/obj/machinery/door/firedoor,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/catwalk_floor/iron_white,
-/area/station/science/robotics/mechbay)
-"elh" = (
-/obj/structure/sign/warning/cold_temp/directional/west,
-/obj/machinery/camera/autoname/directional/west,
-/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer2,
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance)
"eln" = (
/obj/structure/flora/tree/jungle/small/style_5,
/turf/open/floor/grass,
/area/station/service/chapel)
-"elv" = (
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{
- dir = 4
- },
-/obj/machinery/door/airlock/command{
- name = "Chief Engineer's Office"
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/ce,
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/dark/small,
-/area/station/engineering/main)
-"elw" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 1
- },
-/obj/effect/mapping_helpers/broken_floor,
-/obj/structure/table,
-/obj/item/reagent_containers/dropper,
-/obj/machinery/reagentgrinder{
- pixel_x = -7;
- pixel_y = 17
- },
-/turf/open/floor/iron,
-/area/station/medical/chemistry)
-"ely" = (
-/obj/structure/closet/emcloset,
-/obj/machinery/newscaster/directional/west,
-/obj/effect/turf_decal/tile/red/opposingcorners{
- dir = 1
- },
-/obj/item/radio/intercom/directional/north,
-/turf/open/floor/iron/cafeteria,
-/area/station/hallway/secondary/exit/departure_lounge)
+"elr" = (
+/obj/machinery/door/airlock/glass,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/greater)
"elC" = (
/obj/structure/table/glass,
/obj/machinery/computer/records/medical/laptop{
@@ -11900,15 +12132,6 @@
},
/turf/open/floor/wood/parquet,
/area/station/command/heads_quarters/cmo)
-"elM" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/turf/open/floor/iron/white,
-/area/station/medical/medbay/lobby)
"elR" = (
/obj/structure/table,
/obj/structure/window/spawner/directional/south,
@@ -11916,11 +12139,6 @@
/obj/effect/turf_decal/tile/blue/fourcorners,
/turf/open/floor/iron,
/area/station/security/courtroom)
-"elT" = (
-/obj/effect/turf_decal/tile/dark_red/anticorner/contrasted,
-/obj/structure/cable,
-/turf/open/floor/iron/smooth,
-/area/station/security/checkpoint/customs)
"emd" = (
/turf/open/floor/iron,
/area/station/medical/chemistry)
@@ -11929,15 +12147,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/department/engine/atmos)
-"emn" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/turf_decal/siding/purple{
- dir = 8
- },
-/obj/machinery/holopad,
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/rd)
"emz" = (
/turf/closed/wall/r_wall/rust,
/area/station/maintenance/department/electrical)
@@ -11964,14 +12173,6 @@
},
/turf/open/floor/iron,
/area/station/maintenance/department/medical/central)
-"enb" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/landmark/navigate_destination/aiupload,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white,
-/area/station/hallway/primary/starboard)
"enE" = (
/obj/item/cultivator/rake,
/obj/structure/cable,
@@ -12010,16 +12211,6 @@
/obj/item/radio/intercom/directional/north,
/turf/open/floor/iron/dark/small,
/area/station/command/heads_quarters/rd)
-"eoa" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/airalarm/directional/east,
-/obj/effect/turf_decal/tile/dark_red{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/security/prison)
"eof" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -12054,12 +12245,40 @@
/obj/structure/disposalpipe/segment,
/turf/closed/wall,
/area/station/maintenance/central/greater)
+"eoN" = (
+/obj/machinery/camera/autoname/directional/north,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/commons/dorms)
+"eoU" = (
+/obj/item/radio/intercom/directional/north,
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/corner{
+ dir = 1
+ },
+/area/station/hallway/secondary/entry)
"epa" = (
/obj/machinery/telecomms/bus/preset_four,
/obj/effect/decal/cleanable/dirt,
/obj/machinery/camera/autoname/directional/east,
/turf/open/floor/circuit,
/area/station/tcommsat/server)
+"epi" = (
+/obj/effect/turf_decal/tile/purple/opposingcorners,
+/obj/effect/turf_decal/siding/green{
+ dir = 8
+ },
+/obj/machinery/airalarm/directional/west,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/cafeteria,
+/area/station/science/circuits)
"epm" = (
/obj/machinery/light/no_nightlight/directional/east,
/obj/machinery/firealarm/directional/east,
@@ -12087,6 +12306,12 @@
},
/turf/open/floor/iron/white/textured_large,
/area/station/medical/medbay/lobby)
+"ept" = (
+/obj/structure/window/spawner/directional/north,
+/obj/structure/window/spawner/directional/south,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/greater)
"epu" = (
/obj/machinery/holopad,
/turf/open/floor/iron,
@@ -12118,10 +12343,6 @@
},
/turf/open/floor/iron/dark/small,
/area/station/science/xenobiology)
-"eqG" = (
-/obj/machinery/light/small/directional/west,
-/turf/open/floor/iron/dark/small,
-/area/station/maintenance/central/lesser)
"eqI" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -12134,6 +12355,10 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/small,
/area/station/hallway/secondary/service)
+"eqJ" = (
+/obj/effect/spawner/random/structure/crate_abandoned,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"eqS" = (
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
@@ -12156,14 +12381,14 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
-"erA" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
+"erp" = (
+/obj/structure/disposalpipe/segment{
+ dir = 5
},
+/obj/item/kirbyplants/random,
+/obj/structure/cable,
/turf/open/floor/iron,
-/area/station/hallway/primary/aft)
+/area/station/science/lower)
"erE" = (
/obj/effect/turf_decal/siding/wood,
/turf/open/floor/wood/tile,
@@ -12183,6 +12408,15 @@
/obj/machinery/computer/records/security,
/turf/open/floor/iron/small,
/area/station/security/office)
+"esf" = (
+/obj/structure/chair/office{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/landmark/start/lawyer,
+/obj/structure/cable,
+/turf/open/floor/wood/tile,
+/area/station/service/lawoffice)
"esr" = (
/obj/effect/turf_decal/tile/blue,
/obj/structure/cable,
@@ -12201,18 +12435,6 @@
},
/turf/open/space/basic,
/area/space)
-"esy" = (
-/obj/structure/lattice,
-/turf/open/space/basic,
-/area/station/maintenance/department/engine/atmos)
-"esz" = (
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/central)
"esF" = (
/obj/structure/cable,
/obj/item/kirbyplants/organic/applebush,
@@ -12222,33 +12444,31 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/wood/large,
/area/station/command/heads_quarters/captain/private)
+"esG" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/door/firedoor,
+/obj/effect/mapping_helpers/airlock/access/all/command/general,
+/obj/machinery/door/airlock/command/glass{
+ name = "Command Hallway"
+ },
+/turf/open/floor/catwalk_floor/iron_smooth,
+/area/station/hallway/secondary/command)
"esI" = (
/obj/effect/turf_decal/tile/green/half/contrasted,
/obj/machinery/computer/pandemic,
/obj/machinery/light/cold/directional/south,
/turf/open/floor/iron/white,
/area/station/medical/virology)
-"esP" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+"esV" = (
/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/iron/white/corner{
+ dir = 1
},
-/obj/structure/sign/departments/medbay/directional/east,
-/turf/open/floor/iron,
-/area/station/hallway/primary/aft)
-"esW" = (
-/obj/effect/turf_decal/tile/blue{
- dir = 8
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/sink/directional/south,
-/obj/structure/mirror/directional/north,
-/turf/open/floor/iron,
-/area/station/maintenance/department/science/xenobiology)
+/area/station/science/lower)
"ete" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -12295,6 +12515,13 @@
/obj/machinery/light/small/directional/south,
/turf/open/floor/stone,
/area/station/service/chapel)
+"etW" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/dock)
"etZ" = (
/obj/effect/turf_decal/tile/dark_red/half/contrasted,
/obj/effect/turf_decal/siding/wideplating/dark/corner{
@@ -12314,13 +12541,15 @@
},
/turf/open/floor/wood,
/area/station/engineering/main)
-"eul" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
+"eun" = (
+/obj/structure/disposalpipe/segment{
+ dir = 5
},
-/obj/machinery/firealarm/directional/south,
-/turf/open/floor/iron/white/small,
-/area/station/commons/fitness/locker_room)
+/obj/effect/landmark/navigate_destination/lawyer,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/recreation)
"euq" = (
/obj/structure/cable,
/obj/item/kirbyplants/random/fullysynthetic,
@@ -12343,6 +12572,19 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/closed/wall,
/area/station/hallway/primary/central/aft)
+"euM" = (
+/obj/effect/mapping_helpers/airlock/access/all/science/rd,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/command{
+ name = "Research Director's Office"
+ },
+/obj/machinery/door/poddoor/preopen{
+ id = "rdoffice";
+ name = "Research Director's Shutters"
+ },
+/obj/structure/cable,
+/turf/open/floor/catwalk_floor/iron_white,
+/area/station/science/cubicle)
"euO" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/white/line{
@@ -12350,24 +12592,12 @@
},
/turf/open/floor/engine,
/area/station/science/xenobiology)
-"euR" = (
-/obj/structure/hedge,
-/turf/open/floor/iron/dark,
-/area/station/engineering/storage/tech)
"eva" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 4
},
/turf/open/floor/iron/dark/smooth_large,
/area/station/security/execution/education)
-"evb" = (
-/obj/structure/disposalpipe/trunk{
- dir = 8
- },
-/obj/machinery/disposal/bin,
-/obj/effect/turf_decal/bot,
-/turf/open/floor/iron/white,
-/area/station/medical/treatment_center)
"evj" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden{
@@ -12375,20 +12605,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/disposal/incinerator)
-"evq" = (
-/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance)
-"evv" = (
-/obj/machinery/door/airlock{
- name = "Abandoned Lab"
- },
-/obj/structure/barricade/wooden,
-/obj/effect/mapping_helpers/airlock/access/all/science/xenobio,
-/turf/open/floor/plating,
-/area/station/science/xenobiology)
"evw" = (
/obj/machinery/atmospherics/pipe/smart/simple/orange{
dir = 9
@@ -12418,14 +12634,6 @@
/obj/machinery/light/small/directional/north,
/turf/open/floor/plating,
/area/station/engineering/supermatter/room)
-"ewt" = (
-/obj/machinery/firealarm/directional/south,
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
- },
-/turf/open/floor/iron/smooth,
-/area/station/maintenance/solars/starboard/fore)
"ewF" = (
/obj/effect/turf_decal/tile/blue{
dir = 4
@@ -12435,20 +12643,40 @@
dir = 1
},
/area/station/hallway/secondary/dock)
+"ewO" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/junction/flip{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/medical/medbay/central)
"ewW" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/maintenance/department/medical/central)
-"exu" = (
-/obj/machinery/status_display/ai/directional/south,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
+"exj" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 5
},
-/turf/open/floor/iron/white/side{
- dir = 1
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/wood/tile,
+/area/station/tcommsat/server)
+"exy" = (
+/obj/machinery/door/airlock/research{
+ name = "Xenobiology Secure Lab"
},
-/area/station/science/lower)
+/obj/effect/mapping_helpers/airlock/access/all/science/xenobio,
+/obj/machinery/door/firedoor,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/science/xenobiology)
"exF" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/cable,
@@ -12470,13 +12698,6 @@
/obj/effect/landmark/start/station_engineer,
/turf/open/floor/wood,
/area/station/engineering/break_room)
-"exR" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/broken_flooring/singular/directional/south,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/hallway/secondary/dock)
"exW" = (
/obj/effect/turf_decal/tile/green/half/contrasted{
dir = 8
@@ -12485,6 +12706,21 @@
/obj/structure/sink/directional/east,
/turf/open/floor/iron/white,
/area/station/medical/virology)
+"eyo" = (
+/obj/structure/table/wood,
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/obj/item/reagent_containers/cup/glass{
+ pixel_x = -3;
+ pixel_y = 4
+ },
+/obj/item/reagent_containers/cup/glass{
+ pixel_x = 5;
+ pixel_y = 10
+ },
+/turf/open/floor/wood/large,
+/area/station/maintenance/department/science/xenobiology)
"eyx" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/door/firedoor,
@@ -12514,6 +12750,18 @@
/obj/effect/mapping_helpers/airlock/access/all/security/general,
/turf/open/floor/iron/textured_half,
/area/station/security/lockers)
+"eyI" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/effect/landmark/start/hangover,
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"eyJ" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -12543,17 +12791,6 @@
/obj/machinery/firealarm/directional/west,
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
-"ezb" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/turf/open/floor/iron/white/side{
- dir = 8
- },
-/area/station/science/lobby)
"ezi" = (
/obj/structure/chair/stool/directional/west,
/turf/open/floor/iron/cafeteria,
@@ -12584,12 +12821,14 @@
/obj/effect/mapping_helpers/requests_console/assistance,
/turf/open/floor/wood/large,
/area/station/command/heads_quarters/captain)
-"ezy" = (
-/obj/structure/reagent_dispensers/fueltank,
-/obj/effect/turf_decal/delivery,
-/obj/effect/decal/cleanable/dirt,
+"ezC" = (
+/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
+ dir = 4
+ },
+/obj/machinery/airalarm/directional/north,
+/obj/structure/chair,
/turf/open/floor/iron,
-/area/station/maintenance/department/science/xenobiology)
+/area/station/commons/storage/tools)
"ezE" = (
/obj/vehicle/ridden/secway,
/turf/open/floor/plating,
@@ -12628,10 +12867,6 @@
/obj/machinery/door/firedoor,
/turf/open/floor/iron/dark/textured_half,
/area/station/command/heads_quarters/hop)
-"eAf" = (
-/obj/machinery/light/floor,
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"eAm" = (
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt,
@@ -12648,23 +12883,18 @@
/obj/machinery/camera/autoname/directional/north,
/turf/open/floor/iron/smooth_large,
/area/station/science/robotics/mechbay)
+"eAo" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/grimy,
+/area/station/commons/vacant_room/office)
"eAu" = (
/obj/structure/cable,
/obj/machinery/power/tracker,
/obj/structure/lattice/catwalk,
/turf/open/space/basic,
/area/station/solars/starboard/aft)
-"eAz" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/siding/white{
- dir = 1
- },
-/obj/machinery/light/floor,
-/turf/open/floor/noslip,
-/area/station/medical/medbay/central)
"eAE" = (
/obj/item/stack/sheet/plasteel{
amount = 10;
@@ -12692,6 +12922,22 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/smooth,
/area/station/ai_monitored/turret_protected/aisat/teleporter)
+"eAP" = (
+/obj/machinery/door/airlock/public/glass{
+ name = "Research Wing"
+ },
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/white/textured_half{
+ dir = 1
+ },
+/area/station/hallway/primary/starboard)
+"eAU" = (
+/obj/machinery/suit_storage_unit/standard_unit,
+/obj/effect/turf_decal/delivery,
+/obj/machinery/light/small/directional/south,
+/turf/open/floor/iron/dark/smooth_large,
+/area/station/ai_monitored/command/storage/eva)
"eAY" = (
/turf/open/floor/grass,
/area/station/science/xenobiology)
@@ -12733,10 +12979,6 @@
/obj/structure/barricade/wooden/crude,
/turf/open/floor/noslip,
/area/station/maintenance/department/medical/central)
-"eBT" = (
-/obj/item/shovel,
-/turf/open/misc/dirt/station,
-/area/station/medical/morgue)
"eCf" = (
/obj/machinery/porta_turret/ai{
dir = 4
@@ -12777,6 +13019,22 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/cargo/sorting)
+"eCW" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/door/poddoor/preopen{
+ id = "Xenolab";
+ name = "Test Chamber Blast Door"
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/general/visible{
+ dir = 4
+ },
+/turf/open/floor/catwalk_floor/iron,
+/area/station/science/xenobiology)
+"eDe" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable,
+/turf/open/space/basic,
+/area/space/nearstation)
"eDh" = (
/obj/effect/spawner/structure/window/survival_pod,
/turf/open/floor/engine,
@@ -12827,14 +13085,6 @@
},
/turf/open/floor/iron,
/area/station/cargo/storage)
-"eDz" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/structure/extinguisher_cabinet/directional/north,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/white,
-/area/station/hallway/primary/starboard)
"eDF" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/box/red/corners{
@@ -12890,11 +13140,6 @@
/obj/item/stamp/head/hos,
/turf/open/floor/carpet/red,
/area/station/command/heads_quarters/hos)
-"eEi" = (
-/obj/structure/broken_flooring/side/directional/west,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"eEj" = (
/obj/machinery/door/firedoor/heavy,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -12902,6 +13147,20 @@
/obj/structure/cable,
/turf/open/floor/iron/dark/textured,
/area/station/engineering/atmos/office)
+"eEl" = (
+/obj/effect/turf_decal/tile/blue,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/machinery/button/door/directional/east{
+ name = "E.V.A Shutters";
+ req_access = list("command");
+ id = "evashutter"
+ },
+/turf/open/floor/iron/dark/side{
+ dir = 4
+ },
+/area/station/hallway/primary/fore)
"eEn" = (
/obj/effect/mapping_helpers/broken_floor,
/obj/structure/railing{
@@ -12942,15 +13201,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/smooth,
/area/station/ai_monitored/turret_protected/aisat/equipment)
-"eFi" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/light/directional/south,
-/obj/machinery/airalarm/directional/south,
-/obj/effect/mapping_helpers/airalarm/engine_access,
-/obj/effect/mapping_helpers/airalarm/tlv_no_checks,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"eFk" = (
/obj/structure/cable/layer3,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -12988,29 +13238,24 @@
/obj/item/radio/intercom/directional/west,
/turf/open/floor/iron,
/area/station/security/prison)
-"eFO" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical/central)
-"eFQ" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/blue,
-/turf/open/floor/iron/dark/side{
- dir = 4
- },
-/area/station/hallway/primary/fore)
"eFV" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/circuit,
/area/station/tcommsat/server)
+"eFW" = (
+/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms,
+/obj/machinery/door/airlock/command/glass{
+ name = "Telecommunications Server Room"
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/heat_exchanging/junction{
+ dir = 1
+ },
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/station/tcommsat/server)
"eGb" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -13042,6 +13287,11 @@
dir = 1
},
/area/station/science/lobby)
+"eGg" = (
+/obj/item/kirbyplants/random,
+/obj/effect/turf_decal/siding/wideplating/dark,
+/turf/open/floor/iron,
+/area/station/commons/dorms)
"eGw" = (
/obj/machinery/camera/directional/west{
c_tag = "Engineering - Public Desk"
@@ -13061,6 +13311,29 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/iron/smooth,
/area/station/engineering/break_room)
+"eGz" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/door/airlock{
+ name = "Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/central/lesser)
+"eGE" = (
+/obj/structure/chair{
+ pixel_y = -2
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/landmark/start/lawyer,
+/obj/machinery/light/small/directional/north,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/service/lawoffice)
"eGL" = (
/obj/structure/cable,
/obj/effect/spawner/structure/window/reinforced,
@@ -13090,19 +13363,18 @@
/obj/structure/sign/poster/official/random/directional/north,
/turf/open/floor/iron/showroomfloor,
/area/station/service/barber)
-"eHe" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/turf/open/floor/iron/white/corner{
- dir = 1
- },
-/area/station/hallway/primary/aft)
"eHf" = (
/turf/open/floor/iron/kitchen/small,
/area/station/security/prison/mess)
+"eHj" = (
+/obj/structure/disposalpipe/sorting/mail/flip{
+ dir = 8
+ },
+/obj/effect/mapping_helpers/broken_floor,
+/obj/effect/mapping_helpers/mail_sorting/science/experimentor_lab,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/aft)
"eHk" = (
/obj/effect/turf_decal/siding/wood{
dir = 1
@@ -13129,20 +13401,34 @@
/obj/structure/holosign/barrier/atmos/tram,
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
+"eHz" = (
+/obj/effect/turf_decal/siding/dark/corner,
+/turf/open/floor/iron/dark/textured_half{
+ dir = 1
+ },
+/area/station/command/bridge)
+"eHF" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/obj/machinery/disposal/bin,
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/machinery/light/small/directional/north,
+/turf/open/floor/iron/cafeteria,
+/area/station/hallway/secondary/exit/departure_lounge)
+"eHL" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/obj/machinery/light/cold/directional/east,
+/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+/area/station/medical/coldroom)
"eHN" = (
/obj/structure/cable,
/turf/open/floor/wood/tile,
/area/station/maintenance/port/lesser)
-"eHP" = (
-/obj/machinery/door/airlock/research/glass{
- name = "Genetics"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/genetics,
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/turf/open/floor/catwalk_floor/iron_white,
-/area/station/science/research)
"eHS" = (
/obj/machinery/atmospherics/components/binary/pump{
dir = 4;
@@ -13150,6 +13436,26 @@
},
/turf/open/floor/engine,
/area/station/engineering/supermatter)
+"eHZ" = (
+/obj/structure/table,
+/obj/item/assembly/igniter{
+ pixel_x = -5;
+ pixel_y = 3
+ },
+/obj/item/assembly/igniter{
+ pixel_x = 5;
+ pixel_y = -4
+ },
+/obj/item/assembly/igniter{
+ pixel_x = 2;
+ pixel_y = 6
+ },
+/obj/item/assembly/igniter{
+ pixel_x = 2;
+ pixel_y = -1
+ },
+/turf/open/floor/engine/bz,
+/area/station/science/xenobiology)
"eIp" = (
/obj/structure/cable/layer3,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -13198,6 +13504,17 @@
/obj/structure/sign/poster/official/random/directional/north,
/turf/open/floor/plating,
/area/station/engineering/atmos/storage/gas)
+"eIU" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side{
+ dir = 10
+ },
+/area/station/science/lower)
"eIW" = (
/obj/effect/spawner/random/structure/girder,
/turf/open/floor/plating,
@@ -13212,20 +13529,6 @@
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/security/armory)
-"eJi" = (
-/obj/structure/table/wood,
-/obj/item/hand_labeler_refill{
- pixel_x = -4;
- pixel_y = 26
- },
-/obj/structure/sign/poster/official/random/directional/south,
-/obj/machinery/fax{
- fax_name = "Quartermaster's Office";
- name = "Quartermaster's Fax Machine";
- pixel_y = 7
- },
-/turf/open/floor/wood,
-/area/station/command/heads_quarters/qm)
"eJm" = (
/obj/machinery/disposal/bin,
/obj/effect/turf_decal/bot,
@@ -13266,6 +13569,25 @@
dir = 4
},
/area/station/maintenance/starboard/greater)
+"eKB" = (
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "sci-entrance"
+ },
+/obj/machinery/door/airlock/research/glass{
+ name = "Ordnance Lab"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/ordnance,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/poddoor/shutters/preopen{
+ dir = 1;
+ id = "rdordnance";
+ name = "Ordnance Lab Shutters"
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/station/science/ordnance)
"eKD" = (
/obj/structure/disposalpipe/sorting/mail{
dir = 1
@@ -13273,31 +13595,12 @@
/obj/effect/mapping_helpers/mail_sorting/service/library,
/turf/open/floor/wood/parquet,
/area/station/service/library)
-"eKP" = (
-/obj/effect/landmark/start/hangover,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
-"eKV" = (
-/obj/machinery/portable_atmospherics/pump,
-/obj/machinery/atmospherics/pipe/smart/simple/dark/visible,
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance)
"eKW" = (
/obj/machinery/door/airlock/maintenance{
name = "Bathroom"
},
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
-"eLf" = (
-/obj/structure/reagent_dispensers/watertank,
-/obj/effect/turf_decal/delivery,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron,
-/area/station/maintenance/department/science/xenobiology)
"eLn" = (
/obj/machinery/door/airlock/glass{
name = "Gold Standard Law Firm"
@@ -13340,37 +13643,10 @@
/obj/machinery/camera/autoname/directional/west,
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
-"eMm" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable,
-/turf/open/floor/catwalk_floor/iron,
-/area/station/science/lobby)
"eMo" = (
/obj/effect/turf_decal/tile/blue/anticorner/contrasted,
/turf/open/floor/iron/white,
/area/station/medical/medbay/lobby)
-"eMH" = (
-/obj/machinery/button/door/directional/east{
- id = "AuxToilet3";
- name = "Lock Control";
- normaldoorcontrol = 1;
- specialfunctions = 4
- },
-/obj/structure/toilet,
-/obj/machinery/light/small/directional/west,
-/turf/open/floor/iron/showroomfloor,
-/area/station/maintenance/department/science/xenobiology)
-"eMQ" = (
-/obj/machinery/light_switch/directional/east,
-/turf/open/floor/iron,
-/area/station/commons/fitness/locker_room)
-"eMS" = (
-/obj/structure/chair{
- pixel_y = -2
- },
-/obj/effect/landmark/start/hangover,
-/turf/open/floor/iron,
-/area/station/commons/fitness/locker_room)
"eMU" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/circuit/red,
@@ -13388,6 +13664,12 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/cargo/miningfoundry)
+"eNh" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/item/kirbyplants/random/fullysynthetic,
+/turf/open/floor/iron,
+/area/station/security/prison)
"eNl" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -13396,6 +13678,18 @@
},
/turf/open/floor/iron/dark,
/area/station/ai_monitored/turret_protected/ai)
+"eNn" = (
+/obj/effect/turf_decal/siding/blue{
+ dir = 8
+ },
+/obj/machinery/door/window/right/directional/west{
+ name = "Medical Supplies";
+ req_access = list("medical")
+ },
+/obj/effect/mapping_helpers/airlock/red_alert_access,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/turf/open/floor/iron/white/small,
+/area/station/medical/storage)
"eNo" = (
/obj/item/reagent_containers/cup/glass/bottle/beer/almost_empty{
pixel_x = -6
@@ -13443,6 +13737,16 @@
/obj/machinery/firealarm/directional/east,
/turf/open/floor/circuit/red,
/area/station/ai_monitored/turret_protected/ai)
+"eOj" = (
+/obj/effect/turf_decal/tile/blue,
+/obj/structure/sign/directions/lavaland/directional/south,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/turf/open/floor/iron/white/corner{
+ dir = 8
+ },
+/area/station/hallway/secondary/dock)
"eOk" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -13459,6 +13763,21 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/maintenance/port/aft)
+"eOG" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/obj/machinery/light/cold/directional/north,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/corner{
+ dir = 1
+ },
+/area/station/hallway/secondary/dock)
"eOX" = (
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/obj/item/kirbyplants/random,
@@ -13473,14 +13792,6 @@
/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible,
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"eOZ" = (
-/obj/machinery/portable_atmospherics/canister/oxygen,
-/obj/machinery/airalarm/directional/north,
-/obj/effect/mapping_helpers/airalarm/tlv_cold_room,
-/obj/effect/turf_decal/tile/dark_blue/half/contrasted,
-/obj/effect/turf_decal/siding/white,
-/turf/open/floor/iron/kitchen_coldroom,
-/area/station/medical/coldroom)
"ePk" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -13511,6 +13822,12 @@
/obj/structure/flora/grass/jungle/a/style_4,
/turf/open/floor/grass,
/area/station/service/chapel)
+"ePA" = (
+/obj/structure/broken_flooring/singular/directional/east,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/hallway/secondary/dock)
"ePP" = (
/obj/structure/cable,
/obj/effect/turf_decal/siding/dark_red{
@@ -13522,6 +13839,10 @@
},
/turf/open/floor/stone,
/area/station/command/heads_quarters/hos)
+"ePT" = (
+/obj/structure/chair,
+/turf/open/floor/wood/tile,
+/area/station/command/meeting_room)
"ePV" = (
/obj/structure/cable,
/obj/structure/window/reinforced/spawner/directional/west,
@@ -13544,6 +13865,24 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
+"eQc" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/turf_decal/siding/purple{
+ dir = 8
+ },
+/obj/machinery/holopad,
+/obj/machinery/light/floor,
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/science/genetics)
+"eQd" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/yellow/opposingcorners,
+/obj/effect/turf_decal/siding/white,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/construction)
"eQk" = (
/obj/machinery/door/airlock/security{
name = "Isolation"
@@ -13574,16 +13913,14 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/commons/dorms)
-"eQI" = (
-/obj/effect/turf_decal/stripes/line{
+"eQQ" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/smooth_edge{
dir = 1
},
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/firealarm/directional/east,
-/obj/effect/turf_decal/stripes/corner,
-/obj/effect/turf_decal/stripes/white/corner,
-/turf/open/floor/iron/smooth,
-/area/station/cargo/warehouse)
+/area/station/maintenance/starboard/greater)
"eQY" = (
/obj/machinery/door/airlock/maintenance{
name = "Maintenance"
@@ -13601,34 +13938,29 @@
/obj/effect/spawner/random/structure/steam_vent,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"eRO" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/maintenance/starboard/greater)
"eRX" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white/small,
/area/station/medical/virology)
-"eSd" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "sci-entrance"
- },
-/obj/machinery/door/airlock/research/glass{
- name = "Smoking Lounge"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/general,
-/obj/machinery/door/firedoor,
+"eSb" = (
+/obj/effect/turf_decal/tile/purple/opposingcorners,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/cafeteria,
+/area/station/science/circuits)
+"eSi" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/catwalk_floor/iron,
-/area/station/science/lower)
+/obj/effect/turf_decal/tile/dark_red{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/security/prison)
"eSA" = (
/obj/machinery/disposal/bin,
/obj/effect/turf_decal/bot,
@@ -13679,12 +14011,13 @@
},
/turf/open/floor/iron/smooth_large,
/area/station/engineering/storage_shared)
-"eTr" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/item/kirbyplants/random/fullysynthetic,
-/turf/open/floor/iron,
-/area/station/security/prison)
+"eTE" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 6
+ },
+/obj/structure/flora/bush/flowers_yw,
+/turf/open/floor/grass,
+/area/station/service/chapel)
"eTJ" = (
/obj/effect/turf_decal/siding/wood/corner{
dir = 4
@@ -13698,14 +14031,6 @@
dir = 1
},
/area/station/cargo/lobby)
-"eTT" = (
-/obj/machinery/firealarm/directional/west,
-/obj/machinery/light/floor,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/small,
-/area/station/science/cubicle)
"eUb" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -13816,12 +14141,6 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/iron/small,
/area/station/engineering/break_room)
-"eVF" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random/engineering/atmospherics_portable,
-/obj/effect/turf_decal/bot,
-/turf/open/floor/iron,
-/area/station/maintenance/department/science/xenobiology)
"eVH" = (
/obj/structure/window/spawner/directional/north,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
@@ -13833,32 +14152,19 @@
/obj/effect/turf_decal/tile/dark_red/half/contrasted,
/turf/open/floor/iron/smooth,
/area/station/security/checkpoint/escape)
-"eVM" = (
-/obj/structure/hedge,
-/obj/machinery/status_display/evac/directional/west,
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
-"eVX" = (
-/obj/structure/statue/sandstone/venus{
- dir = 8;
- pixel_y = -15
- },
-/obj/structure/flora/bush/flowers_pp,
-/obj/structure/flora/bush/flowers_br/style_3,
-/obj/effect/dummy/lighting_obj,
-/obj/effect/light_emitter/fake_outdoors,
-/obj/effect/turf_decal/siding/wood{
- dir = 1
- },
-/turf/open/floor/grass/Airless,
-/area/station/hallway/primary/central/aft)
"eVY" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/disposalpipe/segment,
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/fore)
+"eWf" = (
+/obj/effect/landmark/start/cyborg,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark,
+/area/station/ai_monitored/turret_protected/ai_upload_foyer)
"eWk" = (
/obj/effect/turf_decal/siding/wood/corner{
dir = 8
@@ -13880,6 +14186,10 @@
/obj/machinery/light/small/directional/south,
/turf/open/floor/iron,
/area/station/security/tram)
+"eWD" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/white,
+/area/station/science/cytology)
"eWI" = (
/turf/closed/wall/r_wall,
/area/station/maintenance/aft)
@@ -13898,14 +14208,15 @@
/obj/effect/turf_decal/siding/wideplating/dark,
/turf/open/floor/iron,
/area/station/commons/fitness/locker_room)
-"eWY" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
+"eWZ" = (
+/obj/machinery/door/airlock/public/glass{
+ name = "Barber"
},
-/obj/effect/turf_decal/tile/blue,
-/obj/machinery/light/cold/directional/west,
-/turf/open/floor/iron/white,
-/area/station/medical/medbay/aft)
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/textured_half,
+/area/station/commons/fitness/locker_room)
"eXl" = (
/obj/effect/spawner/structure/window/reinforced/plasma,
/obj/machinery/atmospherics/pipe/smart/simple/orange/visible,
@@ -13914,11 +14225,6 @@
"eXo" = (
/turf/closed/wall/r_wall,
/area/station/tcommsat/server)
-"eXt" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/hallway/secondary/dock)
"eXy" = (
/obj/structure/window/reinforced/spawner/directional/east,
/obj/structure/table,
@@ -13949,13 +14255,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"eXW" = (
-/obj/effect/landmark/event_spawn,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/cafeteria,
-/area/station/science/breakroom)
"eYc" = (
/turf/open/floor/iron/dark/textured,
/area/station/ai_monitored/turret_protected/ai)
@@ -13984,14 +14283,12 @@
},
/turf/open/floor/plating,
/area/station/maintenance/department/engine/atmos)
-"eYx" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 6
+"eYu" = (
+/obj/structure/sign/painting/large/library{
+ dir = 1
},
-/turf/open/floor/iron/dark/side{
- dir = 6
- },
-/area/station/engineering/storage/tech)
+/turf/open/floor/iron,
+/area/station/commons/fitness/locker_room)
"eYB" = (
/obj/effect/turf_decal/siding/wood/end,
/turf/open/floor/wood,
@@ -14048,15 +14345,45 @@
/obj/structure/window/spawner/directional/east,
/turf/open/floor/iron/dark,
/area/station/commons/dorms)
+"eZu" = (
+/obj/machinery/door/airlock/research{
+ name = "Robotics Lab"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/robotics,
+/obj/machinery/door/firedoor,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/catwalk_floor/iron_white,
+/area/station/science/robotics/lab)
"eZM" = (
/obj/structure/cable/layer3,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/dark/textured,
/area/station/ai_monitored/turret_protected/ai)
+"eZQ" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/neutral,
+/obj/machinery/camera/autoname/directional/east,
+/obj/machinery/light/cold/directional/east,
+/turf/open/floor/iron,
+/area/station/hallway/primary/fore)
"fai" = (
/obj/effect/turf_decal/stripes/corner,
/turf/closed/wall,
/area/station/engineering/atmos/storage/gas)
+"fal" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/siding/white{
+ dir = 5
+ },
+/obj/machinery/light_switch/directional/east,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/iron/dark/small,
+/area/station/science/xenobiology)
"fap" = (
/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{
dir = 1
@@ -14077,6 +14404,18 @@
dir = 4
},
/area/station/maintenance/starboard/greater)
+"faK" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/primary/fore)
"faQ" = (
/obj/effect/turf_decal/tile/yellow{
dir = 1
@@ -14156,6 +14495,14 @@
},
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/rd)
+"fbV" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/obj/machinery/light/small/directional/south,
+/obj/machinery/newscaster/directional/south,
+/turf/open/floor/iron/showroomfloor,
+/area/station/commons/toilet/auxiliary)
"fca" = (
/obj/structure/flora/bush/lavendergrass/style_random,
/obj/structure/flora/bush/flowers_br/style_random,
@@ -14166,17 +14513,14 @@
},
/turf/open/misc/sandy_dirt,
/area/station/security/tram)
+"fcm" = (
+/obj/effect/spawner/random/structure/grille,
+/turf/open/floor/iron/dark,
+/area/station/maintenance/department/science/xenobiology)
"fcq" = (
/obj/structure/alien/weeds,
/turf/open/misc/asteroid,
/area/station/maintenance/starboard/greater)
-"fcs" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/obj/effect/turf_decal/tile/yellow/opposingcorners,
-/turf/open/floor/iron/dark,
-/area/station/medical/pharmacy)
"fcE" = (
/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
dir = 4
@@ -14189,6 +14533,18 @@
/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
/turf/open/floor/iron,
/area/station/engineering/atmos/pumproom)
+"fcN" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/camera/autoname/directional/north,
+/obj/machinery/firealarm/directional/north,
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/hallway/primary/central/fore)
"fcU" = (
/obj/structure/window/spawner/directional/south,
/obj/structure/flora/bush/large/style_random{
@@ -14222,13 +14578,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/starboard/central)
-"fdv" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable,
-/turf/open/floor/iron/white/side,
-/area/station/science/research)
"fdy" = (
/obj/structure/railing{
dir = 1
@@ -14248,6 +14597,14 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/dark/textured_half,
/area/station/command/heads_quarters/ce)
+"fdG" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/turf/open/floor/iron/white/side{
+ dir = 1
+ },
+/area/station/science/lower)
"fdM" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/poddoor/shutters/preopen{
@@ -14257,6 +14614,16 @@
},
/turf/open/floor/plating,
/area/station/science/robotics/lab)
+"fdQ" = (
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/effect/turf_decal/siding{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/white/small,
+/area/station/science/lobby)
"feo" = (
/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden,
/obj/effect/turf_decal/tile/yellow,
@@ -14277,6 +14644,12 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/commons/fitness/recreation/entertainment)
+"feF" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/aft)
"feL" = (
/obj/effect/turf_decal/weather/dirt{
dir = 1
@@ -14285,9 +14658,24 @@
/obj/structure/cable,
/turf/open/floor/grass,
/area/station/service/chapel)
+"feN" = (
+/obj/machinery/door/airlock/security/glass{
+ name = "Security Office"
+ },
+/obj/machinery/door/firedoor,
+/obj/effect/mapping_helpers/airlock/access/all/security/general,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/catwalk_floor/iron_white,
+/area/station/security/checkpoint/science)
"feR" = (
/turf/open/floor/carpet,
/area/station/service/library)
+"feU" = (
+/obj/machinery/light/small/directional/west,
+/turf/open/floor/iron/dark/small,
+/area/station/maintenance/central/lesser)
"ffi" = (
/obj/structure/cable,
/obj/machinery/power/apc/auto_name/directional/north,
@@ -14328,6 +14716,11 @@
},
/turf/open/floor/iron/dark/small,
/area/station/engineering/storage_shared)
+"fgd" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/turf/open/floor/iron/smooth,
+/area/station/command/bridge)
"fgk" = (
/obj/structure/window/reinforced/spawner/directional/east,
/obj/machinery/status_display/door_timer{
@@ -14372,6 +14765,21 @@
},
/turf/open/floor/iron/diagonal,
/area/station/engineering/lobby)
+"fgP" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 8
+ },
+/obj/machinery/navbeacon{
+ codes_txt = "patrol;next_patrol=15.0-CentralStarboard-CentralFore";
+ location = "14.0-Dormatories-CentralStarboard"
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"fgT" = (
/obj/effect/turf_decal/weather/dirt{
dir = 1
@@ -14432,17 +14840,10 @@
/obj/structure/mirror/directional/west,
/turf/open/floor/iron/showroomfloor,
/area/station/commons/toilet/auxiliary)
-"fhV" = (
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/machinery/status_display/evac/directional/north,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
+"fhW" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"fhZ" = (
/obj/structure/chair/sofa/bench/right{
dir = 4
@@ -14477,6 +14878,10 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/eighties,
/area/station/service/abandoned_gambling_den/gaming)
+"fim" = (
+/obj/effect/spawner/structure/window,
+/turf/open/floor/plating,
+/area/station/hallway/secondary/entry)
"fiw" = (
/obj/effect/turf_decal/sand/plating,
/obj/structure/table,
@@ -14502,6 +14907,16 @@
/obj/machinery/duct,
/turf/open/floor/iron,
/area/station/maintenance/department/medical/central)
+"fiR" = (
+/obj/structure/table,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/item/paper_bin{
+ pixel_x = -3;
+ pixel_y = 7
+ },
+/obj/item/pen,
+/turf/open/floor/iron,
+/area/station/security/prison/rec)
"fiW" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/disposalpipe/segment{
@@ -14534,11 +14949,14 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
-"fjv" = (
-/obj/machinery/computer/operating,
-/obj/machinery/requests_console/auto_name/directional/north,
+"fjI" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/holopad,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark,
-/area/station/medical/morgue)
+/area/station/engineering/storage/tcomms)
"fjL" = (
/obj/effect/turf_decal/siding/wood{
dir = 9
@@ -14598,12 +15016,13 @@
},
/turf/open/floor/carpet,
/area/station/service/library)
-"fkK" = (
-/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
- dir = 4
- },
-/turf/open/floor/iron/white/small,
-/area/station/science/ordnance/storage)
+"fkL" = (
+/obj/effect/turf_decal/tile/purple/opposingcorners,
+/obj/machinery/holopad,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/cafeteria,
+/area/station/science/circuits)
"fkN" = (
/obj/structure/mannequin/plastic,
/obj/structure/disposalpipe/segment{
@@ -14653,16 +15072,6 @@
/obj/structure/flora/bush/flowers_yw/style_3,
/turf/open/floor/grass,
/area/station/service/chapel)
-"flx" = (
-/obj/machinery/door/airlock/research/glass{
- name = "Genetics"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/genetics,
-/obj/machinery/door/firedoor,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/catwalk_floor/iron_white,
-/area/station/science/research)
"flD" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/stripes/corner{
@@ -14682,6 +15091,16 @@
},
/turf/open/floor/iron/small,
/area/station/engineering/atmos/storage/gas)
+"flJ" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/obj/machinery/door/poddoor/shutters{
+ dir = 1;
+ id = "aibridge"
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/department/engine)
"flM" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -14725,23 +15144,23 @@
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plating,
/area/station/security/prison/work)
-"fmH" = (
-/turf/closed/wall,
-/area/station/medical/morgue)
"fmR" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/service/chapel/funeral)
-"fni" = (
-/obj/effect/turf_decal/tile/red/opposingcorners{
- dir = 1
+"fna" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/door/poddoor/preopen{
+ id = "rdoffice";
+ name = "Research Director's Shutters"
},
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/effect/landmark/start/depsec/science,
/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/turf/open/floor/iron,
-/area/station/security/checkpoint/science)
+/turf/open/floor/plating,
+/area/station/science/cubicle)
+"fnd" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden,
+/turf/closed/wall/r_wall,
+/area/station/science/ordnance/testlab)
"fnw" = (
/obj/structure/chair{
pixel_y = -2
@@ -14751,20 +15170,21 @@
/turf/open/floor/iron,
/area/station/hallway/secondary/dock)
"fnx" = (
-/obj/structure/falsewall,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
-"fnz" = (
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/machinery/disposal/bin,
-/obj/structure/disposalpipe/trunk,
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/obj/effect/turf_decal/siding/dark{
- dir = 9
+/obj/effect/turf_decal/stripes/corner,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
},
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/cable,
-/turf/open/floor/iron/dark/textured,
-/area/station/command/meeting_room)
+/turf/open/floor/iron/dark/side{
+ dir = 4
+ },
+/area/station/engineering/storage/tech)
+"fnz" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"fnI" = (
/obj/machinery/airalarm/directional/east,
/turf/open/floor/iron/dark/side{
@@ -14843,22 +15263,16 @@
/obj/machinery/vending/security,
/turf/open/floor/iron,
/area/station/security/lockers)
-"foI" = (
-/obj/structure/window/reinforced/spawner/directional/east,
-/obj/machinery/button/door/directional/north{
- id = "Xenolab";
- name = "Test Chamber Blast Doors";
- pixel_x = 26;
- pixel_y = -2;
- req_access = list("xenobiology")
+"foG" = (
+/obj/structure/cable,
+/obj/machinery/door/airlock/public/glass{
+ name = "Dormatories"
},
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/components/binary/pump,
-/turf/open/floor/iron/white/side{
+/obj/machinery/door/firedoor,
+/turf/open/floor/iron/textured_half{
dir = 8
},
-/area/station/science/xenobiology)
+/area/station/commons/fitness/locker_room)
"foL" = (
/obj/structure/sign/poster/official/random/directional/north,
/obj/structure/lattice,
@@ -14879,24 +15293,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/fore)
-"fpq" = (
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/maintenance/aft)
-"fpw" = (
-/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible/layer2{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance)
-"fpB" = (
-/obj/machinery/door/airlock{
- name = "Science Lab Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/research,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/lesser)
"fpN" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
@@ -14918,26 +15314,13 @@
"fpY" = (
/turf/closed/mineral/random/stationside,
/area/station/ai_monitored/aisat/exterior)
-"fqn" = (
-/obj/machinery/door/window/left/directional/east{
- name = "Medical Supplies";
- req_access = list("medical")
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/obj/effect/mapping_helpers/airlock/red_alert_access,
-/obj/effect/turf_decal/siding/blue{
+"fqG" = (
+/obj/structure/disposalpipe/segment{
dir = 4
},
-/turf/open/floor/iron/white/small,
-/area/station/medical/storage)
-"fqv" = (
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side{
- dir = 1
- },
-/area/station/science/lower)
+/turf/open/floor/iron/white/side,
+/area/station/science/research)
"fqT" = (
/obj/machinery/computer/slot_machine{
pixel_y = 2
@@ -14945,6 +15328,10 @@
/obj/machinery/computer/security/telescreen/entertainment/directional/west,
/turf/open/floor/carpet/lone,
/area/station/service/abandoned_gambling_den)
+"fqZ" = (
+/obj/effect/turf_decal/stripes/white/corner,
+/turf/open/floor/iron/dark/corner,
+/area/station/cargo/storage)
"frf" = (
/obj/structure/table/glass,
/obj/item/defibrillator/loaded{
@@ -14968,6 +15355,20 @@
/obj/machinery/computer/atmos_control/carbon_tank,
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"frp" = (
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/corner{
+ dir = 1
+ },
+/area/station/hallway/secondary/dock)
"frC" = (
/obj/effect/turf_decal/tile/neutral/full,
/turf/open/floor/iron/dark/smooth_large,
@@ -14992,15 +15393,6 @@
},
/turf/open/floor/iron/smooth,
/area/station/security/checkpoint/supply)
-"fsk" = (
-/obj/structure/cable,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/chair{
- dir = 1
- },
-/obj/machinery/duct,
-/turf/open/floor/iron,
-/area/station/maintenance/department/medical/central)
"fsl" = (
/obj/effect/turf_decal/siding/wood{
dir = 9
@@ -15026,17 +15418,27 @@
},
/turf/open/floor/stone,
/area/station/service/abandoned_gambling_den)
-"fst" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+"fsA" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/neutral/line{
dir = 8
},
-/obj/effect/turf_decal/tile/yellow/anticorner/contrasted,
-/obj/effect/mapping_helpers/broken_floor,
-/obj/structure/table,
-/obj/item/stack/sheet/iron/fifty,
-/obj/machinery/camera/autoname/directional/east,
/turf/open/floor/iron,
-/area/station/medical/chemistry)
+/area/station/hallway/primary/central/fore)
+"fsP" = (
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"fsW" = (
/obj/effect/turf_decal/siding/wood{
dir = 6
@@ -15046,6 +15448,14 @@
},
/turf/open/floor/wood/tile,
/area/station/maintenance/aft)
+"ftt" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/light/floor,
+/obj/effect/turf_decal/tile/neutral,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/aft)
"ftv" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/obj/structure/table/reinforced,
@@ -15144,14 +15554,6 @@
/obj/structure/sign/warning/pods/directional/south,
/turf/open/floor/iron,
/area/station/security/brig/entrance)
-"fuv" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/holopad,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/dark/diagonal,
-/area/station/ai_monitored/command/storage/eva)
"fuD" = (
/obj/structure/disposalpipe/segment{
dir = 5
@@ -15172,6 +15574,14 @@
/obj/effect/landmark/start/hangover,
/turf/open/floor/iron,
/area/station/commons/storage/tools)
+"fvf" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/medical/medbay/central)
"fvh" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/structure/disposaloutlet{
@@ -15189,9 +15599,6 @@
},
/turf/open/misc/sandy_dirt,
/area/station/commons/fitness/locker_room)
-"fvm" = (
-/turf/open/floor/iron,
-/area/station/maintenance/department/science/xenobiology)
"fvs" = (
/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -15206,6 +15613,11 @@
},
/turf/open/floor/engine,
/area/station/engineering/atmospherics_engine)
+"fvz" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/maintenance/starboard/greater)
"fvF" = (
/obj/effect/turf_decal/siding/dark_red,
/obj/machinery/modular_computer/preset/id{
@@ -15214,13 +15626,6 @@
/obj/machinery/newscaster/directional/south,
/turf/open/floor/stone,
/area/station/command/heads_quarters/hos)
-"fvH" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/table,
-/obj/item/electropack,
-/obj/machinery/light/small/directional/east,
-/turf/open/floor/engine/bz,
-/area/station/science/xenobiology)
"fvL" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/cable,
@@ -15265,13 +15670,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"fwF" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/iron/dark,
-/area/station/medical/medbay/lobby)
"fwJ" = (
/obj/effect/turf_decal/tile/blue/fourcorners,
/obj/machinery/holopad,
@@ -15280,31 +15678,10 @@
"fwS" = (
/turf/open/floor/circuit,
/area/station/maintenance/port/aft)
-"fwU" = (
-/obj/machinery/door/airlock/research{
- name = "Development Division Access"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "sci-entrance"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/general,
-/obj/machinery/door/firedoor,
-/obj/effect/mapping_helpers/airlock/unres,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/textured_half{
- dir = 1
- },
-/area/station/science/lobby)
"fwV" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"fwZ" = (
-/obj/effect/turf_decal/siding/wood,
-/turf/open/floor/wood,
-/area/station/hallway/secondary/entry)
"fxa" = (
/obj/structure/disposalpipe/segment{
dir = 5
@@ -15320,6 +15697,16 @@
"fxi" = (
/turf/open/floor/iron/dark/small,
/area/station/science/xenobiology)
+"fxw" = (
+/obj/effect/turf_decal/weather/snow,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 4
+ },
+/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+/area/station/service/kitchen/coldroom)
"fxF" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -15339,6 +15726,16 @@
dir = 4
},
/area/station/cargo/storage)
+"fxS" = (
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/obj/structure/fireaxecabinet/directional/east,
+/obj/effect/turf_decal/siding/dark{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/dark/textured,
+/area/station/command/meeting_room)
"fxW" = (
/obj/machinery/restaurant_portal/restaurant,
/obj/effect/turf_decal/siding/wood{
@@ -15347,13 +15744,6 @@
/obj/structure/extinguisher_cabinet/directional/west,
/turf/open/floor/wood/tile,
/area/station/service/bar)
-"fyh" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
- },
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/recreation)
"fyo" = (
/obj/structure/table,
/obj/machinery/light/small/directional/east,
@@ -15424,6 +15814,19 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/port)
+"fyY" = (
+/obj/machinery/computer/records/medical{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue/fourcorners,
+/obj/item/radio/intercom/directional/east,
+/obj/machinery/button/door/directional/north{
+ id = "medlock";
+ name = "Medbay Lockdown Control";
+ req_access = list("medical")
+ },
+/turf/open/floor/iron/white,
+/area/station/medical/medbay/lobby)
"fyZ" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -15489,19 +15892,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
-"fAf" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 4
- },
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/effect/turf_decal/siding/dark/corner{
- dir = 8
- },
-/obj/structure/cable,
-/turf/open/floor/iron/edge{
- dir = 4
- },
-/area/station/engineering/storage/tech)
"fAn" = (
/obj/effect/spawner/structure/window,
/obj/structure/disposalpipe/segment{
@@ -15546,15 +15936,6 @@
/obj/machinery/light/cold/directional/south,
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
-"fAP" = (
-/obj/structure/disposalpipe/sorting/mail/flip{
- dir = 8
- },
-/obj/effect/mapping_helpers/broken_floor,
-/obj/effect/mapping_helpers/mail_sorting/science/experimentor_lab,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/aft)
"fAY" = (
/obj/structure/table/reinforced,
/obj/effect/turf_decal/tile/blue/full,
@@ -15589,15 +15970,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/starboard/greater)
-"fBs" = (
-/obj/effect/turf_decal/siding/wideplating/dark{
- dir = 1
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/small,
-/area/station/commons/fitness/locker_room)
"fBw" = (
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt,
@@ -15610,18 +15982,20 @@
},
/turf/open/floor/stone,
/area/station/service/bar)
-"fBN" = (
-/obj/structure/flora/bush/flowers_yw/style_3{
- pixel_x = 3;
- pixel_y = 2
+"fBC" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
},
-/obj/machinery/light/floor,
-/obj/effect/light_emitter/fake_outdoors,
-/obj/effect/turf_decal/siding/wood{
- dir = 10
+/obj/machinery/button/door/directional/west{
+ id = "engsm";
+ name = "Radiation Shutters Control";
+ req_access = list("engineering")
},
-/turf/open/floor/grass/Airless,
-/area/station/hallway/primary/central/aft)
+/obj/structure/cable,
+/obj/machinery/meter,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"fBO" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/tank_holder/extinguisher,
@@ -15650,62 +16024,6 @@
},
/turf/open/floor/wood,
/area/station/service/chapel/funeral)
-"fCs" = (
-/obj/structure/table/reinforced,
-/obj/item/stock_parts/subspace/crystal{
- pixel_x = 4;
- pixel_y = -1
- },
-/obj/item/stock_parts/subspace/crystal{
- pixel_x = 4;
- pixel_y = -1
- },
-/obj/item/stock_parts/subspace/crystal{
- pixel_x = 4;
- pixel_y = -1
- },
-/obj/item/stock_parts/subspace/treatment{
- pixel_x = -3;
- pixel_y = 9
- },
-/obj/item/stock_parts/subspace/treatment{
- pixel_x = -3;
- pixel_y = 9
- },
-/obj/item/stock_parts/subspace/treatment{
- pixel_x = -3;
- pixel_y = 9
- },
-/obj/item/stock_parts/subspace/filter{
- pixel_x = -4;
- pixel_y = -1
- },
-/obj/item/stock_parts/subspace/filter{
- pixel_x = -4;
- pixel_y = -1
- },
-/obj/item/stock_parts/subspace/filter{
- pixel_x = -4;
- pixel_y = -1
- },
-/obj/item/stock_parts/subspace/filter{
- pixel_x = -4;
- pixel_y = -1
- },
-/obj/item/stock_parts/subspace/analyzer{
- pixel_x = 6;
- pixel_y = 8
- },
-/obj/item/stock_parts/subspace/analyzer{
- pixel_x = 6;
- pixel_y = 8
- },
-/obj/item/stock_parts/subspace/analyzer{
- pixel_x = 6;
- pixel_y = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/storage/tech)
"fCu" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -15729,21 +16047,19 @@
/obj/effect/mapping_helpers/airlock/access/all/supply,
/turf/open/floor/iron/smooth,
/area/station/cargo/warehouse)
+"fCO" = (
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/small,
+/area/station/science/lobby)
"fCS" = (
/obj/structure/window/reinforced/spawner/directional/east,
/obj/machinery/airalarm/directional/east,
/turf/open/floor/iron/dark/small,
/area/station/security/brig)
-"fDd" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical/central)
"fDf" = (
/obj/machinery/door/airlock/atmos/glass{
name = "Incinerator Access"
@@ -15859,16 +16175,6 @@
},
/turf/open/floor/eighties,
/area/station/hallway/primary/central/fore)
-"fEM" = (
-/obj/machinery/door/airlock/research/glass{
- name = "Cytology Lab"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/research,
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/catwalk_floor/iron_white,
-/area/station/science/cytology)
"fEU" = (
/obj/structure/table,
/obj/item/multitool{
@@ -15896,12 +16202,17 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/wood,
/area/station/service/chapel/funeral)
-"fFC" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
+"fFv" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/segment{
+ dir = 9
},
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
+/obj/effect/turf_decal/siding/blue{
+ dir = 10
+ },
+/turf/open/floor/iron/white/small,
+/area/station/command/heads_quarters/cmo)
"fFD" = (
/obj/effect/turf_decal/siding/blue,
/obj/effect/landmark/start/paramedic,
@@ -16001,12 +16312,15 @@
},
/turf/open/floor/iron/dark/textured_large,
/area/station/service/kitchen)
-"fGE" = (
-/obj/machinery/atmospherics/pipe/smart/simple/general/visible{
- dir = 4
+"fGC" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
},
-/turf/open/floor/engine/bz,
-/area/station/science/xenobiology)
+/obj/machinery/power/apc/auto_name/directional/north,
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
"fGT" = (
/obj/effect/turf_decal/tile/neutral{
dir = 8
@@ -16040,13 +16354,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/starboard/greater)
-"fHk" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/tcommsat/server)
"fHv" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -16056,6 +16363,9 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/ai_monitored/turret_protected/aisat/maint)
+"fHA" = (
+/turf/closed/wall,
+/area/station/engineering/storage/tech)
"fHD" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -16107,13 +16417,6 @@
dir = 8
},
/area/station/cargo/storage)
-"fId" = (
-/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden{
- dir = 4
- },
-/obj/machinery/atmospherics/components/binary/pump,
-/turf/open/floor/engine,
-/area/station/science/ordnance/burnchamber)
"fIe" = (
/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{
dir = 6
@@ -16128,29 +16431,9 @@
/obj/machinery/airalarm/directional/west,
/turf/open/floor/iron/grimy,
/area/station/science/cubicle)
-"fIi" = (
-/obj/structure/table/bronze,
-/obj/item/food/grown/cannabis{
- pixel_x = -11
- },
-/obj/item/food/grown/cannabis{
- pixel_x = -5;
- pixel_y = 5
- },
-/obj/machinery/light/small/directional/north,
-/obj/machinery/status_display/ai/directional/north,
-/turf/open/floor/iron/dark/small,
-/area/station/command/heads_quarters/captain/private)
"fIj" = (
/turf/open/floor/iron/white/side,
/area/station/hallway/primary/central/aft)
-"fIl" = (
-/obj/structure/chair/wood{
- dir = 8
- },
-/obj/machinery/light/floor,
-/turf/open/floor/stone,
-/area/station/service/bar)
"fIq" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -16158,10 +16441,22 @@
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/cargo/office)
+"fIr" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/spawner/random/structure/table_or_rack,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/station/maintenance/department/science/xenobiology)
"fIw" = (
/obj/effect/landmark/navigate_destination/dockescpod,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
+"fIE" = (
+/obj/effect/landmark/event_spawn,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/small,
+/area/station/medical/morgue)
"fIP" = (
/obj/machinery/atmospherics/components/trinary/filter/atmos/n2{
dir = 8
@@ -16172,14 +16467,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
-"fJl" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 9
- },
-/obj/item/kirbyplants/random,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/science/xenobiology)
"fJn" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -16199,13 +16486,12 @@
/obj/effect/mapping_helpers/airlock/access/all/command/minisat,
/turf/open/floor/catwalk_floor/iron_smooth,
/area/station/ai_monitored/turret_protected/aisat/teleporter)
-"fJK" = (
+"fJY" = (
+/obj/structure/sign/poster/official/random/directional/north,
+/obj/effect/landmark/start/hangover,
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
-/turf/open/floor/iron/dark/small,
-/area/station/tcommsat/server)
+/turf/open/floor/iron,
+/area/station/hallway/secondary/dock)
"fJZ" = (
/obj/structure/closet/firecloset,
/obj/effect/turf_decal/tile/yellow{
@@ -16224,11 +16510,6 @@
/obj/structure/cable,
/turf/open/floor/iron/smooth,
/area/station/ai_monitored/turret_protected/aisat_interior)
-"fKd" = (
-/obj/machinery/holopad,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/science/ordnance/testlab)
"fKl" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -16254,9 +16535,31 @@
"fKx" = (
/obj/structure/transit_tube/horizontal,
/obj/structure/lattice/catwalk,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/space/basic,
/area/space/nearstation)
+"fKI" = (
+/obj/machinery/holopad,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark,
+/area/station/ai_monitored/turret_protected/ai_upload_foyer)
+"fKK" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/camera/directional/north{
+ c_tag = "Xenobiology - Cell 1";
+ name = "xenobiology camera";
+ network = list("ss13","xeno","rd")
+ },
+/obj/effect/turf_decal/box/red/corners{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/white/line{
+ dir = 10
+ },
+/turf/open/floor/engine,
+/area/station/science/xenobiology)
"fKN" = (
/obj/effect/landmark/event_spawn,
/obj/machinery/computer/security/telescreen/test_chamber/directional/west,
@@ -16288,18 +16591,6 @@
/obj/item/assembly/mousetrap/armed,
/turf/open/floor/stone,
/area/station/service/abandoned_gambling_den)
-"fLk" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
-/obj/effect/turf_decal/tile/green{
- dir = 8
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/turf/open/floor/iron/white,
-/area/station/medical/virology)
"fLn" = (
/obj/structure/table/wood/fancy/red,
/obj/structure/mirror/directional/west,
@@ -16395,6 +16686,13 @@
/obj/structure/chair/stool/directional/north,
/turf/open/floor/iron/smooth,
/area/station/maintenance/solars/starboard/fore)
+"fMj" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/neutral,
+/obj/structure/disposalpipe/junction/flip,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/hallway/primary/fore)
"fMs" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -16469,15 +16767,6 @@
/obj/machinery/light/small/directional/north,
/turf/open/floor/iron/small,
/area/station/hallway/secondary/exit/departure_lounge)
-"fNi" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/storage/tech)
"fNu" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -16519,6 +16808,17 @@
/obj/machinery/power/apc/auto_name/directional/east,
/turf/open/floor/catwalk_floor,
/area/station/ai_monitored/turret_protected/ai)
+"fNN" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/neutral/line,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/aft)
"fNR" = (
/obj/structure/table/reinforced,
/obj/machinery/door/window/left/directional/north{
@@ -16543,22 +16843,12 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"fNZ" = (
+"fOe" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/spawner/random/trash,
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/door/airlock{
- name = "Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
-/obj/effect/mapping_helpers/airlock/unres{
- dir = 4
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
/turf/open/floor/plating,
-/area/station/maintenance/central/lesser)
+/area/station/maintenance/starboard/lesser)
"fOg" = (
/obj/effect/spawner/random/maintenance,
/obj/effect/turf_decal/sand/plating,
@@ -16578,10 +16868,6 @@
},
/turf/open/floor/iron/dark/diagonal,
/area/station/service/bar)
-"fOw" = (
-/obj/machinery/computer/arcade/amputation,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"fOJ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/cable,
@@ -16607,12 +16893,24 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
+"fPm" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/commons/fitness/locker_room)
"fPu" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/cable/layer3,
/turf/open/floor/iron/smooth,
/area/station/ai_monitored/turret_protected/aisat_interior)
+"fPx" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/computer/robotics,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/rd)
"fPK" = (
/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{
dir = 4
@@ -16638,21 +16936,6 @@
/obj/structure/alien/weeds,
/turf/open/floor/plating,
/area/station/maintenance/starboard/greater)
-"fPV" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/machinery/airalarm/directional/north,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/corner{
- dir = 1
- },
-/area/station/hallway/secondary/dock)
"fPY" = (
/obj/effect/turf_decal/siding/yellow/corner{
dir = 4
@@ -16682,6 +16965,10 @@
/obj/machinery/light/small/directional/west,
/turf/open/floor/iron/small,
/area/station/service/janitor)
+"fQp" = (
+/obj/effect/landmark/start/assistant,
+/turf/open/floor/iron,
+/area/station/commons/storage/art)
"fQv" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -16698,6 +16985,29 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/starboard/greater)
+"fQG" = (
+/obj/structure/table,
+/obj/item/flashlight/lamp{
+ pixel_y = 7;
+ pixel_x = -5
+ },
+/obj/effect/spawner/random/medical/minor_healing,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
+"fQK" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/door/airlock/research/glass{
+ name = "Gun Lab"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/general,
+/obj/machinery/door/firedoor,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/catwalk_floor/iron_white,
+/area/station/science/auxlab/firing_range)
"fQL" = (
/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/hidden{
dir = 8
@@ -16712,31 +17022,6 @@
/obj/machinery/firealarm/directional/east,
/turf/open/floor/iron/smooth,
/area/station/ai_monitored/turret_protected/aisat_interior)
-"fRe" = (
-/obj/effect/landmark/generic_maintenance_landmark,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/maintenance/department/science/xenobiology)
-"fRq" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
- },
-/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
- dir = 4
- },
-/obj/structure/rack,
-/obj/item/book/manual/wiki/chemistry{
- pixel_x = -4;
- pixel_y = 4
- },
-/obj/item/book/manual/wiki/grenades,
-/obj/item/book/manual/wiki/plumbing{
- pixel_x = 4;
- pixel_y = -4
- },
-/obj/item/plunger,
-/turf/open/floor/iron,
-/area/station/medical/chemistry)
"fRv" = (
/obj/structure/table,
/obj/effect/turf_decal/siding/thinplating_new/terracotta{
@@ -16766,12 +17051,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"fRV" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/power/apc/auto_name/directional/west,
-/turf/open/floor/iron,
-/area/station/commons/fitness/locker_room)
"fRX" = (
/obj/machinery/door/airlock/public/glass{
name = "Study"
@@ -16783,37 +17062,25 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/wood/parquet,
/area/station/service/library)
+"fSb" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/button/door/directional/east{
+ name = "Abandoned Lab Shutters";
+ id = "abandoned_lab"
+ },
+/obj/item/bot_assembly/medbot,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"fSf" = (
/obj/structure/cable,
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/security/prison)
-"fSx" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/mapping_helpers/broken_floor,
-/obj/structure/broken_flooring/singular/directional/east,
-/obj/structure/steam_vent,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/aft)
"fSB" = (
/obj/structure/rack,
/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/aft)
-"fSC" = (
-/obj/effect/spawner/random/maintenance,
-/turf/open/floor/catwalk_floor/iron_dark,
-/area/station/maintenance/department/science/xenobiology)
-"fSG" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/siding/wood,
-/turf/open/floor/iron/white/small,
-/area/station/medical/psychology)
"fSU" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/camera/autoname/directional/west,
@@ -16884,6 +17151,17 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
+"fTN" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/item/storage/box/petridish{
+ pixel_x = -8;
+ pixel_y = -4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/science/cytology)
"fUb" = (
/obj/effect/turf_decal/arrows{
dir = 8
@@ -16896,30 +17174,12 @@
/obj/effect/spawner/random/structure/girder,
/turf/open/floor/plating,
/area/station/ai_monitored/turret_protected/aisat/maint)
-"fUo" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/door/airlock{
- name = "Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "sci-entrance"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/general,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/aft)
"fUC" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/tile/neutral,
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"fUG" = (
-/obj/structure/cable,
-/turf/open/floor/iron/grimy,
-/area/station/science/cubicle)
"fUI" = (
/obj/structure/disposalpipe/segment{
dir = 5
@@ -16927,12 +17187,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/ai_monitored/turret_protected/aisat/maint)
-"fUN" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/dark,
-/area/station/hallway/secondary/construction)
"fUO" = (
/obj/machinery/turretid{
control_area = "/area/station/ai_monitored/turret_protected/aisat_interior";
@@ -16985,6 +17239,21 @@
},
/turf/open/floor/stone,
/area/station/service/bar)
+"fVm" = (
+/obj/effect/turf_decal/tile/green/opposingcorners{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/station/medical/chemistry)
+"fVy" = (
+/obj/effect/turf_decal/tile/purple/opposingcorners,
+/obj/effect/turf_decal/siding/green{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/cafeteria,
+/area/station/science/circuits)
"fVA" = (
/obj/structure/sign/poster/official/random/directional/west,
/turf/open/floor/iron/small,
@@ -16998,11 +17267,6 @@
/obj/structure/cable,
/turf/open/floor/iron/smooth,
/area/station/security/checkpoint/customs)
-"fVM" = (
-/obj/structure/extinguisher_cabinet/directional/west,
-/obj/effect/turf_decal/tile/neutral,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/aft)
"fVU" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -17010,23 +17274,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/ai_monitored/turret_protected/aisat/maint)
-"fWi" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/siding/wideplating/dark/corner{
- dir = 1
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron,
-/area/station/commons/fitness/locker_room)
-"fWj" = (
-/obj/structure/cable,
-/obj/machinery/airalarm/directional/north,
-/obj/item/kirbyplants/random,
-/obj/effect/turf_decal/tile/brown/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/cargo/office)
"fWr" = (
/obj/structure/closet/crate,
/obj/structure/barricade/wooden/crude,
@@ -17038,24 +17285,31 @@
/obj/item/kirbyplants/random,
/turf/open/floor/catwalk_floor/iron_smooth,
/area/station/maintenance/port/aft)
+"fWA" = (
+/obj/structure/table,
+/obj/machinery/status_display/supply{
+ pixel_x = 1;
+ pixel_y = 32
+ },
+/obj/machinery/fax/auto_name{
+ pixel_x = -1;
+ pixel_y = 6
+ },
+/obj/effect/turf_decal/tile/brown/opposingcorners{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/cargo/office)
+"fWG" = (
+/obj/effect/turf_decal/tile/yellow/anticorner/contrasted,
+/obj/machinery/chem_dispenser,
+/obj/machinery/light/small/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/medical/pharmacy)
"fWJ" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/starboard/central)
-"fWT" = (
-/obj/machinery/button/door/directional/east{
- id = "AuxToilet2";
- name = "Lock Control";
- normaldoorcontrol = 1;
- specialfunctions = 4
- },
-/obj/structure/toilet,
-/obj/machinery/light/small/directional/west,
-/obj/effect/spawner/random/trash/soap{
- spawn_scatter_radius = 1
- },
-/turf/open/floor/iron/showroomfloor,
-/area/station/maintenance/department/science/xenobiology)
"fXg" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -17086,16 +17340,21 @@
},
/turf/open/floor/iron/smooth,
/area/station/ai_monitored/turret_protected/aisat/foyer)
-"fXs" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
+"fXp" = (
+/obj/machinery/holopad,
+/obj/structure/cable,
+/turf/open/floor/wood/tile,
+/area/station/command/meeting_room)
+"fXA" = (
+/obj/machinery/door/airlock/grunge{
+ name = "Vacant Comissary"
},
-/obj/machinery/light/small/directional/east,
-/turf/open/floor/iron/dark/side{
- dir = 6
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/textured_half{
+ dir = 1
},
-/area/station/engineering/storage/tech)
+/area/station/maintenance/central/lesser)
"fXB" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -17138,6 +17397,20 @@
/obj/effect/turf_decal/siding/wood/corner,
/turf/open/floor/wood,
/area/station/service/chapel)
+"fYj" = (
+/obj/item/restraints/handcuffs,
+/obj/structure/table/reinforced,
+/obj/effect/turf_decal/tile/red/opposingcorners{
+ dir = 1
+ },
+/obj/machinery/recharger{
+ pixel_x = -5;
+ pixel_y = 10
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/security/checkpoint/science)
"fYr" = (
/obj/structure/table,
/obj/item/extinguisher/empty,
@@ -17145,6 +17418,19 @@
/obj/item/radio/intercom/directional/east,
/turf/open/floor/iron/dark,
/area/station/maintenance/department/engine/atmos)
+"fYy" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/turf/open/floor/wood/tile,
+/area/station/command/meeting_room)
+"fYE" = (
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 1
+ },
+/obj/effect/spawner/random/vending/colavend,
+/obj/machinery/firealarm/directional/south,
+/turf/open/floor/iron/dark/side,
+/area/station/cargo/lobby)
"fYH" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -17177,6 +17463,15 @@
/obj/item/radio/intercom/directional/east,
/turf/open/floor/iron/grimy,
/area/station/tcommsat/server)
+"fZG" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/small,
+/area/station/science/ordnance/storage)
"fZK" = (
/obj/structure/table/wood,
/obj/machinery/computer/libraryconsole/bookmanagement{
@@ -17293,16 +17588,27 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/kitchen/small,
/area/station/service/kitchen)
-"gby" = (
+"gbq" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/herringbone,
-/area/station/commons/dorms)
+/obj/structure/cable,
+/turf/open/floor/iron/edge{
+ dir = 1
+ },
+/area/station/engineering/storage/tech)
"gbD" = (
/obj/machinery/hydroponics/soil,
/obj/item/food/grown/mushroom/reishi,
/obj/structure/alien/weeds,
/turf/open/misc/asteroid,
/area/station/maintenance/starboard/greater)
+"gbE" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/obj/machinery/atmospherics/components/unary/portables_connector/visible,
+/turf/open/floor/plating,
+/area/station/science/ordnance/storage)
"gbG" = (
/obj/machinery/door/airlock{
name = "Maintenance"
@@ -17348,11 +17654,28 @@
"gcz" = (
/turf/closed/wall/r_wall,
/area/station/maintenance/fore/lesser)
+"gcG" = (
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/recreation)
"gcL" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/spawner/random/structure/crate_abandoned,
/turf/open/floor/plating,
/area/station/ai_monitored/turret_protected/aisat/maint)
+"gcZ" = (
+/obj/effect/turf_decal/siding/thinplating_new/dark{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/security/courtroom)
"gdn" = (
/obj/item/kirbyplants/organic/applebush,
/obj/effect/turf_decal/tile/red{
@@ -17365,12 +17688,26 @@
/obj/machinery/light/small/directional/south,
/turf/open/floor/iron/white/corner,
/area/station/hallway/secondary/exit/departure_lounge)
+"gdp" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/camera/directional/south{
+ c_tag = "Xenobiology - Cell 6";
+ name = "xenobiology camera";
+ network = list("ss13","xeno","rd")
+ },
+/obj/effect/turf_decal/box/red/corners{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/white/line{
+ dir = 9
+ },
+/turf/open/floor/engine,
+/area/station/science/xenobiology)
"gdr" = (
/turf/closed/wall/rust,
/area/station/maintenance/fore/lesser)
"gdx" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/secondary/recreation)
"gdA" = (
@@ -17418,6 +17755,22 @@
/obj/item/flashlight/lamp/green,
/turf/open/floor/iron/smooth,
/area/station/maintenance/port/aft)
+"gee" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 1
+ },
+/obj/effect/mapping_helpers/broken_floor,
+/obj/structure/table,
+/obj/item/reagent_containers/dropper,
+/obj/machinery/reagentgrinder{
+ pixel_x = -7;
+ pixel_y = 17
+ },
+/turf/open/floor/iron,
+/area/station/medical/chemistry)
"geg" = (
/obj/machinery/door/airlock{
name = "Gas Lab Maintenance"
@@ -17459,25 +17812,12 @@
},
/turf/open/floor/iron/dark/smooth_large,
/area/station/security/execution/education)
-"geM" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
+"geQ" = (
+/obj/effect/turf_decal/tile/green/half/contrasted{
+ dir = 4
},
-/obj/effect/turf_decal/stripes/line,
-/obj/structure/cable,
-/turf/open/floor/iron/dark/side{
- dir = 1
- },
-/area/station/science/xenobiology)
-"geS" = (
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/dock)
+/turf/open/floor/iron/dark,
+/area/station/medical/chemistry)
"geW" = (
/obj/machinery/computer/security/hos{
dir = 4
@@ -17508,16 +17848,20 @@
"gfs" = (
/turf/closed/wall/r_wall,
/area/station/hallway/secondary/command)
-"gfu" = (
-/obj/machinery/airalarm/directional/east,
-/obj/effect/mapping_helpers/airalarm/mixingchamber_access,
-/obj/effect/mapping_helpers/airalarm/link{
- chamber_id = "ordnancefreezer"
+"gfz" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/airlock/medical/glass{
+ name = "Primary Treatment Centre"
},
-/obj/effect/mapping_helpers/airalarm/tlv_no_checks,
-/obj/machinery/atmospherics/pipe/smart/simple/purple/visible,
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance)
+/obj/effect/mapping_helpers/airlock/access/all/medical/general,
+/obj/effect/mapping_helpers/airlock/unres{
+ dir = 1
+ },
+/turf/open/floor/iron/white/small,
+/area/station/medical/treatment_center)
"gfA" = (
/obj/effect/spawner/structure/window/reinforced/plasma,
/obj/machinery/atmospherics/pipe/heat_exchanging/junction{
@@ -17525,6 +17869,18 @@
},
/turf/open/floor/plating,
/area/station/engineering/supermatter/room)
+"gfD" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/siding/wideplating/dark,
+/turf/open/floor/iron/small,
+/area/station/service/barber)
+"gfF" = (
+/obj/structure/extinguisher_cabinet/directional/west,
+/obj/effect/turf_decal/tile/neutral,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/aft)
"gfJ" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
@@ -17570,15 +17926,15 @@
/obj/effect/spawner/random/structure/girder,
/turf/open/floor/tram,
/area/station/security/tram)
-"ggi" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/machinery/camera/autoname/directional/west,
+"ggj" = (
+/obj/structure/cable,
+/obj/structure/table,
+/obj/item/hand_labeler,
+/obj/item/camera,
+/obj/machinery/firealarm/directional/north,
+/obj/machinery/power/apc/auto_name/directional/east,
/turf/open/floor/iron,
-/area/station/hallway/primary/aft)
+/area/station/commons/storage/art)
"ggn" = (
/obj/effect/decal/cleanable/oil,
/obj/machinery/byteforge,
@@ -17602,6 +17958,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/disposal/incinerator)
+"ggE" = (
+/obj/structure/reagent_dispensers/watertank,
+/obj/effect/turf_decal/delivery,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/maintenance/department/science/xenobiology)
"ggJ" = (
/obj/machinery/light/no_nightlight/directional/east,
/obj/structure/sign/poster/official/nanotrasen_logo/directional/east,
@@ -17680,14 +18043,6 @@
},
/turf/open/floor/iron/dark/small,
/area/station/medical/virology)
-"ghC" = (
-/obj/structure/chair/office/light{
- dir = 8
- },
-/obj/effect/landmark/start/scientist,
-/obj/structure/cable,
-/turf/open/floor/iron/white,
-/area/station/science/cytology)
"ghD" = (
/obj/structure/cable,
/obj/effect/turf_decal/siding/wood,
@@ -17701,14 +18056,6 @@
},
/turf/open/floor/wood/tile,
/area/station/command/heads_quarters/hop)
-"ghK" = (
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/item/kirbyplants/random,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/science/lower)
"ghL" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/neutral{
@@ -17733,6 +18080,13 @@
/obj/structure/cable,
/turf/open/floor/stone,
/area/station/service/abandoned_gambling_den)
+"gif" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/blue/anticorner/contrasted,
+/turf/open/floor/iron/white,
+/area/station/medical/medbay/lobby)
"gip" = (
/obj/machinery/portable_atmospherics/canister/nitrogen,
/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
@@ -17776,23 +18130,32 @@
/obj/machinery/digital_clock/directional/south,
/turf/open/floor/wood/tile,
/area/station/command/bridge)
-"giW" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/construction/mining/aux_base)
"giY" = (
/obj/structure/window/spawner/directional/west,
/obj/structure/lattice,
/turf/open/space/basic,
/area/space/nearstation)
-"gjg" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 9
+"gjc" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/machinery/light/floor,
+/obj/effect/turf_decal/siding/wood/corner{
+ dir = 4
},
-/obj/effect/decal/cleanable/cobweb,
-/obj/machinery/light/small/directional/north,
-/turf/open/floor/iron,
-/area/station/science/xenobiology)
+/turf/open/floor/stone,
+/area/station/service/bar)
+"gje" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/fore)
"gjn" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -17806,6 +18169,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/smooth_large,
/area/station/engineering/main)
+"gjQ" = (
+/obj/structure/window/reinforced/spawner/directional/south,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/ai_monitored/turret_protected/ai_upload)
"gjS" = (
/obj/effect/turf_decal/siding/thinplating_new/terracotta{
dir = 1
@@ -17847,11 +18217,23 @@
/obj/machinery/camera/autoname/directional/west,
/turf/open/floor/iron/smooth,
/area/station/maintenance/solars/port/aft)
+"gky" = (
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"gkE" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/flora/bush/flowers_pp/style_random,
/turf/open/floor/grass,
/area/station/medical/virology)
+"gkJ" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/item/radio/intercom/directional/west,
+/obj/structure/table,
+/obj/item/wrench,
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/hallway/secondary/construction)
"gkW" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 8
@@ -17865,6 +18247,25 @@
/obj/machinery/suit_storage_unit/atmos,
/turf/open/floor/iron/dark,
/area/station/engineering/atmos/office)
+"glC" = (
+/obj/effect/turf_decal/tile/neutral,
+/obj/effect/landmark/start/hangover,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/recreation)
+"glF" = (
+/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms,
+/obj/machinery/door/airlock/command/glass{
+ name = "Telecommunications Server Room"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "comms-entrance-north"
+ },
+/obj/structure/cable,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/station/tcommsat/server)
"glM" = (
/obj/effect/turf_decal/trimline/neutral/line,
/obj/effect/turf_decal/trimline/neutral/line{
@@ -17872,6 +18273,12 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
+"glQ" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/weather/snow,
+/obj/machinery/food_cart,
+/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+/area/station/service/kitchen/coldroom)
"glT" = (
/obj/effect/landmark/event_spawn,
/obj/structure/table,
@@ -17925,6 +18332,10 @@
},
/turf/open/floor/iron/white/small,
/area/station/medical/cryo)
+"gmu" = (
+/obj/structure/closet/crate/grave/filled,
+/turf/open/misc/dirt/station,
+/area/station/medical/morgue)
"gmv" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/item/radio/intercom/directional/north,
@@ -17940,14 +18351,13 @@
},
/turf/open/floor/wood,
/area/station/engineering/atmospherics_engine)
-"gnp" = (
-/obj/effect/turf_decal/siding/wood,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/simple/dark/hidden,
-/turf/open/floor/iron/grimy,
-/area/station/tcommsat/server)
+"gnj" = (
+/obj/effect/spawner/random/structure/closet_maintenance,
+/obj/effect/spawner/random/entertainment/drugs,
+/obj/effect/spawner/random/entertainment/drugs,
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"gnA" = (
/obj/structure/cable,
/obj/machinery/light/small/directional/north,
@@ -17962,6 +18372,14 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos/project)
+"gnG" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/blue,
+/turf/open/floor/iron/white,
+/area/station/medical/medbay/central)
"gnK" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -18018,6 +18436,22 @@
},
/turf/open/floor/light/colour_cycle/dancefloor_b,
/area/station/maintenance/starboard/central)
+"goe" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/catwalk_floor/iron_smooth,
+/area/station/hallway/secondary/command)
+"gog" = (
+/obj/machinery/holopad,
+/obj/effect/spawner/random/engineering/tracking_beacon,
+/obj/effect/landmark/event_spawn,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/engineering/storage/tech)
"gom" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 6
@@ -18028,21 +18462,6 @@
"gow" = (
/turf/open/floor/tram,
/area/station/maintenance/department/medical/central)
-"goz" = (
-/obj/structure/broken_flooring/singular/directional/east,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/greater)
-"goA" = (
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/fore)
"goB" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 6
@@ -18060,12 +18479,6 @@
},
/turf/open/floor/plating,
/area/station/hallway/secondary/dock)
-"goS" = (
-/obj/machinery/incident_display/delam/directional/north,
-/obj/structure/closet/secure_closet/engineering_personal,
-/obj/item/clothing/suit/hooded/wintercoat/engineering,
-/turf/open/floor/iron/small,
-/area/station/engineering/break_room)
"goT" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -18087,13 +18500,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
-"gpy" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/item/toy/plush/slimeplushie{
- name = "Nanners"
- },
-/turf/open/floor/engine/bz,
-/area/station/science/xenobiology)
"gpA" = (
/obj/effect/turf_decal/siding/thinplating/terracotta,
/obj/effect/decal/cleanable/dirt,
@@ -18123,6 +18529,15 @@
},
/turf/open/floor/iron,
/area/station/commons/storage/tools)
+"gpT" = (
+/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
+ dir = 9
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/small,
+/area/station/science/ordnance/storage)
"gpV" = (
/obj/structure/chair/stool/directional/north,
/turf/open/floor/carpet/orange,
@@ -18170,6 +18585,11 @@
/obj/effect/turf_decal/siding/wideplating,
/turf/open/floor/wood,
/area/station/engineering/atmos/pumproom)
+"gqV" = (
+/obj/effect/turf_decal/tile/purple/opposingcorners,
+/obj/structure/cable,
+/turf/open/floor/iron/cafeteria,
+/area/station/science/circuits)
"grm" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -18180,6 +18600,12 @@
/obj/machinery/atmospherics/components/unary/outlet_injector/on,
/turf/open/floor/iron/dark/smooth_large,
/area/station/security/execution/education)
+"gro" = (
+/obj/structure/lattice/catwalk,
+/obj/machinery/power/tracker,
+/obj/structure/cable,
+/turf/open/space/basic,
+/area/station/solars/starboard/fore)
"grx" = (
/obj/machinery/vending/wardrobe/medi_wardrobe,
/obj/structure/window/reinforced/spawner/directional/west,
@@ -18202,14 +18628,17 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/security)
-"gsh" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
+"gsr" = (
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/herringbone,
+/area/station/commons/dorms)
+"gsu" = (
+/obj/machinery/door/airlock{
+ name = "Abandoned Brewery"
},
-/turf/open/floor/iron/white/side,
-/area/station/science/lobby)
+/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"gsv" = (
/obj/effect/turf_decal/siding{
dir = 1
@@ -18221,6 +18650,20 @@
/obj/effect/landmark/start/scientist,
/turf/open/floor/iron/white/small,
/area/station/science/lab)
+"gsw" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/structure/chair/office{
+ dir = 4
+ },
+/obj/effect/turf_decal/siding/purple{
+ dir = 8
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/rd)
"gsY" = (
/turf/open/floor/iron/smooth,
/area/station/engineering/break_room)
@@ -18231,6 +18674,14 @@
},
/turf/open/floor/iron/small,
/area/station/commons/fitness/locker_room)
+"gto" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/iron/white/side{
+ dir = 1
+ },
+/area/station/science/research)
"gtr" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/vending/cigarette,
@@ -18252,15 +18703,6 @@
dir = 4
},
/area/station/hallway/secondary/recreation)
-"gtJ" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/bed/medical/emergency,
-/obj/machinery/airalarm/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/medical/medbay/central)
"guh" = (
/obj/machinery/atmospherics/components/binary/pump{
name = "atmos to engine"
@@ -18292,6 +18734,11 @@
/obj/structure/cable,
/turf/open/floor/iron/smooth,
/area/station/cargo/warehouse)
+"guu" = (
+/obj/effect/turf_decal/tile/dark_red/fourcorners,
+/obj/machinery/vending/wardrobe/sec_wardrobe,
+/turf/open/floor/iron/smooth,
+/area/station/security/checkpoint/customs)
"guz" = (
/obj/structure/cable,
/obj/item/kirbyplants/random,
@@ -18351,20 +18798,6 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/iron/small,
/area/station/engineering/atmos/storage/gas)
-"gwm" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 8
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"gwx" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -18377,6 +18810,12 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"gwI" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/alien/weeds,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/greater)
"gwQ" = (
/obj/effect/decal/cleanable/dirt,
/obj/item/radio/intercom/directional/east,
@@ -18438,14 +18877,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/smooth,
/area/station/hallway/secondary/command)
-"gxl" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 9
- },
-/obj/structure/filingcabinet/employment,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/turf/open/floor/wood/tile,
-/area/station/service/lawoffice)
"gxo" = (
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
dir = 4
@@ -18455,14 +18886,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos/project)
-"gxq" = (
-/obj/machinery/light/floor,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
-/turf/open/floor/iron/dark/small,
-/area/station/tcommsat/server)
"gxs" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/research/glass{
@@ -18540,14 +18963,6 @@
/obj/structure/window/spawner/directional/east,
/turf/open/floor/iron/smooth,
/area/station/hallway/secondary/command)
-"gye" = (
-/obj/structure/extinguisher_cabinet/directional/west,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side{
- dir = 4
- },
-/area/station/science/lobby)
"gyi" = (
/obj/effect/mapping_helpers/broken_floor,
/obj/effect/decal/cleanable/dirt,
@@ -18591,6 +19006,28 @@
/obj/structure/table/wood,
/turf/open/floor/stone,
/area/station/service/bar)
+"gyF" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/station/medical/cryo)
+"gyZ" = (
+/obj/machinery/door/airlock/engineering{
+ name = "Auxillary Base Construction"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/aux_base,
+/obj/machinery/door/firedoor,
+/obj/effect/landmark/navigate_destination,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/textured_half{
+ dir = 8
+ },
+/area/station/construction/mining/aux_base)
"gzs" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 5
@@ -18624,6 +19061,12 @@
"gzF" = (
/turf/closed/wall/r_wall,
/area/station/security/prison/rec)
+"gzL" = (
+/obj/machinery/holopad,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
+/turf/open/floor/iron/dark/small,
+/area/station/tcommsat/server)
"gzM" = (
/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
dir = 4
@@ -18634,6 +19077,13 @@
},
/turf/open/floor/wood,
/area/station/engineering/atmos/pumproom)
+"gzS" = (
+/obj/machinery/holopad,
+/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
+ dir = 4
+ },
+/turf/open/floor/iron/white/small,
+/area/station/science/ordnance/storage)
"gzY" = (
/obj/structure/cable,
/obj/structure/lattice/catwalk,
@@ -18748,29 +19198,6 @@
dir = 8
},
/area/station/hallway/primary/central/fore)
-"gBx" = (
-/obj/structure/window/reinforced/spawner/directional/west,
-/obj/structure/table/glass,
-/obj/machinery/recharger{
- pixel_x = 8;
- pixel_y = 3
- },
-/obj/machinery/button/door{
- id = "aibridge";
- name = "AI Maintenance Space Bridge Control";
- req_access = list("command");
- pixel_x = -3;
- pixel_y = 7
- },
-/obj/machinery/button/door{
- id = "bridge blast";
- name = "Bridge Access Blast Door Control";
- req_access = list("command");
- pixel_x = -3;
- pixel_y = -3
- },
-/turf/open/floor/glass/reinforced,
-/area/station/command/bridge)
"gBz" = (
/obj/machinery/computer/communications,
/turf/open/floor/glass/reinforced,
@@ -18816,14 +19243,14 @@
/obj/structure/table/glass,
/turf/open/floor/glass/reinforced,
/area/station/command/bridge)
-"gCe" = (
+"gCf" = (
+/obj/machinery/telecomms/broadcaster/preset_right,
/obj/structure/cable,
-/obj/machinery/portable_atmospherics/canister/oxygen,
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/effect/turf_decal/tile/dark_blue/half/contrasted,
-/obj/effect/turf_decal/siding/white,
-/turf/open/floor/iron/kitchen_coldroom,
-/area/station/medical/coldroom)
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 9
+ },
+/turf/open/floor/circuit,
+/area/station/tcommsat/server)
"gCg" = (
/obj/machinery/computer/records/medical,
/obj/effect/turf_decal/siding/blue{
@@ -18934,12 +19361,6 @@
/obj/structure/closet/firecloset,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"gDQ" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
- },
-/turf/open/floor/iron/dark/small,
-/area/station/tcommsat/server)
"gEa" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -18989,6 +19410,14 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
+"gEy" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
+/turf/open/floor/iron/dark/small,
+/area/station/tcommsat/server)
"gEG" = (
/obj/structure/cable,
/obj/machinery/power/apc/auto_name/directional/south,
@@ -19010,6 +19439,22 @@
/obj/effect/landmark/start/assistant,
/turf/open/floor/iron,
/area/station/hallway/primary/fore)
+"gEY" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/airlock/research{
+ name = "Xenobiology Lab"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/xenobio,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/poddoor/preopen{
+ id = "xeno_blastdoor";
+ name = "Biohazard Containment Door"
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/catwalk_floor/iron,
+/area/station/science/xenobiology)
"gFg" = (
/obj/machinery/computer/cargo/request,
/obj/effect/turf_decal/tile/neutral/fourcorners,
@@ -19043,13 +19488,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/hallway/secondary/recreation)
-"gFs" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/iron/white/small,
-/area/station/medical/psychology)
"gFu" = (
/obj/effect/spawner/random/structure/crate,
/obj/effect/spawner/random/maintenance,
@@ -19082,6 +19520,25 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/medical/medbay/aft)
+"gFI" = (
+/obj/machinery/light/small/directional/south,
+/obj/structure/closet/emcloset,
+/turf/open/floor/iron/showroomfloor,
+/area/station/commons/toilet/auxiliary)
+"gFP" = (
+/obj/machinery/firealarm/directional/west,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/command/heads_quarters/rd)
+"gFU" = (
+/obj/machinery/door/airlock{
+ name = "Auxiliary Bathrooms"
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/hallway/secondary/entry)
"gFX" = (
/obj/effect/mapping_helpers/broken_floor,
/obj/effect/decal/cleanable/dirt,
@@ -19121,15 +19578,6 @@
},
/turf/open/floor/carpet/executive,
/area/station/command/heads_quarters/captain/private)
-"gGx" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/effect/turf_decal/siding/wood{
- dir = 5
- },
-/turf/open/floor/wood/tile,
-/area/station/service/bar)
"gGy" = (
/obj/machinery/atmospherics/pipe/smart/simple/orange{
dir = 4
@@ -19151,42 +19599,18 @@
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/turf/open/floor/iron,
/area/station/security/prison)
-"gGK" = (
-/obj/effect/landmark/start/roboticist,
-/turf/open/floor/iron/smooth_large,
-/area/station/science/robotics/mechbay)
+"gGD" = (
+/obj/machinery/light/small/dim/directional/west,
+/turf/open/floor/plating,
+/area/station/maintenance/department/engine/atmos)
"gGO" = (
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/engine,
/area/station/engineering/atmospherics_engine)
-"gGQ" = (
-/obj/effect/turf_decal/tile/neutral,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/recreation)
-"gHe" = (
-/obj/structure/rack,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/turf_decal/siding/brown{
- dir = 1
- },
-/obj/machinery/firealarm/directional/north,
-/obj/item/melee/chainofcommand,
-/obj/item/binoculars,
-/turf/open/floor/iron/smooth,
-/area/station/command/bridge)
"gHg" = (
/obj/machinery/status_display/ai/directional/east,
/turf/open/floor/glass,
/area/station/hallway/primary/central/aft)
-"gHl" = (
-/obj/effect/turf_decal/tile/dark_red/half/contrasted{
- dir = 4
- },
-/obj/structure/cable,
-/turf/open/floor/iron/smooth,
-/area/station/security/checkpoint/customs)
"gHm" = (
/obj/machinery/computer/station_alert/station_only{
dir = 1
@@ -19204,13 +19628,6 @@
/obj/machinery/status_display/evac/directional/west,
/turf/open/floor/iron/smooth,
/area/station/hallway/secondary/command)
-"gHT" = (
-/obj/effect/turf_decal/trimline/neutral/warning{
- dir = 8
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/turf/open/floor/iron/dark/small,
-/area/station/medical/morgue)
"gHV" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -19259,20 +19676,6 @@
/obj/effect/spawner/random/trash,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"gIv" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/machinery/camera/autoname/directional/east,
-/obj/item/radio/intercom/directional/east,
-/obj/effect/turf_decal/siding/wood{
- dir = 4
- },
-/obj/effect/turf_decal/siding/wood/corner{
- dir = 8
- },
-/turf/open/floor/wood/tile,
-/area/station/service/bar)
"gIx" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -19296,20 +19699,13 @@
},
/turf/open/floor/plating,
/area/station/maintenance/fore/lesser)
-"gIR" = (
-/obj/effect/mapping_helpers/airlock/access/all/science/rd,
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/command{
- name = "Research Director's Office"
- },
-/obj/machinery/door/poddoor/preopen{
- id = "rdoffice";
- name = "Research Director's Shutters"
- },
+"gII" = (
+/obj/machinery/airalarm/directional/south,
+/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/catwalk_floor/iron_white,
-/area/station/science/research)
+/turf/open/floor/iron/dark/diagonal,
+/area/station/ai_monitored/command/storage/eva)
"gIS" = (
/obj/structure/table/wood,
/obj/item/reagent_containers/cup/glass/bottle/holywater,
@@ -19343,13 +19739,17 @@
},
/turf/open/floor/plating,
/area/station/cargo/sorting)
-"gJj" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/broken_flooring/pile/directional/east,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/aft)
+"gJc" = (
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk,
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/obj/effect/turf_decal/siding/dark{
+ dir = 9
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/dark/textured,
+/area/station/command/meeting_room)
"gJo" = (
/turf/open/floor/iron/stairs{
dir = 8
@@ -19373,6 +19773,13 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"gJz" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/blue,
+/turf/open/floor/iron/white,
+/area/station/medical/medbay/central)
"gJD" = (
/obj/structure/disposalpipe/segment{
dir = 9
@@ -19383,6 +19790,14 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
+"gJO" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/neutral,
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/primary/fore)
"gJQ" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/table,
@@ -19390,15 +19805,16 @@
/obj/item/cigarette/cigar/havana,
/turf/open/floor/light/colour_cycle/dancefloor_b,
/area/station/maintenance/starboard/central)
-"gJS" = (
-/obj/structure/window/reinforced/spawner/directional/east,
-/obj/machinery/atmospherics/pipe/smart/simple/general/visible,
+"gJT" = (
+/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side{
- dir = 8
+/obj/structure/disposalpipe/segment{
+ dir = 5
},
-/area/station/science/xenobiology)
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical/central)
"gJY" = (
/obj/effect/spawner/random/structure/closet_maintenance,
/obj/effect/spawner/random/maintenance/two,
@@ -19408,14 +19824,41 @@
/obj/machinery/gateway/centerstation,
/turf/open/floor/catwalk_floor/iron_smooth,
/area/station/command/gateway)
+"gKh" = (
+/obj/machinery/holopad,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/dock)
"gKi" = (
/obj/structure/rack,
/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
+"gKj" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical/central)
"gKs" = (
/turf/closed/wall,
/area/station/maintenance/disposal/incinerator)
+"gKu" = (
+/obj/effect/spawner/random/trash/moisture_trap,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
+"gKz" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/brown/opposingcorners{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/cargo/office)
"gKE" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/broken_flooring/pile/directional/east,
@@ -19425,15 +19868,11 @@
"gKL" = (
/turf/closed/wall/r_wall,
/area/station/engineering/break_room)
-"gKQ" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/obj/effect/turf_decal/siding/wideplating/dark{
- dir = 4
- },
-/turf/open/floor/iron/small,
-/area/station/service/barber)
+"gKM" = (
+/obj/structure/table,
+/obj/item/flatpack/flatpacker,
+/turf/open/floor/iron/dark,
+/area/station/science/lab)
"gKT" = (
/obj/effect/spawner/random/structure/closet_maintenance,
/turf/open/floor/plating,
@@ -19441,6 +19880,13 @@
"gLb" = (
/turf/closed/wall,
/area/station/medical/virology)
+"gLe" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/item/radio/intercom/directional/west,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/commons/fitness/recreation/entertainment)
"gLg" = (
/obj/effect/turf_decal/siding/wood,
/obj/machinery/camera/autoname/directional/north,
@@ -19520,6 +19966,11 @@
},
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
+"gLW" = (
+/obj/structure/broken_flooring/side/directional/west,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"gLY" = (
/obj/effect/spawner/structure/window/reinforced/tinted,
/turf/open/floor/plating,
@@ -19539,10 +19990,18 @@
/turf/open/floor/plating,
/area/station/command/gateway)
"gMe" = (
-/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/tcommsat/server)
+"gMl" = (
+/obj/machinery/power/terminal,
+/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
-/turf/open/floor/wood/tile,
-/area/station/command/meeting_room)
+/turf/open/floor/iron/smooth,
+/area/station/maintenance/solars/starboard/fore)
"gMq" = (
/obj/machinery/vending/clothing,
/obj/effect/turf_decal/siding/wideplating/dark{
@@ -19588,22 +20047,6 @@
/obj/machinery/newscaster/directional/south,
/turf/open/floor/iron/dark/small,
/area/station/command/heads_quarters/rd)
-"gMR" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/door/airlock/research{
- name = "Xenobiology Lab"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/xenobio,
-/obj/machinery/door/firedoor,
-/obj/machinery/door/poddoor/preopen{
- id = "xeno_blastdoor";
- name = "Biohazard Containment Door"
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/catwalk_floor/iron,
-/area/station/science/xenobiology)
"gMV" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -19648,6 +20091,11 @@
},
/turf/open/floor/iron/small,
/area/station/engineering/break_room)
+"gNv" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/spawner/random/structure/grille,
+/turf/open/floor/iron/dark,
+/area/station/maintenance/department/science/xenobiology)
"gNH" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 6
@@ -19665,24 +20113,9 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"gNX" = (
-/obj/machinery/light/floor,
-/turf/open/floor/iron/white/small,
-/area/station/service/hydroponics)
-"gOh" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
"gOm" = (
/turf/closed/wall/r_wall,
/area/station/ai_monitored/turret_protected/aisat/equipment)
-"gOq" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
"gOt" = (
/obj/structure/flora/tree/jungle/small/style_2,
/obj/effect/turf_decal/weather/dirt{
@@ -19714,12 +20147,6 @@
},
/turf/open/floor/iron,
/area/station/science/xenobiology)
-"gOR" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron,
-/area/station/maintenance/department/science/xenobiology)
"gOS" = (
/obj/machinery/rnd/production/techfab/department/cargo,
/obj/effect/turf_decal/delivery/white,
@@ -19749,6 +20176,14 @@
/obj/machinery/light/small/directional/east,
/turf/open/floor/iron/small,
/area/station/security/checkpoint/engineering)
+"gPf" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/trimline/blue/filled/corner{
+ dir = 1
+ },
+/turf/open/floor/iron/white,
+/area/station/medical/treatment_center)
"gPm" = (
/obj/machinery/computer/monitor{
dir = 1
@@ -19761,6 +20196,26 @@
/obj/item/radio/intercom/directional/west,
/turf/open/floor/plating,
/area/station/engineering/supermatter/room)
+"gPx" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/obj/machinery/requests_console/directional/west{
+ department = "Chief Medical Officer's Desk";
+ name = "Chief Medical Officer's Requests Console"
+ },
+/obj/effect/mapping_helpers/requests_console/announcement,
+/obj/effect/mapping_helpers/requests_console/information,
+/obj/effect/mapping_helpers/requests_console/assistance,
+/turf/open/floor/wood/parquet,
+/area/station/command/heads_quarters/cmo)
+"gPE" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/iron/white/small,
+/area/station/medical/psychology)
"gPN" = (
/obj/structure/fermenting_barrel,
/turf/open/floor/plating,
@@ -19797,6 +20252,15 @@
/obj/structure/sign/warning/chem_diamond,
/turf/closed/wall,
/area/station/medical/chemistry)
+"gQh" = (
+/mob/living/basic/goat/pete,
+/obj/effect/turf_decal/weather/snow,
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/heat_exchanging/manifold4w,
+/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+/area/station/service/kitchen/coldroom)
"gQy" = (
/obj/effect/mapping_helpers/broken_floor,
/obj/structure/cable,
@@ -19837,19 +20301,22 @@
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/iron,
/area/station/commons/storage/tools)
+"gRN" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/item/kirbyplants/random,
+/obj/machinery/status_display/ai/directional/south,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/dock)
"gRX" = (
/obj/machinery/newscaster/directional/south,
/obj/structure/broken_flooring/singular/directional/east,
/turf/open/floor/iron,
/area/station/hallway/secondary/dock)
-"gSk" = (
-/obj/effect/turf_decal/sand/plating,
-/obj/machinery/power/floodlight,
-/obj/structure/alien/weeds,
-/obj/effect/gibspawner/human,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/greater)
"gSr" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -19925,28 +20392,6 @@
/obj/effect/spawner/random/structure/crate,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"gTH" = (
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/obj/effect/turf_decal/siding/dark{
- dir = 1
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/light/small/directional/north,
-/turf/open/floor/iron/dark/textured,
-/area/station/command/meeting_room)
-"gTK" = (
-/obj/effect/turf_decal/tile/purple/opposingcorners,
-/obj/effect/turf_decal/siding/green{
- dir = 8
- },
-/obj/machinery/airalarm/directional/west,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/cafeteria,
-/area/station/science/circuits)
"gTO" = (
/obj/structure/cable,
/obj/machinery/power/apc/auto_name/directional/north,
@@ -19982,33 +20427,6 @@
},
/turf/open/floor/plating,
/area/station/ai_monitored/turret_protected/aisat/maint)
-"gUe" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/door/firedoor,
-/turf/open/floor/iron/small,
-/area/station/hallway/primary/aft)
-"gUk" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/iron/white,
-/area/station/medical/treatment_center)
-"gUm" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/delivery,
-/obj/machinery/door/airlock/command{
- name = "Council Chambers"
- },
-/obj/machinery/door/firedoor,
-/obj/effect/mapping_helpers/airlock/access/any/command/general,
-/obj/effect/turf_decal/siding/dark/corner{
- dir = 1
- },
-/turf/open/floor/iron/dark/textured_half,
-/area/station/command/bridge)
"gUn" = (
/obj/effect/turf_decal/tile/blue/anticorner/contrasted{
dir = 8
@@ -20016,12 +20434,34 @@
/obj/item/kirbyplants/random,
/turf/open/floor/iron/white,
/area/station/medical/medbay/lobby)
+"gUp" = (
+/obj/structure/table,
+/obj/machinery/door/window/right/directional/north{
+ name = "Core Modules";
+ req_access = list("captain")
+ },
+/obj/effect/spawner/random/aimodule/harmless,
+/obj/structure/cable,
+/turf/open/floor/circuit/red,
+/area/station/ai_monitored/turret_protected/ai_upload)
"gUC" = (
/obj/structure/disposalpipe/segment{
dir = 6
},
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
+"gUE" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/neutral/line,
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
"gUG" = (
/obj/effect/turf_decal/siding/red{
dir = 1
@@ -20067,6 +20507,11 @@
/obj/effect/spawner/random/structure/grille,
/turf/open/floor/iron,
/area/station/maintenance/port/aft)
+"gVE" = (
+/obj/structure/bodycontainer/morgue,
+/obj/machinery/light/small/directional/west,
+/turf/open/floor/iron/dark/small,
+/area/station/medical/morgue)
"gVL" = (
/obj/effect/turf_decal/weather/dirt{
dir = 1
@@ -20079,19 +20524,9 @@
/obj/machinery/light/small/directional/east,
/turf/open/floor/wood/large,
/area/station/command/corporate_suite)
-"gWa" = (
-/obj/effect/turf_decal/siding,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/small,
-/area/station/science/lab)
"gWb" = (
/turf/closed/wall,
/area/station/command/heads_quarters/hos)
-"gWf" = (
-/obj/effect/spawner/random/medical/two_percent_xeno_egg_spawner,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/engine/bz,
-/area/station/science/xenobiology)
"gWk" = (
/obj/effect/turf_decal/siding/wood,
/obj/effect/turf_decal/siding/wood{
@@ -20110,6 +20545,11 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/security/processing)
+"gWN" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"gXf" = (
/obj/effect/turf_decal/sand/plating,
/obj/effect/decal/cleanable/dirt,
@@ -20128,6 +20568,17 @@
/obj/machinery/status_display/ai/directional/north,
/turf/open/floor/iron/cafeteria,
/area/station/science/breakroom)
+"gXy" = (
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/obj/effect/turf_decal/siding/dark{
+ dir = 1
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/light/small/directional/north,
+/turf/open/floor/iron/dark/textured,
+/area/station/command/meeting_room)
"gXB" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -20140,6 +20591,13 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/cargo/lobby)
+"gXE" = (
+/obj/structure/window/spawner/directional/east,
+/obj/structure/window/spawner/directional/south,
+/obj/structure/flora/rock/pile/jungle/style_random,
+/obj/structure/sign/departments/restroom/directional/west,
+/turf/open/misc/sandy_dirt,
+/area/station/hallway/secondary/entry)
"gXL" = (
/obj/structure/cable,
/obj/machinery/door/airlock{
@@ -20175,23 +20633,50 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"gXV" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 10
+ },
+/turf/open/floor/grass,
+/area/station/medical/morgue)
+"gXX" = (
+/obj/machinery/door/airlock/security{
+ name = "Customs Checkpoint"
+ },
+/obj/effect/mapping_helpers/airlock/access/any/security/general,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/textured_half,
+/area/station/security/checkpoint/customs)
+"gXY" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/neutral,
+/obj/machinery/airalarm/directional/east,
+/turf/open/floor/iron,
+/area/station/hallway/primary/fore)
"gYq" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark,
/area/station/maintenance/starboard/greater)
-"gYK" = (
-/obj/structure/sign/poster/official/random/directional/east,
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/obj/effect/turf_decal/siding/dark{
- dir = 8
+"gYu" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/siding/wideplating_new/terracotta{
+ dir = 1
+ },
+/turf/open/floor/wood/tile,
+/area/station/maintenance/central/lesser)
+"gZg" = (
+/obj/machinery/light/cold/directional/north,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
},
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/light/small/directional/east,
-/turf/open/floor/iron/dark/textured,
-/area/station/command/meeting_room)
+/turf/open/floor/iron/white,
+/area/station/hallway/primary/starboard)
"gZi" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 8
@@ -20282,18 +20767,6 @@
},
/turf/open/floor/iron,
/area/station/cargo/lobby)
-"haq" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/siding/white{
- dir = 8
- },
-/obj/machinery/light/cold/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/medical/medbay/central)
"haO" = (
/obj/effect/turf_decal/stripes/white/end,
/obj/machinery/door/poddoor/shutters{
@@ -20311,13 +20784,17 @@
/obj/machinery/camera/autoname/directional/north,
/turf/open/floor/iron/dark/small,
/area/station/ai_monitored/security/armory)
-"hbk" = (
-/obj/effect/turf_decal/siding{
- dir = 4
+"hbi" = (
+/obj/structure/disposalpipe/segment{
+ dir = 10
},
-/obj/structure/cable,
-/turf/open/floor/iron/white,
-/area/station/science/cytology)
+/obj/effect/turf_decal/siding{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/small,
+/area/station/science/lobby)
"hbm" = (
/obj/structure/disposalpipe/segment{
dir = 5
@@ -20345,13 +20822,6 @@
},
/turf/open/floor/iron,
/area/station/commons/storage/tools)
-"hbz" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/central/lesser)
"hbG" = (
/obj/machinery/light_switch/directional/west,
/obj/machinery/camera/autoname/directional/north,
@@ -20393,14 +20863,6 @@
/obj/machinery/power/apc/auto_name/directional/north,
/turf/open/floor/iron/white,
/area/station/medical/virology)
-"hbY" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/chair/plastic{
- dir = 4
- },
-/obj/effect/landmark/start/hangover,
-/turf/open/floor/iron,
-/area/station/commons/fitness/locker_room)
"hcb" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/white/line,
@@ -20444,6 +20906,18 @@
/obj/machinery/light_switch/directional/south,
/turf/open/floor/iron/smooth,
/area/station/commons/storage/tools)
+"hcm" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/neutral/line,
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
"hcn" = (
/obj/structure/table,
/obj/machinery/light/small/directional/south,
@@ -20483,15 +20957,6 @@
/obj/effect/mapping_helpers/requests_console/assistance,
/turf/open/floor/iron/dark/small,
/area/station/ai_monitored/security/armory)
-"hcz" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/corner,
-/turf/open/floor/iron/dark/side{
- dir = 10
- },
-/area/station/engineering/storage/tech)
"hcE" = (
/obj/effect/turf_decal/siding/thinplating_new/terracotta{
dir = 1
@@ -20502,19 +20967,13 @@
/obj/effect/turf_decal/siding/yellow,
/turf/open/floor/wood/tile,
/area/station/command/bridge)
-"hcQ" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/effect/turf_decal/siding/wood{
- dir = 6
+"hcF" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/components/trinary/mixer/flipped{
+ dir = 8
},
-/obj/effect/turf_decal/siding/wood{
- dir = 1
- },
-/obj/machinery/newscaster/directional/north,
-/turf/open/floor/stone,
-/area/station/service/bar)
+/turf/open/floor/plating,
+/area/station/science/ordnance/storage)
"hcT" = (
/obj/machinery/computer/slot_machine{
pixel_y = 2
@@ -20523,16 +20982,6 @@
/obj/machinery/computer/security/telescreen/entertainment/directional/east,
/turf/open/floor/carpet/lone,
/area/station/service/abandoned_gambling_den)
-"hcU" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/siding/white{
- dir = 4
- },
-/obj/machinery/airalarm/directional/east,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/small,
-/area/station/science/xenobiology)
"hcY" = (
/obj/structure/table,
/obj/item/paper_bin{
@@ -20542,29 +20991,6 @@
/obj/structure/extinguisher_cabinet/directional/south,
/turf/open/floor/iron,
/area/station/security/tram)
-"hdd" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/structure/table/glass,
-/obj/item/folder/red{
- pixel_y = 7;
- pixel_x = 7
- },
-/obj/machinery/cell_charger{
- pixel_x = -1;
- pixel_y = -1
- },
-/turf/open/floor/iron/smooth,
-/area/station/command/bridge)
-"hdg" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/turf/open/floor/iron/smooth,
-/area/station/command/bridge)
"hdo" = (
/obj/machinery/door/airlock{
name = "Maintenance"
@@ -20588,24 +21014,6 @@
/obj/machinery/light/floor,
/turf/open/floor/noslip,
/area/station/medical/medbay/central)
-"hdH" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/door/airlock/command/glass{
- name = "Bridge"
- },
-/obj/machinery/door/firedoor,
-/obj/effect/mapping_helpers/airlock/access/any/command/general,
-/obj/machinery/door/poddoor/preopen{
- id = "bridge blast";
- name = "Bridge Blast Door"
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/catwalk_floor/iron_smooth,
-/area/station/command/bridge)
"hdI" = (
/obj/structure/table/wood,
/obj/item/pai_card,
@@ -20640,11 +21048,6 @@
/obj/effect/spawner/structure/window/reinforced/plasma,
/turf/open/floor/plating,
/area/station/engineering/supermatter/room)
-"hdZ" = (
-/obj/structure/cable,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating,
-/area/station/maintenance/central/lesser)
"hed" = (
/obj/effect/turf_decal/siding/wood{
dir = 8
@@ -20661,9 +21064,36 @@
},
/turf/open/floor/plating,
/area/station/command/corporate_suite)
+"hej" = (
+/obj/machinery/door/airlock/research/glass{
+ name = "Genetics"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/genetics,
+/obj/machinery/door/firedoor,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/catwalk_floor/iron_white,
+/area/station/science/research)
"hem" = (
/turf/closed/wall,
/area/station/hallway/primary/fore)
+"her" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/iron/white/side,
+/area/station/hallway/primary/central/aft)
+"het" = (
+/obj/machinery/door/window/brigdoor/left/directional/east{
+ name = "Secure Creature Pen";
+ req_access = list("research")
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/general/visible{
+ dir = 4
+ },
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/science/xenobiology)
"heB" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/box/red/corners,
@@ -20713,6 +21143,20 @@
},
/turf/open/floor/iron,
/area/station/commons/fitness/locker_room)
+"heQ" = (
+/obj/machinery/door/airlock/research/glass{
+ name = "Ordnance Storage"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/ordnance,
+/obj/machinery/door/firedoor,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance/storage)
"heT" = (
/obj/structure/table,
/obj/machinery/airalarm/directional/west,
@@ -20759,15 +21203,23 @@
/obj/structure/lattice,
/turf/open/misc/asteroid/airless,
/area/space/nearstation)
-"hfI" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 5
+"hfH" = (
+/obj/machinery/door/airlock/research{
+ name = "Mech Bay"
},
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/mapping_helpers/airlock/access/all/science/robotics,
+/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/wood/tile,
-/area/station/tcommsat/server)
+/turf/open/floor/catwalk_floor/iron_white,
+/area/station/science/robotics/mechbay)
+"hga" = (
+/obj/structure/rack,
+/obj/effect/spawner/random/techstorage/service_all,
+/obj/effect/turf_decal/tile/green/opposingcorners,
+/obj/effect/turf_decal/bot,
+/obj/structure/sign/poster/official/random/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/engineering/storage/tech)
"hgf" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/green{
@@ -20791,29 +21243,22 @@
},
/turf/open/floor/iron/smooth,
/area/station/maintenance/solars/starboard/aft)
-"hgp" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/tile/brown/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/cargo/office)
-"hgt" = (
-/obj/machinery/door/airlock/public{
- name = "Locker Room"
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/textured_half,
-/area/station/commons/fitness/recreation)
"hgv" = (
/obj/effect/turf_decal/delivery/white,
/obj/effect/decal/cleanable/dirt/dust,
/obj/machinery/light/small/directional/east,
/turf/open/floor/iron/smooth,
/area/station/engineering/main)
+"hgx" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/mapping_helpers/broken_floor,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/fore)
"hgF" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -20830,18 +21275,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
-"hgP" = (
-/obj/effect/turf_decal/tile/yellow/opposingcorners,
-/obj/effect/landmark/event_spawn,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/construction)
-"hgY" = (
-/obj/structure/lattice/catwalk,
-/obj/machinery/power/tracker,
-/obj/structure/cable,
-/turf/open/space/basic,
-/area/station/solars/starboard/fore)
"hgZ" = (
/obj/effect/turf_decal/tile/yellow/half/contrasted{
dir = 4
@@ -20853,15 +21286,6 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/catwalk_floor/iron,
/area/station/maintenance/department/medical/central)
-"hhg" = (
-/obj/machinery/door/airlock/security{
- name = "Customs Checkpoint"
- },
-/obj/effect/mapping_helpers/airlock/access/any/security/general,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/textured_half,
-/area/station/security/checkpoint/customs)
"hhk" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/machinery/pdapainter{
@@ -20889,10 +21313,6 @@
/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible,
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"hhK" = (
-/obj/effect/spawner/random/trash/mess,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"hhL" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -20909,14 +21329,17 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/fore/greater)
+"hia" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"hic" = (
/obj/machinery/holopad,
/turf/open/floor/wood/large,
/area/station/command/corporate_suite)
-"hio" = (
-/obj/structure/cable,
-/turf/open/floor/catwalk_floor/iron_smooth,
-/area/station/science/robotics/mechbay)
"hiq" = (
/obj/structure/closet{
name = "Evidence Closet 1"
@@ -20948,11 +21371,15 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"hiV" = (
-/obj/effect/spawner/structure/window/reinforced,
+"hiO" = (
/obj/structure/cable,
-/turf/open/floor/engine,
-/area/station/science/cytology)
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/aft)
+"hiU" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/construction/mining/aux_base)
"hjk" = (
/obj/structure/railing{
dir = 4
@@ -20963,6 +21390,10 @@
dir = 1
},
/area/station/engineering/lobby)
+"hjr" = (
+/obj/effect/turf_decal/siding/blue/corner,
+/turf/open/floor/iron/white/small,
+/area/station/medical/storage)
"hjx" = (
/obj/structure/bed/medical/emergency,
/obj/effect/turf_decal/stripes/line{
@@ -20971,28 +21402,6 @@
/obj/machinery/airalarm/directional/south,
/turf/open/floor/plating,
/area/station/command/gateway)
-"hjz" = (
-/obj/effect/landmark/event_spawn,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/small,
-/area/station/medical/morgue)
-"hjA" = (
-/obj/structure/table,
-/obj/machinery/status_display/supply{
- pixel_x = 1;
- pixel_y = 32
- },
-/obj/machinery/fax/auto_name{
- pixel_x = -1;
- pixel_y = 6
- },
-/obj/effect/turf_decal/tile/brown/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/cargo/office)
"hjQ" = (
/obj/structure/disposalpipe/segment,
/obj/effect/turf_decal/tile/neutral{
@@ -21040,13 +21449,6 @@
/obj/machinery/light/small/directional/south,
/turf/open/floor/plating,
/area/station/command/gateway)
-"hkt" = (
-/obj/effect/turf_decal/siding/dark_blue{
- dir = 9
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/turf/open/floor/iron/dark,
-/area/station/medical/morgue)
"hky" = (
/obj/item/kirbyplants/organic/applebush,
/obj/effect/turf_decal/tile/red{
@@ -21084,25 +21486,6 @@
},
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
-"hkH" = (
-/obj/machinery/door/window/left/directional/south,
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/effect/turf_decal/siding/dark,
-/obj/effect/turf_decal/bot,
-/obj/structure/rack,
-/obj/item/clothing/shoes/magboots{
- pixel_x = -4;
- pixel_y = 3
- },
-/obj/item/clothing/shoes/magboots,
-/obj/item/clothing/shoes/magboots{
- pixel_x = 4;
- pixel_y = -3
- },
-/turf/open/floor/iron/dark/smooth_edge,
-/area/station/ai_monitored/command/storage/eva)
"hkL" = (
/obj/structure/cable,
/turf/open/floor/wood/large,
@@ -21112,12 +21495,6 @@
/obj/structure/lattice,
/turf/open/space/basic,
/area/space/nearstation)
-"hkQ" = (
-/obj/machinery/computer/rdconsole,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/light/cold/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/science/lab)
"hkW" = (
/obj/structure/closet/crate/goldcrate,
/obj/effect/turf_decal/bot_white/right,
@@ -21125,6 +21502,13 @@
/obj/machinery/status_display/ai/directional/west,
/turf/open/floor/iron/dark/herringbone,
/area/station/ai_monitored/command/nuke_storage)
+"hle" = (
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/recreation)
"hlC" = (
/obj/effect/spawner/structure/window,
/obj/effect/turf_decal/bot{
@@ -21173,16 +21557,33 @@
/obj/effect/spawner/random/structure/girder,
/turf/open/floor/tram,
/area/station/security/tram)
+"hmg" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/siding/green{
+ dir = 6
+ },
+/obj/machinery/airalarm/directional/south,
+/turf/open/floor/iron/dark/small,
+/area/station/medical/chemistry)
"hmk" = (
/obj/structure/chair/stool/directional/east,
/turf/open/floor/iron/smooth,
/area/station/maintenance/solars/port/aft)
-"hmn" = (
+"hmq" = (
+/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms,
+/obj/machinery/door/airlock/command/glass{
+ name = "Telecommunications Server Room"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "comms-entrance-south"
+ },
+/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/iron/white,
-/area/station/hallway/primary/central/aft)
+/obj/machinery/atmospherics/pipe/smart/simple/dark/hidden,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/station/tcommsat/server)
"hmt" = (
/obj/structure/closet/crate,
/obj/item/stack/license_plates/empty/fifty,
@@ -21201,11 +21602,6 @@
},
/turf/open/floor/wood,
/area/station/service/chapel)
-"hmH" = (
-/obj/effect/spawner/xmastree,
-/obj/structure/flora/tree/jungle/style_3,
-/turf/open/floor/grass,
-/area/station/service/chapel)
"hmK" = (
/obj/machinery/door/airlock/wood{
name = "Bar Backroom"
@@ -21224,6 +21620,17 @@
},
/turf/open/floor/iron,
/area/station/cargo/storage)
+"hmS" = (
+/obj/effect/turf_decal/trimline/white/line{
+ dir = 6
+ },
+/obj/effect/turf_decal/trimline/white/mid_joiner{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/white/mid_joiner,
+/obj/structure/cable,
+/turf/open/floor/wood,
+/area/station/commons/fitness/recreation)
"hnf" = (
/obj/item/bikehorn/rubberducky{
pixel_x = -6;
@@ -21242,6 +21649,29 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/commons/vacant_room/commissary)
+"hnp" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 9
+ },
+/obj/structure/filingcabinet/employment,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/turf/open/floor/wood/tile,
+/area/station/service/lawoffice)
+"hnq" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/status_display/ai/directional/west,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/aft)
+"hnw" = (
+/obj/effect/turf_decal/trimline/neutral/warning{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/small,
+/area/station/medical/morgue)
"hnO" = (
/obj/structure/disposalpipe/segment,
/obj/structure/disposalpipe/segment{
@@ -21260,6 +21690,19 @@
/obj/structure/tank_holder/anesthetic,
/turf/open/floor/iron,
/area/station/science/robotics/augments)
+"hnQ" = (
+/obj/effect/turf_decal/weather/snow,
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible,
+/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+/area/station/service/kitchen/coldroom)
"hnS" = (
/obj/structure/cable,
/turf/open/floor/catwalk_floor,
@@ -21292,35 +21735,19 @@
/obj/item/radio/intercom/directional/north,
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
-"hok" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/catwalk_floor/iron,
-/area/station/science/lobby)
-"hon" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/atmospherics/components/trinary/mixer/flipped{
- dir = 8
- },
-/turf/open/floor/plating,
-/area/station/science/ordnance/storage)
"hop" = (
/turf/closed/wall,
/area/station/service/chapel/funeral)
-"hoG" = (
-/obj/effect/landmark/start/scientist,
-/obj/structure/cable,
+"hox" = (
+/obj/effect/spawner/random/engineering/tracking_beacon,
/turf/open/floor/iron,
-/area/station/science/research)
+/area/station/hallway/secondary/entry)
"hoN" = (
-/obj/effect/turf_decal/siding/dark/corner{
- dir = 8
- },
-/turf/open/floor/iron/dark/textured_half{
- dir = 1
- },
-/area/station/command/bridge)
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/dock)
"hoQ" = (
/obj/structure/window/spawner/directional/east,
/obj/structure/flora/bush/flowers_yw/style_random,
@@ -21374,15 +21801,18 @@
},
/turf/open/floor/stone,
/area/station/command/corporate_suite)
-"hqc" = (
-/obj/effect/turf_decal/stripes/line{
+"hqq" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/structure/cable,
-/turf/open/floor/iron/white/side{
- dir = 8
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 1
},
-/area/station/science/lobby)
+/obj/effect/turf_decal/trimline/neutral/line,
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
"hqM" = (
/obj/structure/toiletbong{
dir = 1
@@ -21407,6 +21837,15 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
+"hrg" = (
+/obj/structure/flora/bush/flowers_pp{
+ pixel_y = 3
+ },
+/obj/effect/dummy/lighting_obj,
+/obj/effect/light_emitter/fake_outdoors,
+/obj/effect/turf_decal/siding/wood,
+/turf/open/floor/grass/airless,
+/area/station/hallway/primary/central/aft)
"hrl" = (
/obj/structure/table/reinforced,
/obj/machinery/door/firedoor,
@@ -21426,15 +21865,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating,
/area/station/maintenance/department/engine/atmos)
-"hrC" = (
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/effect/turf_decal/tile/dark_red/anticorner/contrasted{
- dir = 4
- },
-/obj/structure/closet/secure_closet/security,
-/obj/structure/cable,
-/turf/open/floor/iron/smooth,
-/area/station/security/checkpoint/customs)
"hrE" = (
/obj/effect/turf_decal/sand/plating,
/obj/machinery/door/airlock/external/glass,
@@ -21448,6 +21878,11 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
+"hrG" = (
+/obj/effect/turf_decal/siding,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/small,
+/area/station/science/lab)
"hrL" = (
/obj/structure/lattice,
/obj/structure/railing{
@@ -21499,18 +21934,12 @@
/obj/structure/sign/warning/no_smoking/circle/directional/north,
/turf/open/floor/iron/dark/diagonal,
/area/station/service/bar)
-"hsC" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/computer/mecha{
- dir = 1
- },
-/obj/effect/turf_decal/siding/purple{
- dir = 10
- },
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/rd)
+"hsD" = (
+/obj/machinery/suit_storage_unit/standard_unit,
+/obj/effect/turf_decal/delivery,
+/obj/machinery/light_switch/directional/north,
+/turf/open/floor/iron/dark/smooth_large,
+/area/station/ai_monitored/command/storage/eva)
"hsH" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -21528,6 +21957,15 @@
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/hallway/secondary/command)
+"hsW" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/firealarm/directional/west,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/aft)
"hsZ" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -21574,6 +22012,20 @@
},
/turf/open/floor/iron,
/area/station/commons/fitness/locker_room)
+"hua" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
+"hug" = (
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/turf_decal/tile/dark_red/anticorner/contrasted{
+ dir = 4
+ },
+/obj/structure/closet/secure_closet/security,
+/obj/structure/cable,
+/turf/open/floor/iron/smooth,
+/area/station/security/checkpoint/customs)
"huh" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -21586,17 +22038,16 @@
/obj/item/radio/off,
/turf/open/floor/iron/smooth,
/area/station/commons/storage/tools)
-"huj" = (
-/obj/structure/cable,
+"hul" = (
/obj/structure/disposalpipe/segment{
- dir = 5
+ dir = 4
},
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 1
- },
-/obj/effect/turf_decal/trimline/neutral/line,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/aft)
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side,
+/area/station/science/lower)
"hur" = (
/obj/structure/table/glass,
/obj/item/storage/briefcase/secure,
@@ -21677,43 +22128,22 @@
/obj/machinery/light/small/directional/south,
/turf/open/floor/iron,
/area/station/security/tram)
-"hwj" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+"hvX" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 4
},
/turf/open/floor/iron/dark/small,
/area/station/tcommsat/server)
-"hwn" = (
-/obj/machinery/light/small/directional/south,
-/obj/structure/closet/emcloset,
-/turf/open/floor/iron/showroomfloor,
-/area/station/commons/toilet/auxiliary)
-"hwo" = (
-/obj/structure/cable,
-/obj/structure/table/bronze,
-/obj/effect/turf_decal/siding/thinplating_new/terracotta{
+"hwh" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 4
},
-/obj/item/pizzabox/margherita{
- pixel_x = 4;
- pixel_y = 24
- },
-/obj/item/storage/bag/tray{
- pixel_x = 1;
- pixel_y = -1
- },
-/turf/open/floor/iron/dark/smooth_large,
-/area/station/command/meeting_room)
+/turf/open/floor/iron/white/small,
+/area/station/science/ordnance/storage)
"hwr" = (
/obj/effect/spawner/random/engineering/atmospherics_portable,
/turf/open/floor/plating,
/area/station/maintenance/department/engine/atmos)
-"hwx" = (
-/obj/structure/table/glass,
-/obj/item/radio/intercom/command,
-/obj/item/paper/fluff/jobs/engineering/frequencies,
-/turf/open/floor/carpet/executive,
-/area/station/command/meeting_room)
"hwz" = (
/obj/machinery/camera/directional/south{
c_tag = "Xenobiology - Cell 5";
@@ -21764,14 +22194,11 @@
/obj/structure/extinguisher_cabinet/directional/west,
/turf/open/floor/iron/smooth,
/area/station/service/greenroom)
-"hxA" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/iron/smooth,
-/area/station/hallway/secondary/command)
+"hxP" = (
+/obj/machinery/holopad,
+/obj/structure/cable,
+/turf/open/floor/iron/white/small,
+/area/station/science/lobby)
"hxQ" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 4
@@ -21811,6 +22238,12 @@
"hyE" = (
/turf/closed/wall,
/area/station/maintenance/starboard/aft)
+"hyM" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/neutral,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/iron,
+/area/station/hallway/primary/fore)
"hyS" = (
/obj/effect/turf_decal/tile/brown/opposingcorners,
/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden{
@@ -21898,19 +22331,6 @@
/obj/effect/mapping_helpers/airlock/access/all/supply/mining,
/turf/open/floor/catwalk_floor/iron_smooth,
/area/station/cargo/miningoffice)
-"hAe" = (
-/obj/machinery/door/airlock/command{
- name = "Telecomms Server Room"
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms,
-/obj/machinery/door/firedoor,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "comms-entrance-south"
- },
-/obj/structure/cable,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/catwalk_floor/iron_dark,
-/area/station/tcommsat/server)
"hAu" = (
/obj/machinery/door/airlock{
name = "Maintenance"
@@ -21962,6 +22382,14 @@
},
/turf/open/floor/iron/dark/side,
/area/station/cargo/lobby)
+"hAS" = (
+/obj/effect/turf_decal/trimline/neutral/warning{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/turf/open/floor/iron/dark/small,
+/area/station/medical/morgue)
"hAW" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -22175,9 +22603,19 @@
"hDz" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/spawner/random/trash,
-/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/department/science/xenobiology)
+"hDF" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/item/kirbyplants/random/fullysynthetic,
+/obj/machinery/light/cold/directional/south,
+/turf/open/floor/iron/dark/small,
+/area/station/medical/virology)
"hDN" = (
/obj/effect/spawner/structure/window/reinforced/tinted,
/turf/open/floor/plating,
@@ -22198,15 +22636,6 @@
},
/turf/open/floor/wood,
/area/station/engineering/break_room)
-"hEm" = (
-/obj/item/kirbyplants/organic/applebush,
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/obj/effect/turf_decal/siding/dark{
- dir = 8
- },
-/obj/machinery/light_switch/directional/east,
-/turf/open/floor/iron/dark/textured,
-/area/station/command/meeting_room)
"hEu" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -22226,6 +22655,11 @@
"hEJ" = (
/turf/open/floor/iron/smooth,
/area/station/service/library)
+"hEY" = (
+/obj/machinery/light/small/directional/north,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/white,
+/area/station/science/robotics/augments)
"hFb" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -22252,15 +22686,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/maintenance/department/engine/atmos)
-"hFp" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/firealarm/directional/east,
-/obj/effect/turf_decal/tile/yellow,
-/obj/effect/turf_decal/tile/red{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/fore)
"hFx" = (
/turf/open/floor/iron/chapel{
dir = 1
@@ -22292,18 +22717,6 @@
"hGb" = (
/turf/closed/wall/r_wall,
/area/station/science/ordnance/storage)
-"hGj" = (
-/obj/structure/broken_flooring/corner,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
-"hGk" = (
-/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
-/obj/machinery/door/airlock/grunge{
- name = "St. Brendan's"
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/dark,
-/area/station/maintenance/starboard/greater)
"hGn" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating/rust,
@@ -22326,18 +22739,6 @@
},
/turf/open/floor/iron/white,
/area/station/medical/medbay/aft)
-"hGA" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/obj/effect/landmark/start/cargo_technician,
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
-"hGE" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/iron/stairs,
-/area/station/medical/medbay/central)
"hHf" = (
/obj/structure/table/reinforced,
/obj/item/paper_bin{
@@ -22401,6 +22802,14 @@
/obj/machinery/bookbinder,
/turf/open/floor/wood/parquet,
/area/station/service/library)
+"hIr" = (
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/obj/structure/sign/departments/science/directional/south,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
"hIE" = (
/obj/structure/table/glass,
/obj/machinery/light/small/directional/east,
@@ -22411,14 +22820,26 @@
/obj/item/hemostat,
/turf/open/floor/iron/white,
/area/station/science/robotics/augments)
-"hIF" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/decal/cleanable/dirt,
+"hIG" = (
+/obj/machinery/door/airlock/research{
+ name = "Gun Lab"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/general,
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/catwalk_floor/iron_white,
+/area/station/science/auxlab/firing_range)
+"hIV" = (
+/obj/machinery/airalarm/directional/south,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark,
-/area/station/tcommsat/server)
+/area/station/science/ordnance)
"hJp" = (
/turf/closed/wall/r_wall/rust,
/area/station/ai_monitored/turret_protected/ai)
@@ -22433,37 +22854,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/security/prison/garden)
-"hJO" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/corner{
- dir = 1
- },
-/area/station/hallway/secondary/dock)
-"hJP" = (
-/obj/structure/sign/departments/engineering/directional/north,
-/obj/effect/turf_decal/tile/blue,
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/turf/open/floor/iron/dark/side{
- dir = 4
- },
-/area/station/hallway/primary/fore)
-"hJR" = (
-/obj/structure/lattice/catwalk,
-/obj/item/stack/cable_coil,
-/obj/structure/cable,
-/turf/open/space/basic,
-/area/station/solars/starboard/fore)
"hJT" = (
/obj/structure/table/glass,
/obj/item/circular_saw,
@@ -22482,6 +22872,17 @@
/obj/structure/sign/warning/no_smoking/circle/directional/east,
/turf/open/floor/iron/white,
/area/station/science/robotics/augments)
+"hJX" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/effect/turf_decal/siding/wood/corner,
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/turf/open/floor/stone,
+/area/station/service/bar)
"hKf" = (
/obj/machinery/light/small/directional/south{
dir = 4
@@ -22518,18 +22919,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark/small,
/area/station/security/detectives_office)
-"hKX" = (
-/obj/structure/chair/sofa/bench/left{
- dir = 8
- },
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/landmark/start/hangover,
-/obj/effect/turf_decal/tile/yellow,
-/obj/effect/turf_decal/tile/red{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/fore)
"hKZ" = (
/obj/structure/flora/bush/jungle/a/style_random,
/turf/open/floor/grass,
@@ -22577,21 +22966,6 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/cargo/miningoffice)
-"hLU" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/door/airlock/public/glass{
- name = "Docking Corridor"
- },
-/obj/machinery/door/firedoor,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/textured_half{
- dir = 8
- },
-/area/station/hallway/secondary/dock)
"hLW" = (
/obj/structure/railing,
/obj/structure/extinguisher_cabinet/directional/north,
@@ -22606,10 +22980,6 @@
},
/turf/open/floor/plating,
/area/station/security)
-"hMa" = (
-/obj/effect/turf_decal/trimline/dark/filled/warning,
-/turf/open/floor/iron/dark/small,
-/area/station/maintenance/department/science/xenobiology)
"hMh" = (
/obj/effect/turf_decal/siding/wood,
/obj/structure/chair/stool/bamboo{
@@ -22620,14 +22990,6 @@
},
/turf/open/floor/wood/tile,
/area/station/command/heads_quarters/hop)
-"hMk" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/smooth_edge{
- dir = 1
- },
-/area/station/maintenance/starboard/greater)
"hMr" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/obj/structure/closet/secure_closet/security/sec,
@@ -22702,18 +23064,6 @@
/obj/effect/turf_decal/tile/brown/opposingcorners,
/turf/open/floor/iron,
/area/station/cargo/miningoffice)
-"hNJ" = (
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 4
- },
-/obj/structure/table,
-/obj/item/storage/toolbox/mechanical{
- pixel_y = 9
- },
-/obj/item/storage/toolbox/mechanical,
-/obj/item/clothing/head/utility/welding,
-/turf/open/floor/iron,
-/area/station/medical/chemistry)
"hNP" = (
/obj/item/storage/backpack/duffelbag/sec{
pixel_y = 12
@@ -22731,13 +23081,68 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/fore)
+"hOb" = (
+/obj/structure/table/reinforced,
+/obj/item/stock_parts/subspace/crystal{
+ pixel_x = 4;
+ pixel_y = -1
+ },
+/obj/item/stock_parts/subspace/crystal{
+ pixel_x = 4;
+ pixel_y = -1
+ },
+/obj/item/stock_parts/subspace/crystal{
+ pixel_x = 4;
+ pixel_y = -1
+ },
+/obj/item/stock_parts/subspace/treatment{
+ pixel_x = -3;
+ pixel_y = 9
+ },
+/obj/item/stock_parts/subspace/treatment{
+ pixel_x = -3;
+ pixel_y = 9
+ },
+/obj/item/stock_parts/subspace/treatment{
+ pixel_x = -3;
+ pixel_y = 9
+ },
+/obj/item/stock_parts/subspace/filter{
+ pixel_x = -4;
+ pixel_y = -1
+ },
+/obj/item/stock_parts/subspace/filter{
+ pixel_x = -4;
+ pixel_y = -1
+ },
+/obj/item/stock_parts/subspace/filter{
+ pixel_x = -4;
+ pixel_y = -1
+ },
+/obj/item/stock_parts/subspace/filter{
+ pixel_x = -4;
+ pixel_y = -1
+ },
+/obj/item/stock_parts/subspace/analyzer{
+ pixel_x = 6;
+ pixel_y = 8
+ },
+/obj/item/stock_parts/subspace/analyzer{
+ pixel_x = 6;
+ pixel_y = 8
+ },
+/obj/item/stock_parts/subspace/analyzer{
+ pixel_x = 6;
+ pixel_y = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/engineering/storage/tech)
"hOg" = (
/obj/structure/hedge,
/obj/machinery/camera/autoname/directional/south,
/turf/open/floor/wood/tile,
/area/station/command/corporate_showroom)
"hOl" = (
-/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/stairs{
@@ -22747,10 +23152,6 @@
"hOp" = (
/turf/open/floor/iron/showroomfloor,
/area/station/medical/virology)
-"hOD" = (
-/obj/structure/cable,
-/turf/closed/wall/r_wall,
-/area/station/command/bridge)
"hOF" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/obj/structure/chair/office{
@@ -22775,6 +23176,17 @@
/obj/structure/sign/poster/contraband/random/directional/north,
/turf/open/floor/carpet/lone,
/area/station/service/abandoned_gambling_den)
+"hPa" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/duct,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/station/maintenance/central/lesser)
"hPb" = (
/obj/effect/mapping_helpers/broken_floor,
/obj/effect/decal/cleanable/dirt,
@@ -22793,34 +23205,11 @@
},
/turf/open/floor/iron/white,
/area/station/medical/virology)
-"hPl" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 1
- },
-/obj/effect/turf_decal/trimline/neutral/line,
-/obj/machinery/navbeacon{
- codes_txt = "patrol;next_patrol=9.0-StarboardHall-ScienceFoyer";
- location = "8.0-Pharmacy-StarboardHall"
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
"hPs" = (
/obj/effect/turf_decal/stripes/line,
/obj/machinery/airalarm/directional/south,
/turf/open/floor/engine,
/area/station/engineering/gravity_generator)
-"hPQ" = (
-/obj/machinery/power/apc/auto_name/directional/east,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/showroomfloor,
-/area/station/commons/toilet/auxiliary)
"hPU" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -22840,13 +23229,14 @@
},
/turf/open/floor/catwalk_floor/iron_smooth,
/area/station/maintenance/solars/port/aft)
-"hQd" = (
-/obj/machinery/firealarm/directional/north,
-/obj/machinery/atmospherics/pipe/smart/simple/dark/hidden{
- dir = 10
- },
-/turf/open/floor/circuit,
-/area/station/tcommsat/server)
+"hQb" = (
+/obj/structure/rack,
+/obj/effect/spawner/random/techstorage/security_all,
+/obj/effect/turf_decal/tile/red/opposingcorners,
+/obj/effect/turf_decal/bot,
+/obj/structure/sign/poster/official/random/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/engineering/storage/tech)
"hQs" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/neutral/opposingcorners{
@@ -22925,16 +23315,11 @@
/obj/structure/closet/crate/wooden/toy,
/turf/open/floor/iron/smooth,
/area/station/service/greenroom)
-"hRd" = (
-/obj/structure/table/reinforced,
-/obj/item/binoculars,
-/obj/machinery/camera/autoname/directional/east,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
"hRA" = (
-/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_ordmix{
- dir = 8
+/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden{
+ dir = 4
},
+/obj/machinery/atmospherics/components/binary/pump,
/turf/open/floor/engine,
/area/station/science/ordnance/burnchamber)
"hRO" = (
@@ -23006,6 +23391,26 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden,
/turf/open/floor/plating,
/area/station/maintenance/disposal/incinerator)
+"hTB" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/table,
+/obj/item/clothing/glasses/meson{
+ pixel_x = -2;
+ pixel_y = 3
+ },
+/obj/item/clothing/glasses/meson{
+ pixel_x = 5;
+ pixel_y = -4
+ },
+/obj/item/clothing/glasses/meson{
+ pixel_x = 5;
+ pixel_y = 8
+ },
+/obj/machinery/camera/directional/east,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"hTD" = (
/obj/machinery/atmospherics/pipe/smart/simple/general/visible{
dir = 6
@@ -23014,6 +23419,23 @@
/obj/effect/landmark/generic_maintenance_landmark,
/turf/open/floor/iron,
/area/station/maintenance/port/fore)
+"hTE" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/railing{
+ dir = 10
+ },
+/obj/structure/table/reinforced,
+/obj/item/wrench,
+/obj/item/tank/internals/emergency_oxygen/engi,
+/obj/effect/spawner/random/maintenance,
+/turf/open/floor/iron/dark,
+/area/station/maintenance/department/science/xenobiology)
+"hTI" = (
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/greater)
"hTL" = (
/obj/effect/turf_decal/sand/plating,
/obj/effect/spawner/random/structure/crate_loot,
@@ -23034,10 +23456,6 @@
},
/turf/open/floor/iron/dark/side,
/area/station/security/execution/transfer)
-"hUq" = (
-/obj/structure/table/glass,
-/turf/open/floor/iron/smooth,
-/area/station/hallway/secondary/command)
"hUC" = (
/obj/structure/toilet,
/obj/machinery/light/small/directional/north,
@@ -23049,43 +23467,18 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/commons/dorms)
-"hUD" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance)
-"hUH" = (
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/lesser)
"hUI" = (
/obj/structure/table,
/obj/item/storage/belt/utility,
/obj/item/radio/off,
/turf/open/floor/iron/smooth,
/area/station/command/gateway)
-"hUO" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/door/airlock/public/glass{
- name = "Lockers"
- },
-/turf/open/floor/iron/textured_half,
-/area/station/commons/fitness/locker_room)
"hVb" = (
/obj/machinery/plate_press,
/obj/effect/turf_decal/stripes/line,
/obj/machinery/camera/autoname/directional/east,
/turf/open/floor/plating,
/area/station/security/prison/work)
-"hVh" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/effect/landmark/start/chief_medical_officer,
-/turf/open/floor/iron/white,
-/area/station/medical/medbay/lobby)
"hVk" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -23160,6 +23553,12 @@
/obj/machinery/light/small/directional/north,
/turf/open/floor/iron/dark,
/area/station/science/genetics)
+"hWg" = (
+/obj/machinery/telecomms/hub/preset,
+/obj/machinery/camera/autoname/directional/west,
+/obj/structure/cable,
+/turf/open/floor/circuit,
+/area/station/tcommsat/server)
"hWk" = (
/obj/machinery/vending/coffee,
/obj/structure/extinguisher_cabinet/directional/south,
@@ -23172,6 +23571,16 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
+"hWs" = (
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/chair/office/light{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/maintenance/department/science/xenobiology)
"hWu" = (
/obj/machinery/door/airlock/medical{
name = "CMO Bedroom"
@@ -23179,11 +23588,14 @@
/obj/effect/mapping_helpers/airlock/access/all/medical/cmo,
/turf/open/floor/wood/parquet,
/area/station/command/heads_quarters/cmo)
-"hWE" = (
+"hWG" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/window/reinforced/spawner/directional/east,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/smooth_large,
-/area/station/science/auxlab/firing_range)
+/turf/open/floor/iron/dark/side{
+ dir = 4
+ },
+/area/station/science/ordnance/testlab)
"hWJ" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -23193,16 +23605,6 @@
/obj/machinery/camera/autoname/directional/west,
/turf/open/floor/iron,
/area/station/security)
-"hWL" = (
-/obj/effect/turf_decal/weather/snow,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
- dir = 4
- },
-/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
-/area/station/service/kitchen/coldroom)
"hWU" = (
/obj/machinery/door/airlock{
name = "Maintenance"
@@ -23228,15 +23630,6 @@
/obj/effect/mapping_helpers/airlock/access/any/engineering/construction,
/turf/open/floor/catwalk_floor/iron,
/area/station/commons/storage/tools)
-"hXl" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/door/firedoor,
-/obj/effect/turf_decal/delivery/red,
-/turf/open/floor/iron/white/small,
-/area/station/medical/medbay/central)
"hXv" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -23304,14 +23697,6 @@
"hYC" = (
/turf/closed/wall,
/area/station/engineering/atmos)
-"hYK" = (
-/obj/machinery/power/apc/auto_name/directional/east,
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable,
-/turf/open/floor/iron/dark/side{
- dir = 8
- },
-/area/station/science/lab)
"hYQ" = (
/obj/structure/disposalpipe/trunk{
dir = 2
@@ -23339,17 +23724,6 @@
},
/turf/open/floor/iron/diagonal,
/area/station/engineering/lobby)
-"hYW" = (
-/obj/machinery/light_switch/directional/east,
-/obj/structure/closet/firecloset,
-/turf/open/floor/iron/showroomfloor,
-/area/station/commons/toilet/auxiliary)
-"hZP" = (
-/obj/structure/sign/poster/official/random/directional/north,
-/obj/effect/landmark/start/hangover,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/dock)
"hZT" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -23372,6 +23746,12 @@
/obj/item/clothing/head/beret/sec/navyofficer,
/turf/open/floor/plating,
/area/station/security/tram)
+"iax" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/holopad,
+/turf/open/floor/iron/smooth,
+/area/station/command/bridge)
"iaA" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/obj/machinery/light/small/directional/north,
@@ -23384,12 +23764,12 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/plating,
/area/station/maintenance/disposal/incinerator)
-"iaH" = (
-/obj/machinery/suit_storage_unit/standard_unit,
-/obj/effect/turf_decal/delivery,
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/iron/dark/smooth_large,
-/area/station/ai_monitored/command/storage/eva)
+"iaJ" = (
+/obj/structure/transit_tube/crossing/horizontal,
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/space/basic,
+/area/space/nearstation)
"iaK" = (
/obj/structure/table/wood,
/obj/item/reagent_containers/cup/glass/bottle/wine{
@@ -23409,19 +23789,35 @@
dir = 8
},
/area/station/maintenance/starboard/greater)
-"iaV" = (
-/obj/structure/chair{
- dir = 1
- },
-/obj/machinery/light/directional/south,
-/turf/open/floor/wood/tile,
-/area/station/command/meeting_room)
"ibe" = (
/obj/effect/turf_decal/bot_white,
/obj/structure/closet/crate/freezer,
/obj/item/emptysandbag,
/turf/open/floor/iron/smooth_large,
/area/station/cargo/warehouse)
+"ibf" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/effect/turf_decal/siding/wood{
+ dir = 6
+ },
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/obj/machinery/newscaster/directional/north,
+/turf/open/floor/stone,
+/area/station/service/bar)
+"ibg" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/maintenance/department/medical/central)
"ibo" = (
/obj/structure/bed,
/obj/item/bedsheet/centcom,
@@ -23503,26 +23899,6 @@
/obj/effect/turf_decal/stripes/corner,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
-"icN" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
-"icT" = (
-/obj/machinery/firealarm/directional/west,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side{
- dir = 4
- },
-/area/station/science/lower)
"icW" = (
/obj/structure/transit_tube/horizontal,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -23533,15 +23909,13 @@
/obj/structure/table/reinforced,
/turf/open/floor/iron/dark,
/area/station/medical/medbay/central)
-"idd" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
+"idb" = (
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 4
},
-/obj/structure/cable,
-/obj/structure/window/reinforced/spawner/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/science/xenobiology)
+/obj/structure/sign/warning/no_smoking/directional/east,
+/turf/open/floor/iron,
+/area/station/cargo/lobby)
"ide" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -23621,11 +23995,6 @@
},
/turf/open/floor/sepia,
/area/station/maintenance/aft)
-"idJ" = (
-/turf/open/floor/iron/dark/textured_corner{
- dir = 8
- },
-/area/station/command/heads_quarters/hop)
"idN" = (
/obj/effect/turf_decal/siding/wood{
dir = 9
@@ -23643,11 +24012,10 @@
/obj/machinery/digital_clock/directional/south,
/turf/open/floor/iron,
/area/station/maintenance/department/medical/central)
-"ief" = (
-/obj/machinery/telecomms/message_server/preset,
+"idY" = (
/obj/structure/cable,
-/turf/open/floor/circuit,
-/area/station/tcommsat/server)
+/turf/closed/wall/r_wall,
+/area/station/command/meeting_room)
"iek" = (
/obj/structure/disposalpipe/trunk{
dir = 1
@@ -23685,23 +24053,14 @@
/obj/machinery/light/dim/directional/north,
/turf/open/floor/iron/white,
/area/station/science/cytology)
-"ifi" = (
-/obj/structure/table/reinforced,
-/obj/machinery/requests_console/auto_name/directional/east,
-/obj/item/stack/cable_coil{
- pixel_y = 4
+"ifh" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
},
-/obj/item/stack/cable_coil,
-/obj/item/plant_analyzer{
- pixel_y = 2;
- pixel_x = -3
- },
-/obj/item/healthanalyzer{
- pixel_y = 2;
- pixel_x = 3
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/storage/tech)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/wood/tile,
+/area/station/service/lawoffice)
"ifl" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -23755,6 +24114,13 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/iron/smooth,
/area/station/engineering/main)
+"ifO" = (
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 5
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/turf/open/floor/iron/dark,
+/area/station/medical/morgue)
"ifU" = (
/obj/structure/disposalpipe/segment{
dir = 10
@@ -23763,6 +24129,11 @@
dir = 1
},
/area/station/science/lobby)
+"igj" = (
+/obj/item/kirbyplants/random,
+/obj/structure/sign/poster/official/random/directional/north,
+/turf/open/floor/iron,
+/area/station/commons/fitness/locker_room)
"igr" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 8
@@ -23781,6 +24152,12 @@
/obj/structure/cable,
/turf/open/floor/iron/small,
/area/station/security/office)
+"igB" = (
+/obj/effect/landmark/navigate_destination/dockarrival,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"igD" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 1
@@ -23788,17 +24165,15 @@
/obj/effect/spawner/random/structure/girder,
/turf/open/floor/tram,
/area/station/maintenance/department/medical/central)
-"igS" = (
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
+"igJ" = (
+/obj/machinery/door/airlock{
+ name = "Law Office"
},
-/obj/structure/extinguisher_cabinet/directional/south,
-/obj/structure/cable,
+/obj/effect/mapping_helpers/airlock/access/any/service/lawyer,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/camera/autoname/motion/directional/south,
-/turf/open/floor/iron/dark/diagonal,
-/area/station/ai_monitored/command/storage/eva)
+/turf/open/floor/iron/dark/textured_half,
+/area/station/service/lawoffice)
"ihb" = (
/obj/effect/spawner/random/trash,
/turf/open/floor/plating,
@@ -23874,25 +24249,29 @@
/obj/effect/decal/cleanable/cobweb/cobweb2,
/turf/open/floor/eighties/red,
/area/station/service/abandoned_gambling_den/gaming)
-"ihC" = (
-/obj/structure/extinguisher_cabinet/directional/south,
-/turf/open/floor/iron/dark/small,
-/area/station/medical/morgue)
-"ihJ" = (
-/obj/structure/rack,
-/obj/item/aicard,
-/obj/item/clothing/gloves/color/yellow,
-/obj/item/ai_module/reset,
-/obj/effect/turf_decal/siding/dark,
-/obj/machinery/light/small/directional/north,
-/turf/open/floor/iron,
-/area/station/engineering/storage/tech)
+"ihK" = (
+/obj/machinery/door/airlock/engineering{
+ name = "Starboard Bow Solar Access"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/general,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/catwalk_floor/iron_smooth,
+/area/station/maintenance/starboard/fore)
"ihZ" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/security/prison/workout)
+"iia" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/hallway/secondary/dock)
"iio" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/effect/turf_decal/stripes/line{
@@ -23901,13 +24280,6 @@
/obj/effect/turf_decal/loading_area,
/turf/open/floor/iron/dark,
/area/station/science/robotics/lab)
-"iis" = (
-/obj/structure/broken_flooring/side/directional/north{
- color = "#73737a"
- },
-/obj/structure/chair/stool,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"iix" = (
/obj/effect/spawner/random/engineering/atmospherics_portable,
/turf/open/floor/plating,
@@ -23918,21 +24290,6 @@
},
/turf/open/space/basic,
/area/space)
-"iiE" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/airalarm/directional/west,
-/obj/structure/cable,
-/obj/effect/mapping_helpers/airalarm/link{
- chamber_id = "engine"
- },
-/obj/effect/mapping_helpers/airalarm/engine_access,
-/obj/effect/mapping_helpers/airalarm/tlv_no_checks,
-/obj/machinery/meter,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"iiI" = (
/obj/structure/table/reinforced,
/obj/structure/disposalpipe/segment,
@@ -23960,24 +24317,15 @@
},
/turf/open/floor/iron/smooth,
/area/station/cargo/miningfoundry)
-"iiX" = (
-/obj/structure/reagent_dispensers/watertank,
-/turf/open/floor/iron,
-/area/station/maintenance/port/aft)
+"ijk" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/fore)
"ijz" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/white/small,
/area/station/commons/toilet/restrooms)
-"ijB" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 6
- },
-/obj/item/radio/intercom/directional/south,
-/obj/machinery/atmospherics/components/trinary/mixer/flipped{
- dir = 8
- },
-/turf/open/floor/plating,
-/area/station/science/ordnance/storage)
"ijF" = (
/obj/effect/turf_decal/sand/plating,
/turf/open/floor/plating,
@@ -23999,18 +24347,21 @@
/obj/machinery/photobooth,
/turf/open/floor/iron/textured_large,
/area/station/hallway/primary/central/fore)
-"ijV" = (
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
+"ijR" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
},
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
+/obj/effect/turf_decal/trimline/neutral/end{
+ dir = 4
},
/obj/structure/cable,
-/turf/open/floor/iron/dark/side{
- dir = 8
- },
-/area/station/engineering/storage/tech)
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
+"ijS" = (
+/obj/item/wrench,
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/science/lab)
"ijY" = (
/obj/structure/closet/secure_closet/chief_medical,
/obj/item/storage/briefcase/secure{
@@ -24075,16 +24426,6 @@
},
/turf/open/floor/iron/dark/small,
/area/station/command/heads_quarters/captain/private)
-"ikS" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/turf/open/floor/wood/tile,
-/area/station/tcommsat/server)
"ikU" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 10
@@ -24150,32 +24491,12 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/iron/smooth_large,
/area/station/engineering/storage_shared)
-"ilB" = (
-/obj/effect/spawner/random/structure/steam_vent,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
-"ilC" = (
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
"ilD" = (
/obj/effect/turf_decal/siding/thinplating_new/light{
dir = 8
},
/turf/open/floor/iron/smooth_large,
/area/station/science/robotics/mechbay)
-"ilE" = (
-/obj/structure/extinguisher_cabinet/directional/east,
-/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
-/turf/open/floor/iron/white/small,
-/area/station/science/ordnance/storage)
"ilT" = (
/obj/machinery/door/airlock/external{
name = "Atmospherics External Access"
@@ -24203,16 +24524,6 @@
/obj/effect/landmark/start/security_officer,
/turf/open/floor/iron,
/area/station/security/tram)
-"imI" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/item/radio/intercom/directional/south,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/dock)
"imO" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
/obj/effect/turf_decal/stripes/line{
@@ -24221,6 +24532,13 @@
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
+"ine" = (
+/obj/structure/cable,
+/obj/machinery/door/airlock/public/glass{
+ name = "Aft Corridor"
+ },
+/turf/open/floor/iron/textured_half,
+/area/station/hallway/primary/aft)
"inh" = (
/obj/structure/disposalpipe/segment,
/obj/effect/turf_decal/trimline/neutral/line{
@@ -24232,6 +24550,30 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/fore)
+"inn" = (
+/obj/effect/turf_decal/trimline/dark/line,
+/obj/effect/turf_decal/trimline/dark/corner{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark/small,
+/area/station/maintenance/department/science/xenobiology)
+"inp" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/maintenance/department/science/xenobiology)
+"inw" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/announcement_system,
+/obj/machinery/atmospherics/pipe/smart/simple/dark/hidden{
+ dir = 8
+ },
+/turf/open/floor/iron/grimy,
+/area/station/tcommsat/server)
"inR" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -24245,12 +24587,6 @@
/obj/effect/landmark/start/shaft_miner,
/turf/open/floor/iron,
/area/station/cargo/miningoffice)
-"inU" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/iron/white/side,
-/area/station/hallway/primary/central/aft)
"ioa" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -24263,6 +24599,25 @@
/obj/structure/chair/stool/directional/west,
/turf/open/floor/iron,
/area/station/security/prison/rec)
+"ioe" = (
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 4
+ },
+/obj/machinery/navbeacon{
+ codes_txt = "patrol;next_patrol=19.0-Engineering-CentralPort";
+ location = "18.0-ToolStorage-Engineering"
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/primary/fore)
"ioo" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -24327,24 +24682,6 @@
/mob/living/basic/pet/dog/pug/mcgriff,
/turf/open/floor/iron,
/area/station/security/warden)
-"ipf" = (
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/obj/effect/turf_decal/siding/dark/corner{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/dark/textured,
-/area/station/command/meeting_room)
-"ipj" = (
-/obj/machinery/airalarm/directional/north,
-/obj/machinery/power/apc/auto_name/directional/east,
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/ai_monitored/turret_protected/ai_upload_foyer)
"ipp" = (
/obj/effect/spawner/random/engineering/atmospherics_portable,
/turf/open/floor/iron,
@@ -24359,14 +24696,6 @@
/obj/structure/closet/wardrobe/miner,
/turf/open/floor/iron,
/area/station/cargo/miningoffice)
-"ips" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/stairs{
- dir = 8
- },
-/area/station/command/bridge)
"ipt" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -24376,31 +24705,16 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
-"ipx" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/table/glass,
-/obj/machinery/fax{
- fax_name = "Research Director's Office";
- name = "Research Director's Fax Machine";
- pixel_y = 9
- },
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/rd)
"ipF" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/airalarm/directional/south,
/turf/open/floor/iron/dark,
/area/station/medical/medbay/lobby)
-"ipM" = (
-/obj/effect/turf_decal/tile/blue{
- dir = 8
- },
-/obj/effect/decal/cleanable/glass,
+"ipI" = (
+/obj/machinery/modular_computer/preset/cargochat/cargo,
/turf/open/floor/iron,
-/area/station/maintenance/department/science/xenobiology)
+/area/station/cargo/sorting)
"ipN" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible,
/obj/effect/turf_decal/stripes/line,
@@ -24436,12 +24750,6 @@
},
/turf/open/floor/stone,
/area/station/service/abandoned_gambling_den)
-"iqp" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/holopad,
-/turf/open/floor/iron/smooth,
-/area/station/command/bridge)
"iqB" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -24461,15 +24769,15 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/cafeteria,
/area/station/science/circuits)
-"iqF" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/turf/open/floor/iron/smooth,
-/area/station/command/bridge)
"iqG" = (
/obj/machinery/airalarm/directional/west,
/turf/open/floor/iron/dark,
/area/station/security/interrogation)
+"iqL" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/turf/open/floor/catwalk_floor/iron,
+/area/station/science/lobby)
"iqM" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -24483,13 +24791,12 @@
/obj/machinery/light/small/directional/south,
/turf/open/floor/iron/small,
/area/station/security/tram)
-"irc" = (
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/aft)
+"irf" = (
+/obj/item/radio/intercom/directional/west,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/command/heads_quarters/rd)
"iri" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -24520,6 +24827,12 @@
/obj/structure/closet/toolcloset,
/turf/open/floor/plating,
/area/station/construction/mining/aux_base)
+"irv" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/effect/turf_decal/siding/blue,
+/turf/open/floor/iron/white/small,
+/area/station/command/heads_quarters/cmo)
"irQ" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -24534,6 +24847,15 @@
/obj/structure/cable,
/turf/open/floor/engine,
/area/station/engineering/supermatter)
+"isf" = (
+/obj/effect/turf_decal/siding,
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/small,
+/area/station/science/lab)
"isi" = (
/obj/structure/table,
/obj/effect/turf_decal/siding/thinplating_new{
@@ -24608,9 +24930,36 @@
dir = 1
},
/area/station/command/gateway)
+"isT" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 10
+ },
+/obj/structure/flora/bush/flowers_br/style_random,
+/turf/open/floor/grass,
+/area/station/medical/morgue)
+"isX" = (
+/obj/machinery/status_display/evac/directional/north,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side{
+ dir = 1
+ },
+/area/station/science/research)
"itb" = (
/turf/closed/wall/r_wall/rust,
/area/station/ai_monitored/turret_protected/aisat/maint)
+"itd" = (
+/obj/structure/chair/sofa/bench/right{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/machinery/newscaster/directional/west,
+/turf/open/floor/iron/white/corner{
+ dir = 1
+ },
+/area/station/hallway/secondary/entry)
"itf" = (
/obj/structure/disposalpipe/segment,
/obj/item/kirbyplants/random,
@@ -24619,18 +24968,34 @@
},
/turf/open/floor/carpet/red,
/area/station/command/heads_quarters/qm)
-"itw" = (
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/turf/open/floor/iron/dark/textured_edge{
+"ity" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/neutral{
dir = 4
},
-/area/station/command/heads_quarters/hop)
+/turf/open/floor/iron,
+/area/station/hallway/primary/aft)
"itF" = (
/obj/structure/closet/firecloset,
/turf/open/floor/plating,
/area/station/maintenance/starboard/central)
+"itG" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/delivery,
+/obj/machinery/door/firedoor,
+/obj/effect/mapping_helpers/airlock/access/any/command/general,
+/obj/machinery/door/airlock/command{
+ name = "Council Chambers"
+ },
+/obj/machinery/door/poddoor/preopen{
+ id = "bridge blast";
+ name = "Bridge Blast Door"
+ },
+/turf/open/floor/iron/dark/textured_half,
+/area/station/command/corporate_showroom)
"itL" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/obj/machinery/computer/security{
@@ -24694,6 +25059,31 @@
/obj/effect/mapping_helpers/airlock/access/all/science/research,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
+"iuu" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/command{
+ name = "E.V.A. Storage"
+ },
+/obj/effect/mapping_helpers/airlock/access/any/command/eva,
+/obj/machinery/door/poddoor/preopen{
+ id = "bridge blast";
+ name = "Bridge Blast Door"
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/textured_half{
+ dir = 1
+ },
+/area/station/command/bridge)
+"iuB" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/turf/open/floor/iron/white/side{
+ dir = 1
+ },
+/area/station/science/lower)
"iuF" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -24703,6 +25093,12 @@
},
/turf/open/floor/wood,
/area/station/cargo/boutique)
+"iuO" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/light/colour_cycle/dancefloor_b,
+/area/station/maintenance/starboard/central)
"iuR" = (
/turf/closed/wall/r_wall,
/area/station/hallway/primary/central/aft)
@@ -24715,18 +25111,19 @@
},
/turf/open/floor/iron,
/area/station/maintenance/starboard/aft)
+"iuX" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/iron/dark,
+/area/station/medical/medbay/lobby)
"iuZ" = (
/obj/structure/bed,
/obj/item/bedsheet/brown,
/obj/item/melee/baseball_bat,
/turf/open/floor/wood,
/area/station/maintenance/starboard/greater)
-"ive" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white,
-/area/station/hallway/primary/starboard)
"ivh" = (
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt,
@@ -24744,11 +25141,6 @@
},
/turf/open/misc/asteroid,
/area/station/maintenance/hallway/abandoned_command)
-"ivl" = (
-/obj/item/kirbyplants/organic/applebush,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/iron/smooth,
-/area/station/hallway/primary/central/fore)
"ivm" = (
/obj/machinery/vending/assist,
/obj/effect/turf_decal/delivery/white,
@@ -24802,11 +25194,32 @@
},
/turf/open/floor/iron,
/area/station/cargo/lobby)
-"ivY" = (
+"ivJ" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/neutral/line,
+/obj/machinery/navbeacon{
+ codes_txt = "patrol;next_patrol=4.0-TechStorage-AftHall";
+ location = "3.0-StarboardHall-TechStorage"
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
+"ivN" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
+/obj/machinery/greenscreen_camera{
+ pixel_y = -5
+ },
+/turf/open/floor/wood/large,
+/area/station/command/heads_quarters/captain/private)
"iwt" = (
/obj/effect/turf_decal/siding/wood/corner{
dir = 8
@@ -24832,32 +25245,23 @@
/obj/structure/cable,
/turf/open/floor/iron/dark/small,
/area/station/security/detectives_office)
+"ixm" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark,
+/area/station/tcommsat/server)
"ixz" = (
/obj/structure/cable,
/turf/open/floor/iron/small,
/area/station/maintenance/solars/port/aft)
-"ixG" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random/structure/steam_vent,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/spawner/random/maintenance,
-/turf/open/floor/iron,
-/area/station/maintenance/department/science/xenobiology)
-"ixH" = (
-/obj/machinery/power/port_gen/pacman/pre_loaded,
-/obj/effect/turf_decal/delivery/red,
-/turf/open/floor/iron/dark,
-/area/station/maintenance/department/science/xenobiology)
-"ixM" = (
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/obj/machinery/airalarm/directional/east,
+"ixA" = (
+/obj/effect/landmark/start/scientist,
/obj/structure/cable,
/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
+/area/station/science/research)
"ixT" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/effect/turf_decal/siding/purple{
@@ -24908,25 +25312,6 @@
},
/turf/open/floor/iron/dark,
/area/station/ai_monitored/turret_protected/ai)
-"iyr" = (
-/obj/machinery/light/cold/directional/north,
-/obj/machinery/newscaster/directional/north,
-/obj/machinery/atmospherics/components/unary/portables_connector/visible{
- dir = 8
- },
-/turf/open/floor/iron/dark/side{
- dir = 9
- },
-/area/station/science/ordnance/testlab)
-"iyt" = (
-/obj/effect/turf_decal/siding,
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/small,
-/area/station/science/lab)
"iyC" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/effect/turf_decal/siding/purple{
@@ -24944,13 +25329,13 @@
},
/turf/open/floor/grass,
/area/station/service/chapel)
-"izf" = (
-/obj/structure/sign/warning/engine_safety/directional/north,
-/obj/machinery/light/cold/dim/directional/north,
-/obj/structure/closet/secure_closet/engineering_personal,
-/obj/item/clothing/suit/hooded/wintercoat/engineering,
-/turf/open/floor/iron/small,
-/area/station/engineering/break_room)
+"iza" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/broken_flooring/singular/directional/east,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/hallway/secondary/dock)
"izh" = (
/obj/item/shovel,
/turf/open/floor/plating,
@@ -24962,16 +25347,6 @@
},
/turf/open/floor/iron/white/small,
/area/station/commons/toilet/restrooms)
-"izo" = (
-/obj/machinery/door/airlock/grunge{
- name = "Vacant Comissary"
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/textured_half{
- dir = 1
- },
-/area/station/maintenance/central/lesser)
"izu" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -24980,14 +25355,21 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
-"izA" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+"izx" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/door/airlock/public/glass{
+ name = "Docking Corridor"
+ },
+/obj/machinery/door/firedoor,
/obj/structure/cable,
-/obj/effect/turf_decal/tile/neutral{
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/textured_half{
dir = 8
},
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
+/area/station/hallway/secondary/dock)
"izD" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -25010,6 +25392,16 @@
/obj/effect/turf_decal/siding/wideplating,
/turf/open/floor/wood,
/area/station/engineering/atmos/storage)
+"izK" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/obj/item/kirbyplants/random,
+/obj/effect/turf_decal/siding/thinplating_new{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/herringbone,
+/area/station/security/courtroom)
"izP" = (
/obj/structure/disposalpipe/segment,
/obj/structure/disposalpipe/segment{
@@ -25090,6 +25482,17 @@
},
/turf/open/floor/catwalk_floor/iron_smooth,
/area/station/science/robotics/mechbay)
+"iAI" = (
+/obj/structure/toilet,
+/obj/machinery/light/small/directional/west,
+/obj/machinery/button/door/directional/east{
+ id = "AuxToilet1";
+ name = "Lock Control";
+ normaldoorcontrol = 1;
+ specialfunctions = 4
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/station/commons/toilet/auxiliary)
"iAJ" = (
/obj/machinery/airalarm/directional/west,
/turf/open/floor/iron,
@@ -25128,6 +25531,12 @@
/obj/machinery/power/shieldwallgen,
/turf/open/floor/iron/smooth_large,
/area/station/command/teleporter)
+"iBd" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/table/wood,
+/turf/open/floor/stone,
+/area/station/service/bar)
"iBj" = (
/obj/structure/table/glass,
/obj/item/folder/red{
@@ -25148,25 +25557,53 @@
/obj/structure/cable,
/turf/open/floor/stone,
/area/station/service/bar/backroom)
+"iBw" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/obj/machinery/airalarm/directional/north,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/corner{
+ dir = 1
+ },
+/area/station/hallway/secondary/dock)
"iBE" = (
/obj/effect/turf_decal/sand/plating,
/obj/structure/cable,
/turf/open/floor/wood/tile,
/area/station/maintenance/port/lesser)
-"iBZ" = (
-/obj/structure/disposalpipe/segment{
- dir = 5
+"iBP" = (
+/obj/machinery/light/small/directional/south,
+/obj/structure/chair/wood{
+ dir = 4
},
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/mapping_helpers/broken_floor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/central)
+/turf/open/misc/dirt/station,
+/area/station/medical/morgue)
"iCb" = (
/obj/effect/turf_decal/siding/wood,
/turf/open/floor/carpet/royalblue,
/area/station/command/heads_quarters/captain)
+"iCe" = (
+/obj/structure/cable,
+/obj/structure/table/bronze,
+/obj/effect/turf_decal/siding/thinplating_new/terracotta{
+ dir = 4
+ },
+/obj/item/pizzabox/margherita{
+ pixel_x = 4;
+ pixel_y = 24
+ },
+/obj/item/storage/bag/tray{
+ pixel_x = 1;
+ pixel_y = -1
+ },
+/turf/open/floor/iron/dark/smooth_large,
+/area/station/command/meeting_room)
"iCf" = (
/obj/effect/turf_decal/siding/wood{
dir = 6
@@ -25237,25 +25674,21 @@
dir = 8
},
/area/station/engineering/main)
-"iCJ" = (
-/obj/machinery/door/airlock/command{
- name = "Research Division Server Room"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/rd,
-/obj/machinery/door/firedoor,
-/obj/structure/cable,
+"iCZ" = (
+/obj/machinery/camera/autoname/directional/west,
+/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/catwalk_floor/iron_white,
-/area/station/science/server)
-"iDk" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/wood/tile,
-/area/station/command/meeting_room)
+/turf/open/floor/iron,
+/area/station/hallway/secondary/recreation)
+"iDb" = (
+/obj/machinery/light/floor,
+/obj/effect/landmark/event_spawn,
+/obj/effect/turf_decal/siding/dark{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/smooth_large,
+/area/station/command/bridge)
"iDm" = (
/obj/structure/cable,
/obj/structure/railing/corner/end{
@@ -25328,6 +25761,12 @@
/obj/structure/cable,
/turf/open/floor/iron/small,
/area/station/engineering/break_room)
+"iEf" = (
+/obj/effect/landmark/blobstart,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/small,
+/area/station/medical/morgue)
"iEk" = (
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
@@ -25336,6 +25775,14 @@
/obj/machinery/atmospherics/pipe/smart/simple/green/visible,
/turf/open/floor/engine/n2o,
/area/station/engineering/atmos)
+"iEt" = (
+/obj/effect/turf_decal/siding/thinplating_new/terracotta,
+/obj/structure/bookcase/random,
+/obj/effect/turf_decal/siding/thinplating_new/terracotta{
+ dir = 6
+ },
+/turf/open/floor/iron/dark/smooth_large,
+/area/station/command/meeting_room)
"iEA" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/airalarm/directional/north,
@@ -25371,21 +25818,16 @@
/obj/machinery/power/apc/auto_name/directional/east,
/turf/open/floor/wood/large,
/area/station/command/corporate_suite)
-"iFb" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/obj/effect/turf_decal/tile/blue,
-/turf/open/floor/iron/white,
-/area/station/medical/medbay/aft)
-"iFm" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
+"iFc" = (
+/obj/effect/turf_decal/weather/snow,
+/obj/structure/disposalpipe/segment{
+ dir = 4
},
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/side{
- dir = 1
+/obj/machinery/atmospherics/pipe/heat_exchanging/junction{
+ dir = 4
},
-/area/station/science/xenobiology)
+/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+/area/station/service/kitchen/coldroom)
"iFs" = (
/obj/structure/window/spawner/directional/east,
/turf/open/misc/sandy_dirt,
@@ -25430,6 +25872,12 @@
/obj/item/kirbyplants/random/fullysynthetic,
/turf/open/floor/plating/rust,
/area/station/maintenance/hallway/abandoned_command)
+"iFQ" = (
+/obj/machinery/holopad,
+/obj/effect/turf_decal/siding/corner,
+/obj/structure/cable,
+/turf/open/floor/iron/white,
+/area/station/science/cytology)
"iGb" = (
/obj/structure/window/spawner/directional/east,
/obj/structure/closet/crate,
@@ -25453,6 +25901,14 @@
/obj/item/assembly/signaler,
/turf/open/floor/iron/smooth,
/area/station/commons/storage/tools)
+"iGc" = (
+/obj/machinery/door/airlock{
+ name = "Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/lesser)
"iGl" = (
/turf/open/floor/plating,
/area/station/maintenance/hallway/abandoned_command)
@@ -25480,14 +25936,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/fore/greater)
-"iGu" = (
-/obj/structure/rack,
-/obj/effect/spawner/random/techstorage/ai_all,
-/obj/effect/turf_decal/siding/dark{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/engineering/storage/tech)
"iGA" = (
/obj/structure/disposalpipe/segment{
dir = 9
@@ -25498,6 +25946,28 @@
/obj/structure/chair/stool/directional/east,
/turf/open/floor/iron/cafeteria,
/area/station/security/prison/mess)
+"iGG" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/commons/dorms)
+"iGL" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/window/spawner/directional/south,
+/obj/effect/turf_decal/trimline/purple/end{
+ dir = 1
+ },
+/obj/machinery/shower/directional/north{
+ name = "emergency shower";
+ pixel_y = -11
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/science/cytology)
"iGM" = (
/obj/effect/turf_decal/bot,
/obj/machinery/light/cold/dim/directional/east,
@@ -25553,6 +26023,13 @@
},
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
+"iHf" = (
+/obj/effect/turf_decal/stripes/end{
+ dir = 8
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/engineering/storage/tech)
"iHg" = (
/obj/structure/cable,
/obj/machinery/door/airlock/maintenance/external{
@@ -25597,6 +26074,14 @@
/obj/effect/turf_decal/siding/wideplating,
/turf/open/floor/wood,
/area/station/engineering/atmos/office)
+"iHM" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side{
+ dir = 1
+ },
+/area/station/science/lower)
"iHT" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -25604,6 +26089,11 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
+"iIc" = (
+/obj/structure/cable,
+/obj/machinery/light/small/dim/directional/south,
+/turf/open/floor/iron,
+/area/station/maintenance/port/aft)
"iId" = (
/obj/machinery/processor{
pixel_y = 6
@@ -25613,6 +26103,15 @@
/obj/effect/turf_decal/siding/end,
/turf/open/floor/iron/dark/textured_large,
/area/station/service/kitchen)
+"iIk" = (
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/effect/turf_decal/stripes/white/line{
+ dir = 5
+ },
+/obj/structure/cable,
+/turf/open/floor/engine,
+/area/station/science/explab)
"iIs" = (
/obj/effect/turf_decal/tile/neutral{
dir = 4
@@ -25633,11 +26132,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"iIw" = (
-/obj/item/wrench,
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/science/lab)
"iIA" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/blue{
@@ -25675,15 +26169,6 @@
},
/turf/open/floor/iron/small,
/area/station/engineering/break_room)
-"iIN" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 8
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/grimy,
-/area/station/tcommsat/server)
"iIR" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/tile/dark_red/anticorner/contrasted{
@@ -25720,23 +26205,6 @@
/obj/structure/cable,
/turf/open/floor/iron/textured_half,
/area/station/commons/dorms)
-"iJb" = (
-/obj/structure/table/glass,
-/obj/machinery/reagentgrinder{
- pixel_x = -5;
- pixel_y = 14
- },
-/obj/item/reagent_containers/cup/beaker/large{
- pixel_x = 16;
- pixel_y = 14
- },
-/obj/item/reagent_containers/cup/beaker{
- pixel_x = 12;
- pixel_y = 8
- },
-/obj/structure/cable,
-/turf/open/floor/iron/white,
-/area/station/science/cytology)
"iJc" = (
/obj/machinery/portable_atmospherics/pump,
/turf/open/floor/plating,
@@ -25749,6 +26217,15 @@
/mob/living/basic/pet/dog/corgi/ian,
/turf/open/floor/iron/dark/textured_edge,
/area/station/command/heads_quarters/hop)
+"iJo" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/grimy,
+/area/station/tcommsat/server)
"iJp" = (
/obj/effect/turf_decal/siding/thinplating_new/dark{
dir = 1
@@ -25798,6 +26275,14 @@
/obj/structure/sign/poster/official/random/directional/north,
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
+"iJD" = (
+/obj/structure/rack,
+/obj/effect/spawner/random/techstorage/rnd_secure_all,
+/obj/effect/turf_decal/siding/dark,
+/obj/machinery/light/small/directional/north,
+/obj/machinery/camera/autoname/motion/directional/east,
+/turf/open/floor/iron,
+/area/station/engineering/storage/tech)
"iJH" = (
/turf/closed/wall,
/area/station/security/checkpoint/supply)
@@ -25819,13 +26304,6 @@
/obj/machinery/airalarm/directional/east,
/turf/open/floor/plating,
/area/station/engineering/atmos/storage/gas)
-"iJL" = (
-/obj/structure/sign/warning/no_smoking/circle/directional/north,
-/obj/machinery/atmospherics/components/unary/thermomachine/freezer{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance)
"iJS" = (
/obj/structure/railing/corner/end{
dir = 4
@@ -25874,6 +26352,14 @@
/obj/effect/spawner/random/trash/food_packaging,
/turf/open/floor/plating,
/area/station/maintenance/starboard/greater)
+"iKA" = (
+/obj/machinery/telecomms/broadcaster/preset_left,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 5
+ },
+/turf/open/floor/circuit,
+/area/station/tcommsat/server)
"iLe" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -25886,18 +26372,16 @@
/obj/effect/landmark/start/hangover,
/turf/open/floor/iron/smooth,
/area/station/service/library)
-"iLp" = (
+"iLq" = (
/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
+/obj/item/kirbyplants/random,
+/obj/effect/turf_decal/siding/thinplating_new{
+ dir = 9
},
-/obj/effect/landmark/start/hangover,
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 1
- },
-/obj/effect/turf_decal/trimline/neutral/line,
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/machinery/firealarm/directional/north,
+/turf/open/floor/iron/dark/herringbone,
+/area/station/security/courtroom)
"iLA" = (
/obj/structure/closet/firecloset,
/obj/effect/turf_decal/tile/blue{
@@ -25941,15 +26425,6 @@
/obj/effect/mapping_helpers/airlock/access/any/command/hop,
/turf/open/floor/plating,
/area/station/maintenance/department/bridge)
-"iLO" = (
-/obj/structure/railing{
- dir = 4
- },
-/obj/structure/railing{
- dir = 8
- },
-/turf/open/floor/iron/stairs,
-/area/station/maintenance/department/science/xenobiology)
"iLR" = (
/obj/structure/cable,
/obj/structure/lattice/catwalk,
@@ -25994,35 +26469,16 @@
/obj/machinery/flasher/portable,
/turf/open/floor/plating,
/area/station/security/tram)
-"iMG" = (
-/obj/effect/turf_decal/tile/neutral,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/recreation)
-"iMI" = (
-/obj/structure/sign/warning/no_smoking/circle/directional/north,
-/obj/machinery/portable_atmospherics/canister,
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/portables_connector/visible{
- dir = 8
- },
-/turf/open/floor/iron/white/corner{
- dir = 8
- },
-/area/station/science/xenobiology)
-"iMS" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/effect/turf_decal/tile/blue{
+"iMT" = (
+/obj/effect/turf_decal/siding/wood{
dir = 1
},
-/obj/item/radio/intercom/directional/south,
-/turf/open/floor/iron/white,
-/area/station/medical/medbay/central)
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/hidden,
+/turf/open/floor/iron/grimy,
+/area/station/tcommsat/server)
"iMU" = (
/obj/effect/turf_decal/siding/thinplating_new/terracotta{
dir = 10
@@ -26044,6 +26500,13 @@
/obj/machinery/airalarm/directional/west,
/turf/open/floor/iron/smooth,
/area/station/hallway/secondary/command)
+"iNA" = (
+/obj/machinery/light/cold/directional/east,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"iNC" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/door/firedoor,
@@ -26076,19 +26539,22 @@
/obj/effect/spawner/random/structure/girder,
/turf/open/floor/tram,
/area/station/security/tram)
-"iNS" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
-/obj/structure/urinal/directional/south,
-/turf/open/floor/iron/showroomfloor,
-/area/station/commons/toilet/auxiliary)
"iNV" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 4
},
/turf/open/floor/iron/smooth,
/area/station/hallway/secondary/command)
+"iNW" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 8
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/trimline/neutral/end{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/aft)
"iNY" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -26108,27 +26574,6 @@
dir = 1
},
/area/station/command/heads_quarters/captain)
-"iOm" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/door/firedoor,
-/obj/effect/mapping_helpers/airlock/access/all/medical/psychology,
-/obj/machinery/door/airlock/medical{
- name = "Pychologists Office"
- },
-/turf/open/floor/iron/dark/small,
-/area/station/medical/psychology)
-"iOq" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/public/glass{
- name = "Recreation"
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/recreation)
"iOs" = (
/obj/structure/table/wood/fancy/royalblue,
/obj/effect/turf_decal/siding/wood{
@@ -26137,20 +26582,21 @@
/obj/item/hand_tele,
/turf/open/floor/stone,
/area/station/command/heads_quarters/captain/private)
-"iOv" = (
-/obj/machinery/door/airlock{
- name = "Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
-/obj/effect/mapping_helpers/airlock/unres,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/lesser)
"iOx" = (
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/station/maintenance/department/engine)
+"iOC" = (
+/obj/effect/turf_decal/tile/purple/opposingcorners,
+/obj/effect/turf_decal/siding/green{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/cafeteria,
+/area/station/science/circuits)
"iOE" = (
/obj/structure/table/wood/fancy/royalblue,
/obj/effect/turf_decal/siding/wood{
@@ -26158,33 +26604,6 @@
},
/turf/open/floor/stone,
/area/station/command/heads_quarters/captain/private)
-"iOF" = (
-/obj/structure/table/glass,
-/obj/effect/turf_decal/siding/wood{
- dir = 8
- },
-/obj/machinery/power/apc/auto_name/directional/west,
-/obj/item/phone{
- desc = "Supposedly a direct line to Nanotrasen Central Command. It's not even plugged in.";
- pixel_x = -3;
- pixel_y = 3
- },
-/obj/item/radio{
- pixel_x = 6;
- pixel_y = 5
- },
-/obj/structure/cable,
-/turf/open/floor/iron/grimy,
-/area/station/tcommsat/server)
-"iOL" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/side,
-/area/station/science/xenobiology)
"iOM" = (
/obj/structure/cable,
/obj/item/storage/bag/trash,
@@ -26225,19 +26644,6 @@
},
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
-"iPy" = (
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/security/prison/garden)
-"iPF" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/central)
"iPJ" = (
/obj/effect/turf_decal/siding/thinplating_new/light{
dir = 9
@@ -26260,6 +26666,18 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/maintenance/hallway/abandoned_command)
+"iQo" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/neutral/line,
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
"iQp" = (
/obj/structure/flora/bush/sparsegrass,
/turf/open/floor/grass,
@@ -26276,6 +26694,13 @@
/obj/machinery/light_switch/directional/east,
/turf/open/floor/iron/dark/side,
/area/station/engineering/hallway)
+"iQw" = (
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on,
+/turf/open/floor/iron/white/small,
+/area/station/science/server)
"iQC" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -26297,6 +26722,15 @@
dir = 1
},
/area/station/cargo/sorting)
+"iQP" = (
+/obj/structure/chair{
+ dir = 1;
+ pixel_y = -2
+ },
+/obj/machinery/firealarm/directional/south,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/science/lower)
"iQT" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/disposalpipe/segment{
@@ -26316,13 +26750,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/dark/small,
/area/station/service/chapel/storage)
-"iQV" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/obj/effect/turf_decal/siding/wideplating/dark{
- dir = 4
- },
-/turf/open/floor/iron/small,
-/area/station/commons/fitness/locker_room)
"iRk" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 8
@@ -26344,6 +26771,35 @@
},
/turf/open/floor/stone,
/area/station/service/abandoned_gambling_den)
+"iRr" = (
+/obj/effect/landmark/event_spawn,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/turf/open/floor/iron/white,
+/area/station/science/robotics/augments)
+"iRs" = (
+/obj/machinery/door/window/left/directional/east{
+ name = "Maximum Security Test Chamber";
+ req_access = list("xenobiology")
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/general/visible,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side{
+ dir = 8
+ },
+/area/station/science/xenobiology)
+"iRv" = (
+/obj/machinery/airalarm/directional/east,
+/obj/effect/mapping_helpers/airalarm/mixingchamber_access,
+/obj/effect/mapping_helpers/airalarm/link{
+ chamber_id = "ordnancefreezer"
+ },
+/obj/effect/mapping_helpers/airalarm/tlv_no_checks,
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible,
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance)
"iRz" = (
/obj/structure/disposalpipe/segment,
/obj/structure/cable,
@@ -26354,20 +26810,6 @@
/obj/structure/flora/bush/flowers_yw,
/turf/open/floor/grass,
/area/station/service/chapel)
-"iRQ" = (
-/obj/effect/turf_decal/weather/snow,
-/obj/structure/closet/secure_closet/freezer/fridge,
-/obj/item/food/meat/bacon,
-/obj/item/food/meat/bacon,
-/obj/item/food/meat/slab/monkey,
-/obj/item/food/meat/slab/monkey,
-/obj/item/food/meat/slab/monkey,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
- dir = 4
- },
-/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
-/area/station/service/kitchen/coldroom)
"iSb" = (
/obj/structure/frame/computer{
dir = 1
@@ -26381,15 +26823,6 @@
/obj/machinery/firealarm/directional/east,
/turf/open/floor/iron/dark/small,
/area/station/hallway/secondary/dock)
-"iSh" = (
-/obj/effect/turf_decal/stripes/end{
- dir = 8
- },
-/obj/machinery/atmospherics/components/tank{
- dir = 1
- },
-/turf/open/floor/plating,
-/area/station/science/ordnance/storage)
"iSi" = (
/obj/structure/table/wood/fancy/red,
/obj/item/gun/ballistic/automatic/c20r/toy/unrestricted,
@@ -26402,6 +26835,20 @@
/obj/item/stack/cable_coil/five,
/turf/open/floor/plating,
/area/station/maintenance/fore/lesser)
+"iSo" = (
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "sci-entrance"
+ },
+/obj/machinery/door/airlock/research/glass{
+ name = "Experimentation Lab"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/research,
+/obj/machinery/door/firedoor,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/catwalk_floor/iron,
+/area/station/science/lower)
"iSr" = (
/turf/open/floor/iron,
/area/station/security/execution/transfer)
@@ -26435,27 +26882,14 @@
},
/turf/open/floor/iron/dark/herringbone,
/area/station/ai_monitored/command/nuke_storage)
-"iTy" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron,
-/area/station/maintenance/department/medical/central)
-"iTB" = (
-/obj/structure/window/reinforced/spawner/directional/south,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
+"iTI" = (
+/obj/effect/turf_decal/tile/purple/opposingcorners,
+/obj/effect/landmark/event_spawn,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 1
},
-/obj/effect/turf_decal/stripes/line,
-/obj/structure/cable,
-/turf/open/floor/iron/dark/side{
- dir = 1
- },
-/area/station/science/xenobiology)
+/turf/open/floor/iron/cafeteria,
+/area/station/science/circuits)
"iTN" = (
/obj/machinery/door/airlock/public/glass{
name = "Holodeck Door"
@@ -26487,12 +26921,28 @@
/obj/effect/turf_decal/tile/blue,
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
+"iTT" = (
+/obj/effect/spawner/random/engineering/tracking_beacon,
+/obj/machinery/atmospherics/pipe/smart/simple/general/visible{
+ dir = 4
+ },
+/turf/open/floor/engine/bz,
+/area/station/science/xenobiology)
"iUb" = (
/obj/effect/turf_decal/sand/plating,
/obj/effect/decal/cleanable/dirt,
/obj/item/crowbar/large/old,
/turf/open/floor/plating,
/area/station/maintenance/hallway/abandoned_command)
+"iUc" = (
+/obj/effect/turf_decal/stripes/end{
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/tank{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/station/science/ordnance/storage)
"iUh" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -26505,6 +26955,12 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
+"iUp" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 4
+ },
+/turf/open/floor/circuit,
+/area/station/tcommsat/server)
"iUA" = (
/obj/machinery/conveyor{
id = "mining"
@@ -26514,6 +26970,19 @@
},
/turf/open/floor/iron,
/area/station/cargo/miningfoundry)
+"iUB" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/iron/white/corner{
+ dir = 1
+ },
+/area/station/hallway/primary/aft)
"iUH" = (
/obj/effect/turf_decal/tile/neutral,
/obj/machinery/camera/autoname/directional/south,
@@ -26536,13 +27005,6 @@
},
/turf/open/floor/plating,
/area/station/construction/mining/aux_base)
-"iUN" = (
-/obj/structure/disposalpipe/trunk,
-/obj/effect/turf_decal/bot,
-/obj/machinery/airalarm/directional/north,
-/obj/machinery/disposal/bin/tagger,
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"iUT" = (
/obj/effect/turf_decal/siding/thinplating/dark{
dir = 10
@@ -26578,12 +27040,10 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
-"iVE" = (
-/obj/machinery/telecomms/hub/preset,
-/obj/machinery/camera/autoname/directional/west,
-/obj/structure/cable,
-/turf/open/floor/circuit,
-/area/station/tcommsat/server)
+"iVG" = (
+/obj/structure/broken_flooring/side/directional/south,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"iVI" = (
/obj/structure/disposalpipe/segment{
dir = 6
@@ -26628,15 +27088,6 @@
/obj/structure/extinguisher_cabinet/directional/west,
/turf/open/floor/iron,
/area/station/commons/vacant_room/commissary)
-"iVT" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/broken_flooring/pile/directional/east,
-/obj/item/flashlight,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/hallway/secondary/dock)
"iVY" = (
/obj/effect/turf_decal/siding/brown{
dir = 1
@@ -26653,12 +27104,6 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/turf/open/floor/iron,
/area/station/security/prison/garden)
-"iWf" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/greater)
"iWj" = (
/obj/structure/disposalpipe/segment{
dir = 10
@@ -26688,6 +27133,16 @@
},
/turf/open/floor/iron,
/area/station/security/execution/transfer)
+"iWB" = (
+/obj/effect/mapping_helpers/broken_floor,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/landmark/generic_maintenance_landmark,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/obj/machinery/incident_display/tram/directional/north,
+/turf/open/floor/iron,
+/area/station/maintenance/department/medical/central)
"iWD" = (
/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{
dir = 1
@@ -26708,6 +27163,20 @@
},
/turf/open/floor/iron,
/area/station/security)
+"iWI" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/structure/transit_tube/horizontal,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/aft)
+"iWO" = (
+/obj/machinery/door/airlock{
+ name = "Science Lab Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/research,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/lesser)
"iWQ" = (
/obj/effect/turf_decal/tile/yellow/opposingcorners,
/obj/effect/landmark/start/chemist,
@@ -26820,27 +27289,6 @@
/obj/machinery/camera/autoname/directional/west,
/turf/open/floor/iron,
/area/station/command/teleporter)
-"iYo" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
-/obj/structure/cable,
-/turf/open/floor/iron/white/side,
-/area/station/science/research)
-"iYr" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 5
- },
-/obj/machinery/door/poddoor/shutters{
- dir = 1;
- id = "aibridge"
- },
-/obj/effect/spawner/random/structure/grille,
-/turf/open/floor/plating,
-/area/station/maintenance/department/engine)
"iYu" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/machinery/photocopier,
@@ -26868,11 +27316,14 @@
/obj/structure/cable,
/turf/open/floor/iron/small,
/area/station/security/processing)
-"iZl" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white,
-/area/station/science/cytology)
+"iZr" = (
+/obj/machinery/telecomms/server/presets/security,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 6
+ },
+/turf/open/floor/circuit,
+/area/station/tcommsat/server)
"iZs" = (
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
dir = 4
@@ -26931,30 +27382,18 @@
/obj/effect/spawner/random/food_or_drink/seed,
/turf/open/misc/sandy_dirt,
/area/station/maintenance/starboard/aft)
-"iZK" = (
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 8
- },
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 4
- },
-/obj/machinery/navbeacon{
- codes_txt = "patrol;next_patrol=19.0-Engineering-CentralPort";
- location = "18.0-ToolStorage-Engineering"
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/primary/fore)
"iZM" = (
/obj/effect/turf_decal/siding/wood,
/obj/structure/cable,
/turf/open/floor/wood/parquet,
/area/station/service/library)
+"iZN" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow/opposingcorners,
+/turf/open/floor/iron/dark,
+/area/station/medical/pharmacy)
"iZO" = (
/obj/structure/disposalpipe/segment{
dir = 10
@@ -26990,30 +27429,12 @@
/obj/structure/reagent_dispensers/fueltank,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"jax" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/blue,
-/obj/structure/disposalpipe/junction/flip,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/dark/side{
+"jat" = (
+/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{
dir = 4
},
-/area/station/hallway/primary/fore)
-"jaK" = (
-/obj/structure/table/glass,
-/obj/item/folder/blue{
- pixel_x = 4;
- pixel_y = 2
- },
-/obj/effect/landmark/event_spawn,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/carpet/executive,
-/area/station/command/meeting_room)
+/turf/open/floor/circuit,
+/area/station/tcommsat/server)
"jaL" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -27031,15 +27452,6 @@
"jaQ" = (
/turf/open/floor/catwalk_floor/iron_dark,
/area/station/security/processing)
-"jbd" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/machinery/door/poddoor/preopen{
- id = "rdoffice";
- name = "Research Director's Shutters"
- },
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/command/heads_quarters/rd)
"jbp" = (
/obj/structure/flora/bush/jungle,
/obj/structure/flora/rock/pile/style_3,
@@ -27099,18 +27511,11 @@
"jch" = (
/turf/open/floor/iron/white/corner,
/area/station/hallway/secondary/exit/departure_lounge)
-"jcm" = (
-/obj/effect/turf_decal/sand/plating,
-/obj/structure/closet/crate/large,
-/obj/effect/spawner/random/entertainment/plushie,
-/obj/effect/spawner/random/entertainment/plushie,
-/obj/effect/spawner/random/entertainment/plushie,
-/obj/effect/spawner/random/entertainment/plushie,
-/obj/effect/spawner/random/entertainment/plushie,
-/obj/structure/alien/weeds,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/greater)
+"jcs" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/obj/effect/turf_decal/siding/blue,
+/turf/open/floor/iron/white,
+/area/station/medical/paramedic)
"jct" = (
/obj/structure/cable,
/obj/machinery/door/airlock/external{
@@ -27129,19 +27534,14 @@
/obj/machinery/door/window/right/directional/south,
/turf/open/floor/plating,
/area/station/service/chapel/funeral)
-"jcB" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/machinery/door/airlock/wood{
- name = "Bar Backroom"
+"jcw" = (
+/obj/machinery/door/poddoor/preopen{
+ id = "bridge blast";
+ name = "Bridge Blast Door"
},
-/obj/effect/mapping_helpers/airlock/access/all/service/bar,
-/obj/machinery/door/firedoor,
-/turf/open/floor/iron/dark/textured_half{
- dir = 1
- },
-/area/station/service/bar)
+/obj/effect/spawner/structure/window/reinforced,
+/turf/open/floor/plating,
+/area/station/command/corporate_showroom)
"jcE" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -27176,12 +27576,11 @@
/obj/structure/table/wood,
/turf/open/floor/carpet,
/area/station/service/library)
-"jdJ" = (
-/obj/effect/turf_decal/siding/dark/corner,
-/turf/open/floor/iron/dark/textured_half{
- dir = 1
- },
-/area/station/command/bridge)
+"jdQ" = (
+/obj/machinery/smartfridge/organ,
+/obj/machinery/door/firedoor,
+/turf/open/floor/iron/dark/small,
+/area/station/medical/morgue)
"jdR" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/decal/cleanable/dirt,
@@ -27207,6 +27606,21 @@
/obj/machinery/light_switch/directional/south,
/turf/open/floor/iron/dark/small,
/area/station/service/chapel/storage)
+"jes" = (
+/obj/machinery/computer/rdconsole,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light/cold/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/science/lab)
+"jez" = (
+/obj/machinery/camera/autoname/directional/north,
+/obj/machinery/firealarm/directional/north,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side{
+ dir = 1
+ },
+/area/station/science/research)
"jeF" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -27235,15 +27649,6 @@
/obj/structure/sign/departments/medbay/alt/directional/west,
/turf/open/floor/plating,
/area/station/medical/medbay/lobby)
-"jfj" = (
-/obj/machinery/door/airlock{
- name = "Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
-/obj/effect/mapping_helpers/airlock/unres,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"jfs" = (
/obj/effect/turf_decal/tile/yellow/half/contrasted{
dir = 4
@@ -27283,6 +27688,17 @@
/obj/machinery/light/dim/directional/north,
/turf/open/floor/iron/smooth,
/area/station/security/evidence)
+"jfK" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/heat_exchanging/junction{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/station/tcommsat/server)
"jfP" = (
/turf/open/floor/iron/stairs{
dir = 8
@@ -27296,14 +27712,6 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/iron/white/small,
/area/station/service/hydroponics)
-"jgb" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/red/opposingcorners,
-/obj/effect/turf_decal/tile/blue/opposingcorners{
- dir = 8
- },
-/turf/open/floor/iron/smooth,
-/area/station/service/greenroom)
"jgj" = (
/obj/effect/turf_decal/stripes/line,
/obj/machinery/button/door/directional/east{
@@ -27325,6 +27733,13 @@
/obj/structure/flora/bush/jungle/a/style_3,
/turf/open/misc/dirt/station,
/area/station/service/chapel)
+"jgx" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/engineering/storage/tech)
"jgy" = (
/obj/effect/spawner/random/trash/hobo_squat,
/obj/effect/decal/cleanable/dirt,
@@ -27357,6 +27772,17 @@
"jhm" = (
/turf/open/floor/wood,
/area/station/service/abandoned_gambling_den)
+"jht" = (
+/obj/machinery/door/airlock/research/glass{
+ name = "Cubicle"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/general,
+/obj/machinery/door/firedoor,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/catwalk_floor/iron_white,
+/area/station/science/cubicle)
"jhB" = (
/obj/structure/sign/warning/electric_shock,
/turf/closed/wall/r_wall,
@@ -27372,16 +27798,6 @@
/obj/structure/extinguisher_cabinet/directional/north,
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"jhY" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/mapping_helpers/broken_floor,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/dock)
"jhZ" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -27390,19 +27806,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/textured_half,
/area/station/hallway/primary/aft)
-"jie" = (
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/structure/broken_flooring/singular/directional/east,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/aft)
-"jif" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/dark/side,
-/area/station/hallway/secondary/construction)
"jig" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 9
@@ -27452,19 +27855,24 @@
},
/turf/open/floor/iron/small,
/area/station/maintenance/department/engine/atmos)
+"jiR" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on,
+/turf/open/floor/engine/vacuum,
+/area/station/science/ordnance/burnchamber)
"jiT" = (
/obj/structure/cable,
/turf/open/floor/iron/white/corner{
dir = 8
},
/area/station/science/lower)
-"jiY" = (
-/obj/machinery/computer/security/telescreen/entertainment/directional/west,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+"jiW" = (
+/obj/machinery/airalarm/directional/west,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side{
dir = 4
},
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
+/area/station/science/lobby)
"jje" = (
/obj/effect/turf_decal/stripes/red/line{
dir = 8
@@ -27488,12 +27896,6 @@
/obj/machinery/duct,
/turf/open/floor/iron/showroomfloor,
/area/station/commons/dorms)
-"jjJ" = (
-/obj/structure/bed/dogbed/renault,
-/mob/living/basic/pet/fox/renault,
-/obj/machinery/firealarm/directional/south,
-/turf/open/floor/carpet/executive,
-/area/station/command/heads_quarters/captain/private)
"jjO" = (
/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
dir = 8
@@ -27501,6 +27903,27 @@
/obj/machinery/firealarm/directional/south,
/turf/open/floor/iron,
/area/station/medical/chemistry)
+"jke" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/turf/open/floor/iron/white/corner{
+ dir = 1
+ },
+/area/station/hallway/primary/aft)
+"jkz" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 8
+ },
+/turf/open/floor/iron/white/side{
+ dir = 8
+ },
+/area/station/science/lobby)
"jkC" = (
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/obj/machinery/light/warm/directional/east,
@@ -27509,17 +27932,6 @@
},
/turf/open/floor/iron,
/area/station/commons/fitness/recreation/entertainment)
-"jkE" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/mapping_helpers/broken_floor,
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical/central)
"jkT" = (
/obj/structure/table/wood,
/obj/machinery/fax/auto_name,
@@ -27558,6 +27970,23 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/security)
+"jlx" = (
+/obj/machinery/light/floor,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
+/turf/open/floor/iron/dark/small,
+/area/station/tcommsat/server)
+"jly" = (
+/obj/effect/turf_decal/tile/neutral,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/corner,
+/area/station/science/xenobiology)
"jlz" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -27577,14 +28006,6 @@
/obj/effect/turf_decal/siding/wood/corner,
/turf/open/floor/stone,
/area/station/service/chapel)
-"jlL" = (
-/obj/structure/closet/secure_closet/engineering_chief,
-/obj/item/storage/briefcase/secure,
-/obj/item/lighter,
-/obj/effect/decal/cleanable/dirt/dust,
-/obj/machinery/newscaster/directional/west,
-/turf/open/floor/wood,
-/area/station/command/heads_quarters/ce)
"jlN" = (
/turf/open/floor/iron/white/side{
dir = 6
@@ -27615,6 +28036,13 @@
/obj/structure/flora/bush/flowers_pp/style_2,
/turf/open/floor/grass,
/area/station/service/chapel)
+"jlZ" = (
+/obj/effect/turf_decal/tile/dark_red/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/turf/open/floor/iron/smooth,
+/area/station/security/checkpoint/customs)
"jmd" = (
/obj/effect/mapping_helpers/broken_floor,
/obj/effect/decal/cleanable/dirt,
@@ -27623,6 +28051,30 @@
/obj/effect/decal/cleanable/cobweb,
/turf/open/floor/wood,
/area/station/maintenance/starboard/greater)
+"jmf" = (
+/obj/structure/table/glass,
+/obj/item/reagent_containers/syringe/epinephrine{
+ pixel_x = 3;
+ pixel_y = -2
+ },
+/obj/item/reagent_containers/cup/beaker/cryoxadone{
+ pixel_x = 6;
+ pixel_y = 10
+ },
+/obj/item/reagent_containers/cup/beaker/cryoxadone{
+ pixel_x = 9;
+ pixel_y = 3
+ },
+/obj/item/reagent_containers/spray/cleaner{
+ pixel_x = -6;
+ pixel_y = 13
+ },
+/obj/item/wrench/medical{
+ pixel_x = -5
+ },
+/obj/machinery/light/cold/directional/north,
+/turf/open/floor/iron/small,
+/area/station/medical/cryo)
"jmi" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/cable,
@@ -27635,6 +28087,19 @@
/obj/machinery/light/small/directional/west,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
+"jmA" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/obj/machinery/computer/telecomms/monitor{
+ dir = 8;
+ network = "tcommsat"
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/dark/hidden{
+ dir = 8
+ },
+/turf/open/floor/iron/grimy,
+/area/station/tcommsat/server)
"jmC" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/tile/neutral,
@@ -27663,12 +28128,6 @@
/obj/machinery/portable_atmospherics/pump,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"jmW" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical/central)
"jmX" = (
/obj/structure/table/wood,
/obj/effect/turf_decal/siding/wood{
@@ -27693,16 +28152,6 @@
/obj/machinery/light/small/directional/east,
/turf/open/floor/catwalk_floor,
/area/station/engineering/break_room)
-"jnh" = (
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/obj/effect/turf_decal/siding/dark{
- dir = 8
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/dark/textured,
-/area/station/command/meeting_room)
"jnk" = (
/obj/effect/turf_decal/tile/purple/opposingcorners,
/obj/effect/turf_decal/siding/green{
@@ -27808,6 +28257,13 @@
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/turf/open/floor/iron,
/area/station/commons/fitness/recreation/entertainment)
+"jps" = (
+/obj/item/radio/intercom/directional/west,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/small,
+/area/station/science/cubicle)
"jpu" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -27819,34 +28275,17 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"jpF" = (
-/obj/machinery/button/door/directional/west{
- id = "aibridge";
- name = "AI Maintenance Space Bridge Control";
- req_access = list("command")
- },
-/turf/open/floor/plating,
-/area/station/ai_monitored/turret_protected/aisat/maint)
+"jpE" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/smooth_large,
+/area/station/science/auxlab/firing_range)
"jpM" = (
/obj/structure/closet{
name = "Evidence Closet 3"
},
/turf/open/floor/iron/smooth,
/area/station/security/evidence)
-"jpW" = (
-/obj/structure/table/wood,
-/obj/effect/turf_decal/siding/wood{
- dir = 4
- },
-/obj/machinery/power/apc/auto_name/directional/east,
-/obj/effect/decal/cleanable/dirt,
-/obj/item/flashlight/lamp/green{
- pixel_x = 1;
- pixel_y = 5
- },
-/obj/structure/cable,
-/turf/open/floor/wood/tile,
-/area/station/service/lawoffice)
"jqd" = (
/obj/effect/turf_decal/sand/plating,
/obj/effect/decal/cleanable/dirt/dust,
@@ -27868,11 +28307,6 @@
/obj/effect/landmark/start/hangover,
/turf/open/floor/iron/diagonal,
/area/station/engineering/lobby)
-"jqJ" = (
-/obj/structure/closet/emcloset,
-/obj/structure/sign/poster/official/random/directional/north,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"jqK" = (
/obj/effect/turf_decal/tile/green/opposingcorners,
/obj/effect/turf_decal/tile/blue/opposingcorners{
@@ -27885,6 +28319,16 @@
/obj/structure/sign/poster/official/random/directional/north,
/turf/open/floor/iron,
/area/station/service/hydroponics)
+"jqV" = (
+/obj/machinery/light/small/directional/south,
+/obj/effect/turf_decal/siding/wideplating_new/terracotta{
+ dir = 6
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/turf/open/floor/wood/tile,
+/area/station/maintenance/central/lesser)
"jqZ" = (
/obj/structure/cable,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
@@ -27892,16 +28336,16 @@
},
/turf/open/floor/iron,
/area/station/security/prison/rec)
-"jrg" = (
-/obj/structure/table/wood,
-/obj/effect/turf_decal/siding/wood{
- dir = 6
+"jrc" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/airalarm/directional/east,
+/obj/effect/turf_decal/tile/dark_red{
+ dir = 1
},
-/obj/item/storage/fancy/cigarettes/cigars{
- pixel_y = 4
- },
-/turf/open/floor/wood/large,
-/area/station/maintenance/department/science/xenobiology)
+/turf/open/floor/iron,
+/area/station/security/prison)
"jrk" = (
/obj/effect/turf_decal/tile/blue{
dir = 1
@@ -27933,6 +28377,13 @@
},
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
+"jrx" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/obj/machinery/light/directional/south,
+/turf/open/floor/wood/tile,
+/area/station/command/meeting_room)
"jry" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -27948,6 +28399,10 @@
},
/turf/open/floor/wood,
/area/station/engineering/atmospherics_engine)
+"jrF" = (
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/security/prison/garden)
"jrG" = (
/obj/effect/turf_decal/tile/blue/half/contrasted{
dir = 4
@@ -27970,25 +28425,50 @@
/turf/open/floor/iron,
/area/station/security/tram)
"jrU" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/siding/thinplating_new/terracotta{
- dir = 8
+/obj/machinery/atmospherics/pipe/smart/manifold/dark/hidden{
+ dir = 1
},
-/turf/open/floor/wood/tile,
-/area/station/command/corporate_showroom)
+/turf/open/floor/circuit,
+/area/station/tcommsat/server)
"jsa" = (
/obj/item/radio/intercom/directional/west,
/turf/open/floor/iron/white/side{
dir = 4
},
/area/station/science/xenobiology)
+"jsr" = (
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
"jsv" = (
/obj/structure/cable,
/obj/machinery/holopad,
/turf/open/floor/iron,
/area/station/security/prison/workout)
+"jsy" = (
+/obj/structure/sign/poster/official/random/directional/north,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side{
+ dir = 1
+ },
+/area/station/science/research)
+"jsC" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white,
+/area/station/hallway/primary/starboard)
+"jsD" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/obj/structure/table/wood,
+/turf/open/floor/stone,
+/area/station/service/bar)
"jsE" = (
/obj/machinery/light/small/directional/east,
/obj/structure/table/wood,
@@ -28017,11 +28497,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"jsN" = (
-/obj/structure/hedge,
-/obj/effect/decal/cleanable/cobweb/cobweb2,
-/turf/open/floor/plating,
-/area/station/command/heads_quarters/hop)
"jsS" = (
/obj/structure/cable,
/obj/effect/spawner/structure/window/reinforced,
@@ -28056,18 +28531,6 @@
/obj/machinery/airalarm/directional/east,
/turf/open/floor/iron/diagonal,
/area/station/command/heads_quarters/hop)
-"jtB" = (
-/obj/effect/turf_decal/stripes/white/corner,
-/turf/open/floor/iron/dark/corner,
-/area/station/cargo/storage)
-"jtD" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/obj/machinery/light/small/directional/south,
-/obj/machinery/newscaster/directional/south,
-/turf/open/floor/iron/showroomfloor,
-/area/station/commons/toilet/auxiliary)
"jtG" = (
/obj/structure/table,
/obj/structure/railing/corner,
@@ -28082,34 +28545,18 @@
"jtK" = (
/turf/open/floor/iron/small,
/area/station/maintenance/department/medical/central)
-"jtY" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/blue,
-/turf/open/floor/iron/dark/side{
- dir = 4
- },
-/area/station/hallway/primary/fore)
-"juf" = (
-/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms,
-/obj/machinery/door/airlock/command/glass{
- name = "Telecommunications Server Room"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "comms-entrance-north"
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/heat_exchanging/junction,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/catwalk_floor/iron_dark,
-/area/station/tcommsat/server)
"juo" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/smooth,
/area/station/cargo/miningfoundry)
+"juB" = (
+/obj/effect/turf_decal/siding/blue{
+ dir = 1
+ },
+/obj/machinery/airalarm/directional/north,
+/turf/open/floor/iron/white/small,
+/area/station/medical/storage)
"juS" = (
/obj/structure/bed,
/obj/item/bedsheet/hop,
@@ -28117,14 +28564,6 @@
/obj/machinery/firealarm/directional/south,
/turf/open/floor/iron/grimy,
/area/station/command/heads_quarters/hop)
-"juU" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/light_switch/directional/west,
-/obj/effect/landmark/event_spawn,
-/obj/machinery/portable_atmospherics/pump/lil_pump,
-/obj/machinery/atmospherics/pipe/smart/simple/purple/visible,
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance)
"jvd" = (
/obj/effect/turf_decal/siding/thinplating{
dir = 1
@@ -28140,6 +28579,16 @@
/obj/structure/cable,
/turf/open/floor/iron/dark/small,
/area/station/command/heads_quarters/captain/private)
+"jvv" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/iron/smooth,
+/area/station/command/bridge)
"jvB" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
@@ -28162,25 +28611,6 @@
/obj/structure/cable,
/turf/open/floor/iron/smooth,
/area/station/security/checkpoint/escape)
-"jvP" = (
-/obj/effect/turf_decal/tile/yellow/opposingcorners,
-/obj/effect/turf_decal/siding/white{
- dir = 8
- },
-/obj/effect/landmark/generic_maintenance_landmark,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/construction)
-"jvQ" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/chair/plastic{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/commons/fitness/locker_room)
"jvR" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/brown/opposingcorners,
@@ -28201,13 +28631,6 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/iron/small,
/area/station/command/teleporter)
-"jwf" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/chair{
- pixel_y = -2
- },
-/turf/open/floor/iron,
-/area/station/commons/fitness/locker_room)
"jwh" = (
/obj/structure/broken_flooring/pile/directional/east,
/obj/effect/spawner/random/trash/graffiti{
@@ -28223,6 +28646,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/wood/tile,
/area/station/command/corporate_showroom)
+"jwk" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/department/engine)
"jwl" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -28253,28 +28683,9 @@
/obj/structure/frame/machine,
/turf/open/floor/tram,
/area/station/security/tram)
-"jxk" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 9
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/wood/tile,
-/area/station/science/lower)
"jxp" = (
/turf/closed/wall/r_wall,
/area/station/ai_monitored/turret_protected/aisat/foyer)
-"jxC" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/door/firedoor,
-/obj/effect/mapping_helpers/airlock/access/all/command/general,
-/obj/machinery/door/airlock/command/glass{
- name = "Command Hallway"
- },
-/turf/open/floor/catwalk_floor/iron_smooth,
-/area/station/hallway/secondary/command)
"jxD" = (
/turf/open/floor/iron,
/area/station/maintenance/starboard/greater)
@@ -28301,6 +28712,13 @@
/obj/machinery/light/cold/directional/north,
/turf/open/floor/iron/white/small,
/area/station/medical/storage)
+"jxV" = (
+/obj/structure/broken_flooring/side/directional/north{
+ color = "#73737a"
+ },
+/obj/structure/chair/stool,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"jxZ" = (
/obj/effect/turf_decal/siding/blue{
dir = 6
@@ -28345,6 +28763,19 @@
/obj/machinery/light/small/directional/south,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/turret_protected/ai_upload_foyer)
+"jyz" = (
+/obj/item/radio/intercom/directional/south,
+/obj/effect/turf_decal/tile/blue,
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/obj/effect/turf_decal/bot,
+/obj/structure/cable,
+/turf/open/floor/iron/dark/side{
+ dir = 4
+ },
+/area/station/hallway/primary/fore)
"jyC" = (
/obj/effect/turf_decal/siding/yellow{
dir = 5
@@ -28402,6 +28833,12 @@
/obj/effect/mapping_helpers/airlock/abandoned,
/turf/open/floor/wood,
/area/station/maintenance/starboard/greater)
+"jze" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"jzg" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 1
@@ -28413,10 +28850,6 @@
},
/turf/open/floor/tram,
/area/station/maintenance/port/aft)
-"jzj" = (
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron,
-/area/station/maintenance/department/science/xenobiology)
"jzo" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -28447,21 +28880,28 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
+"jzC" = (
+/obj/effect/turf_decal/siding/white{
+ dir = 10
+ },
+/obj/structure/railing{
+ dir = 10
+ },
+/obj/structure/table/glass,
+/obj/item/stack/sheet/mineral/plasma/thirty{
+ pixel_y = 4
+ },
+/obj/item/reagent_containers/dropper{
+ pixel_y = -3
+ },
+/turf/open/floor/iron/dark/small,
+/area/station/science/xenobiology)
"jAf" = (
/obj/structure/mirror/directional/east,
/obj/structure/chair/stool/bar/directional/east,
/obj/effect/landmark/start/hangover,
/turf/open/floor/iron/showroomfloor,
/area/station/service/barber)
-"jAp" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/side,
-/area/station/science/xenobiology)
"jAq" = (
/obj/effect/mapping_helpers/broken_floor,
/obj/effect/turf_decal/tile/yellow/opposingcorners,
@@ -28476,6 +28916,17 @@
/obj/machinery/light/small/dim/directional/south,
/turf/open/floor/iron/dark,
/area/station/engineering/lobby)
+"jAF" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/door/poddoor/shutters{
+ dir = 1;
+ id = "aibridge"
+ },
+/obj/effect/spawner/random/structure/grille,
+/turf/open/floor/plating,
+/area/station/maintenance/department/engine)
"jAN" = (
/obj/machinery/computer/cargo{
dir = 1
@@ -28495,6 +28946,15 @@
/obj/structure/closet/firecloset,
/turf/open/floor/iron/dark,
/area/station/engineering/atmospherics_engine)
+"jBh" = (
+/obj/structure/window/reinforced/spawner/directional/north,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/science/xenobiology)
"jBo" = (
/obj/effect/turf_decal/siding/thinplating_new{
dir = 6
@@ -28509,19 +28969,20 @@
},
/turf/open/floor/iron/dark/small,
/area/station/ai_monitored/security/armory)
-"jBu" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+"jBy" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/door/airlock{
- name = "Maintenance"
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/machinery/camera/autoname/directional/east,
+/obj/item/radio/intercom/directional/east,
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
},
-/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
-/obj/effect/mapping_helpers/airlock/unres{
+/obj/effect/turf_decal/siding/wood/corner{
dir = 8
},
-/turf/open/floor/plating,
-/area/station/maintenance/central/greater)
+/turf/open/floor/wood/tile,
+/area/station/service/bar)
"jBA" = (
/obj/structure/cable,
/obj/machinery/power/smes/super/full,
@@ -28575,6 +29036,12 @@
},
/turf/open/floor/iron,
/area/station/security/execution/transfer)
+"jCa" = (
+/obj/effect/turf_decal/tile/dark_red/half/contrasted,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/smooth,
+/area/station/security/checkpoint/customs)
"jCm" = (
/obj/effect/landmark/start/hangover,
/turf/open/misc/dirt/station,
@@ -28583,13 +29050,15 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"jCE" = (
-/obj/structure/chair/office{
+"jCx" = (
+/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/decal/cleanable/dirt/dust,
-/turf/open/floor/wood/large,
-/area/station/maintenance/department/science/xenobiology)
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/science/lower)
"jCH" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
@@ -28636,22 +29105,18 @@
dir = 8
},
/area/station/command/corporate_showroom)
+"jDL" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/aft)
"jDM" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/structure/hedge,
/obj/machinery/light/small/directional/west,
/turf/open/floor/iron/dark,
/area/station/command/corporate_dock)
-"jDT" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/machinery/light/floor,
-/obj/effect/turf_decal/siding/wood/corner{
- dir = 4
- },
-/turf/open/floor/stone,
-/area/station/service/bar)
"jEc" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -28667,12 +29132,6 @@
/obj/structure/sign/warning/no_smoking/circle/directional/north,
/turf/open/floor/iron,
/area/station/science/lobby)
-"jEp" = (
-/obj/machinery/suit_storage_unit/standard_unit,
-/obj/effect/turf_decal/delivery,
-/obj/machinery/light_switch/directional/north,
-/turf/open/floor/iron/dark/smooth_large,
-/area/station/ai_monitored/command/storage/eva)
"jEu" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/item/kirbyplants/random,
@@ -28851,14 +29310,6 @@
dir = 1
},
/area/station/hallway/secondary/entry)
-"jGB" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/greenscreen_camera{
- pixel_y = -5
- },
-/turf/open/floor/wood/large,
-/area/station/command/heads_quarters/captain/private)
"jGC" = (
/obj/structure/disposalpipe/segment,
/obj/effect/turf_decal/stripes/white/corner{
@@ -28868,27 +29319,6 @@
dir = 8
},
/area/station/cargo/storage)
-"jGK" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/chair/wood{
- dir = 1
- },
-/turf/open/floor/iron/small,
-/area/station/service/barber)
-"jGL" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 5
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/sign/warning/cold_temp/directional/north,
-/obj/machinery/light/small/directional/north,
-/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/science/xenobiology)
"jGN" = (
/obj/effect/turf_decal/tile/red{
dir = 8
@@ -28902,12 +29332,6 @@
/obj/structure/extinguisher_cabinet/directional/south,
/turf/open/floor/wood/tile,
/area/station/command/corporate_showroom)
-"jGT" = (
-/obj/machinery/status_display/evac/directional/north,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/commons/dorms)
"jGW" = (
/obj/structure/disposalpipe/segment{
dir = 6
@@ -28928,6 +29352,14 @@
/obj/effect/decal/cleanable/cobweb/cobweb2,
/turf/open/floor/plating,
/area/station/security/tram)
+"jHc" = (
+/obj/structure/table/optable{
+ desc = "A cold, hard place for your final rest.";
+ name = "Morgue Slab"
+ },
+/obj/effect/turf_decal/trimline/dark_blue/filled/corner,
+/turf/open/floor/iron/dark,
+/area/station/medical/morgue)
"jHi" = (
/obj/structure/table/glass,
/obj/effect/turf_decal/tile/blue/fourcorners,
@@ -28949,6 +29381,11 @@
/obj/machinery/incident_display/tram/directional/north,
/turf/open/floor/iron,
/area/station/security/tram)
+"jHx" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold/dark/hidden,
+/turf/open/floor/circuit,
+/area/station/tcommsat/server)
"jHB" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -29003,33 +29440,18 @@
/obj/effect/landmark/start/hangover,
/turf/open/floor/iron,
/area/station/science/lobby)
-"jIc" = (
-/obj/machinery/door/airlock{
- name = "Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
-/turf/open/floor/iron,
-/area/station/maintenance/department/science/xenobiology)
-"jId" = (
-/obj/effect/turf_decal/tile/purple/opposingcorners,
-/obj/effect/landmark/event_spawn,
+"jIj" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
+ dir = 8
},
-/turf/open/floor/iron/cafeteria,
-/area/station/science/circuits)
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"jIl" = (
/obj/effect/turf_decal/siding/red{
dir = 10
},
/turf/open/floor/iron/small,
/area/station/security/brig)
-"jIm" = (
-/obj/structure/window/spawner/directional/north,
-/obj/structure/window/spawner/directional/south,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/greater)
"jIn" = (
/obj/item/radio/intercom/directional/north,
/obj/machinery/firealarm/directional/west,
@@ -29057,6 +29479,31 @@
/obj/effect/mapping_helpers/airlock/access/all/medical/cmo,
/turf/open/floor/iron,
/area/station/maintenance/department/medical/central)
+"jII" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/red/opposingcorners,
+/obj/effect/turf_decal/tile/blue/opposingcorners{
+ dir = 8
+ },
+/turf/open/floor/iron/smooth,
+/area/station/service/greenroom)
+"jIS" = (
+/obj/effect/spawner/random/trash/hobo_squat,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
+"jJb" = (
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/dark/corner{
+ dir = 8
+ },
+/area/station/science/xenobiology)
"jJg" = (
/obj/effect/turf_decal/siding/wideplating,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -29066,6 +29513,18 @@
},
/turf/open/floor/wood,
/area/station/engineering/main)
+"jJk" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/highsecurity{
+ name = "Secure Network Access"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/command/ai_upload,
+/obj/effect/mapping_helpers/airlock/cyclelink_helper,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/textured_half,
+/area/station/ai_monitored/turret_protected/ai_upload_foyer)
"jJw" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -29127,10 +29586,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/department/engine)
-"jKb" = (
-/obj/effect/spawner/random/trash/hobo_squat,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"jKg" = (
/obj/effect/turf_decal/tile/neutral{
dir = 1
@@ -29150,41 +29605,34 @@
/obj/structure/cable,
/turf/open/floor/iron/smooth,
/area/station/cargo/warehouse)
-"jKq" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 5
+"jKv" = (
+/obj/machinery/door/airlock{
+ name = "Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 4
+ },
+/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
+/obj/effect/mapping_helpers/airlock/unres{
+ dir = 4
+ },
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/aft)
+"jKD" = (
+/obj/machinery/navbeacon{
+ codes_txt = "patrol;next_patrol=6.3-Arrivals";
+ location = "6.2-Arrivals"
},
-/obj/machinery/light/small/directional/north,
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
-/area/station/science/xenobiology)
-"jKC" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/central)
+/area/station/hallway/secondary/entry)
"jKJ" = (
/obj/machinery/door/window/right/directional/north,
/turf/open/floor/iron,
/area/station/security/prison/workout)
-"jKS" = (
-/obj/structure/table/reinforced,
-/obj/item/trash/cheesie{
- pixel_x = 2;
- pixel_y = 8
- },
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
-"jKT" = (
-/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/west,
-/turf/open/floor/iron/grimy,
-/area/station/commons/vacant_room/office)
"jKU" = (
/turf/closed/wall,
/area/station/engineering/atmos/storage/gas)
@@ -29194,10 +29642,22 @@
},
/turf/open/floor/iron,
/area/station/commons/storage/tools)
-"jLt" = (
-/obj/structure/cable,
+"jLk" = (
+/obj/machinery/door/airlock/research/glass{
+ name = "Cytology Zoo"
+ },
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/textured_half{
+ dir = 1
+ },
+/area/station/hallway/secondary/recreation)
+"jLl" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
-/area/station/construction/mining/aux_base)
+/area/station/maintenance/starboard/greater)
"jLv" = (
/obj/effect/turf_decal/bot{
dir = 1
@@ -29212,6 +29672,13 @@
},
/turf/open/floor/iron,
/area/station/security/prison)
+"jLF" = (
+/obj/machinery/atmospherics/components/unary/passive_vent{
+ dir = 4;
+ name = "killroom vent"
+ },
+/turf/open/floor/circuit/telecomms/mainframe,
+/area/station/science/xenobiology)
"jLI" = (
/turf/open/floor/iron/half{
dir = 8
@@ -29241,27 +29708,21 @@
/obj/effect/turf_decal/tile/blue,
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
-"jMa" = (
-/obj/machinery/telecomms/server/presets/security,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
- dir = 6
- },
-/turf/open/floor/circuit,
-/area/station/tcommsat/server)
"jMp" = (
/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{
dir = 8
},
/turf/open/floor/engine/o2,
/area/station/engineering/atmos)
-"jML" = (
-/obj/structure/disposalpipe/segment,
+"jMI" = (
+/obj/machinery/airalarm/directional/north,
+/obj/machinery/power/apc/auto_name/directional/east,
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/science/lower)
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/ai_monitored/turret_protected/ai_upload_foyer)
"jMM" = (
/obj/structure/spider/stickyweb/sealed,
/obj/structure/spider/stickyweb,
@@ -29293,6 +29754,13 @@
/obj/machinery/teleport/hub,
/turf/open/floor/plating,
/area/station/command/teleporter)
+"jNf" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/iron/stairs,
+/area/station/medical/medbay/central)
"jNn" = (
/obj/structure/filingcabinet,
/turf/open/floor/iron/grimy,
@@ -29335,6 +29803,13 @@
/obj/machinery/atmospherics/pipe/smart/simple/orange/visible,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
+"jNX" = (
+/obj/structure/chair/office{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/grimy,
+/area/station/commons/vacant_room/office)
"jOb" = (
/obj/machinery/firealarm/directional/east,
/obj/effect/turf_decal/siding/wideplating/dark{
@@ -29369,6 +29844,11 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
+"jOm" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/central)
"jOs" = (
/obj/structure/window/reinforced/spawner/directional/west,
/obj/structure/flora/bush/lavendergrass/style_2,
@@ -29380,14 +29860,6 @@
/obj/machinery/status_display/evac/directional/east,
/turf/open/misc/sandy_dirt,
/area/station/hallway/primary/central/fore)
-"jOF" = (
-/obj/item/kirbyplants/random,
-/obj/machinery/light_switch/directional/west,
-/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/machinery/light/small/directional/north,
-/turf/open/floor/iron,
-/area/station/construction/mining/aux_base)
"jOM" = (
/obj/effect/turf_decal/tile/neutral{
dir = 4
@@ -29395,12 +29867,16 @@
/obj/machinery/status_display/evac/directional/north,
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
-"jOO" = (
-/obj/effect/turf_decal/weather/dirt{
- dir = 10
+"jON" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
},
-/turf/open/floor/grass,
-/area/station/medical/morgue)
+/obj/machinery/status_display/evac/directional/north,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side,
+/area/station/science/lower)
"jOU" = (
/obj/effect/landmark/start/captain,
/turf/open/floor/carpet/executive,
@@ -29438,18 +29914,14 @@
/obj/effect/spawner/structure/window/reinforced/tinted,
/turf/open/floor/plating,
/area/station/maintenance/fore/greater)
-"jPy" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
+"jPU" = (
+/obj/structure/chair/office{
+ dir = 1
},
-/turf/open/floor/iron/white/small,
-/area/station/science/cubicle)
-"jPM" = (
-/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{
- dir = 5
- },
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance)
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light/very_dim/directional/east,
+/turf/open/floor/iron/grimy,
+/area/station/commons/vacant_room/office)
"jQf" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -29458,6 +29930,11 @@
/obj/item/radio/intercom/directional/north,
/turf/open/floor/iron,
/area/station/security/execution/transfer)
+"jQj" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/maintenance/starboard/greater)
"jQv" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -29483,6 +29960,19 @@
/obj/structure/chair/stool/directional/south,
/turf/open/floor/iron,
/area/station/cargo/sorting)
+"jQM" = (
+/obj/machinery/door/airlock/research{
+ name = "Research and Development Lab"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/research,
+/obj/machinery/door/firedoor,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/catwalk_floor/iron_white,
+/area/station/science/lab)
"jQW" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/public/glass{
@@ -29516,18 +30006,6 @@
},
/turf/open/floor/iron,
/area/station/commons/vacant_room/commissary)
-"jRo" = (
-/obj/structure/chair/sofa/bench/right{
- dir = 8
- },
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/landmark/start/hangover,
-/obj/effect/turf_decal/tile/yellow,
-/obj/effect/turf_decal/tile/red{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/fore)
"jRs" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
@@ -29587,6 +30065,20 @@
dir = 4
},
/area/station/engineering/break_room)
+"jRY" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/door/airlock/public,
+/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance,
+/obj/effect/mapping_helpers/airlock/unres{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical/central)
"jSl" = (
/obj/structure/filingcabinet/filingcabinet,
/obj/machinery/light_switch/directional/east,
@@ -29611,16 +30103,27 @@
/obj/item/bedsheet/brown,
/turf/open/floor/wood,
/area/station/maintenance/starboard/greater)
-"jSp" = (
+"jSo" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Maintenance"
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/mapping_helpers/airlock/access/all/engineering/tech_storage,
/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/door/firedoor,
-/obj/effect/turf_decal/stripes/red/line,
-/obj/effect/turf_decal/stripes/red/line{
+/turf/open/floor/plating,
+/area/station/engineering/storage/tech)
+"jSu" = (
+/obj/machinery/door/airlock{
+ name = "Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/unres{
dir = 1
},
-/turf/open/floor/iron/small,
-/area/station/hallway/primary/central/fore)
+/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"jSw" = (
/obj/structure/railing,
/turf/open/floor/catwalk_floor,
@@ -29645,11 +30148,6 @@
/obj/machinery/status_display/ai/directional/north,
/turf/open/floor/iron/smooth,
/area/station/hallway/secondary/command)
-"jSR" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/fore)
"jSS" = (
/obj/structure/cable,
/obj/effect/spawner/structure/window,
@@ -29659,19 +30157,6 @@
},
/turf/open/floor/plating,
/area/station/command/corporate_showroom)
-"jSU" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/construction)
-"jSX" = (
-/obj/effect/decal/cleanable/dirt/dust,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"jTf" = (
/obj/structure/disposalpipe/segment{
dir = 10
@@ -29704,56 +30189,32 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
-"jTp" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/grimy,
-/area/station/commons/vacant_room/office)
-"jTu" = (
-/obj/effect/turf_decal/tile/purple/opposingcorners,
-/obj/effect/turf_decal/siding/green{
- dir = 9
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/cafeteria,
-/area/station/science/circuits)
"jTA" = (
/obj/item/radio/intercom/directional/north,
/obj/machinery/camera/autoname/directional/north,
/turf/open/floor/iron,
/area/station/cargo/storage)
-"jTC" = (
-/obj/effect/turf_decal/tile/neutral/opposingcorners,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/camera/autoname/directional/east,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/commons/fitness/recreation/entertainment)
"jTD" = (
/obj/machinery/atmospherics/components/trinary/filter/atmos/o2{
dir = 8
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"jTU" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+"jTH" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/turf_decal/tile/yellow{
- dir = 8
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/science/lower)
+"jTK" = (
+/obj/machinery/camera/directional/west,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side{
dir = 4
},
-/turf/open/floor/iron/white/corner{
- dir = 1
- },
-/area/station/hallway/primary/aft)
+/area/station/science/lobby)
"jTW" = (
/obj/structure/closet/radiation,
/obj/effect/turf_decal/bot{
@@ -29762,12 +30223,6 @@
/obj/machinery/firealarm/directional/north,
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"jUc" = (
-/obj/machinery/firealarm/directional/east,
-/obj/machinery/light/small/directional/east,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
"jUl" = (
/obj/machinery/door/airlock/external{
name = "Common Mining Dock"
@@ -29785,12 +30240,6 @@
},
/turf/open/space/basic,
/area/space)
-"jUp" = (
-/obj/structure/table,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/item/instrument/harmonica,
-/turf/open/floor/iron,
-/area/station/security/prison/rec)
"jUr" = (
/obj/structure/sign/poster/official/random/directional/east,
/obj/structure/table,
@@ -29824,10 +30273,37 @@
/obj/structure/cable,
/turf/open/floor/iron/herringbone,
/area/station/commons/dorms)
+"jUR" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/firedoor,
+/turf/open/floor/iron/white/small,
+/area/station/medical/medbay/lobby)
+"jUT" = (
+/obj/structure/disposalpipe/junction/flip{
+ dir = 2
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side{
+ dir = 8
+ },
+/area/station/science/research)
"jVe" = (
/obj/structure/cable,
/turf/open/floor/iron/smooth,
/area/station/hallway/secondary/command)
+"jVl" = (
+/obj/structure/sign/departments/engineering/directional/north,
+/obj/effect/turf_decal/tile/blue,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/iron/dark/side{
+ dir = 4
+ },
+/area/station/hallway/primary/fore)
"jVs" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -29838,25 +30314,6 @@
/obj/effect/mapping_helpers/airlock/access/all/security/general,
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
-"jVJ" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/table,
-/obj/item/bikehorn/rubberducky{
- color = "#a61a11";
- desc = "Foooo! Ducky is maaaaad. Ducky waaaanna hiiiiiit stuuuuuuf!";
- name = "Reggie, the Angry Duckling";
- pixel_x = 6;
- pixel_y = 9
- },
-/obj/item/grenade/firecracker{
- pixel_x = 1
- },
-/obj/item/match{
- pixel_x = -8;
- pixel_y = 4
- },
-/turf/open/floor/iron,
-/area/station/commons/fitness/locker_room)
"jVM" = (
/turf/closed/wall,
/area/station/maintenance/central/greater)
@@ -29864,14 +30321,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/maintenance/fore/greater)
-"jWd" = (
-/obj/structure/cable,
-/obj/item/kirbyplants/random/fullysynthetic,
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/machinery/firealarm/directional/east,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/turf/open/floor/iron,
-/area/station/security/prison/garden)
"jWe" = (
/obj/effect/turf_decal/siding/thinplating_new/terracotta{
dir = 10
@@ -29914,13 +30363,6 @@
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/security/courtroom)
-"jWz" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/neutral/opposingcorners,
-/obj/machinery/light_switch/directional/west,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/commons/fitness/recreation/entertainment)
"jWA" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -29943,6 +30385,17 @@
dir = 8
},
/area/station/hallway/secondary/dock)
+"jWU" = (
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/obj/machinery/light/floor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/corner{
+ dir = 1
+ },
+/area/station/hallway/secondary/entry)
"jXc" = (
/obj/structure/disposalpipe/segment{
dir = 9
@@ -29962,28 +30415,6 @@
/obj/effect/mapping_helpers/airlock/access/any/security/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
-"jXA" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/research{
- name = "Telecomms Storage"
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms,
-/obj/effect/landmark/navigate_destination,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/white/textured_half,
-/area/station/engineering/storage/tcomms)
-"jXB" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/door/airlock/public/glass{
- name = "Lockers"
- },
-/turf/open/floor/iron/textured_half{
- dir = 8
- },
-/area/station/commons/fitness/locker_room)
"jXC" = (
/obj/effect/turf_decal/tile/dark_red/half/contrasted{
dir = 1
@@ -30000,6 +30431,12 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"jXL" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/spawner/random/structure/grille,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"jXQ" = (
/obj/structure/flora/bush/large/style_random{
pixel_x = -18;
@@ -30069,25 +30506,6 @@
/obj/machinery/door/firedoor,
/turf/open/floor/plating,
/area/station/service/bar)
-"jYP" = (
-/obj/machinery/airalarm/directional/east,
-/obj/effect/turf_decal/trimline/dark_blue/filled/line{
- dir = 10
- },
-/obj/machinery/vending/wardrobe/coroner_wardrobe,
-/turf/open/floor/iron/dark,
-/area/station/medical/morgue)
-"jYQ" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/siding/dark/corner{
- dir = 4
- },
-/turf/open/floor/iron/dark/textured_half{
- dir = 1
- },
-/area/station/command/bridge)
"jYU" = (
/obj/machinery/door/poddoor/shutters/preopen{
id = "hopqueue";
@@ -30101,6 +30519,14 @@
/obj/machinery/door/firedoor,
/turf/open/floor/iron/half,
/area/station/hallway/primary/central/fore)
+"jYV" = (
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple/layer2{
+ dir = 6
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber,
+/turf/open/floor/engine/vacuum,
+/area/station/science/ordnance/freezerchamber)
"jYY" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -30111,13 +30537,6 @@
/obj/effect/mapping_helpers/airlock/access/all/command/teleporter,
/turf/open/floor/iron/dark/textured_half,
/area/station/command/teleporter)
-"jZa" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark,
-/area/station/engineering/storage/tcomms)
"jZl" = (
/turf/closed/wall/r_wall,
/area/station/engineering/atmospherics_engine)
@@ -30132,17 +30551,13 @@
/obj/structure/disposalpipe/junction/yjunction,
/turf/open/floor/iron,
/area/station/maintenance/hallway/abandoned_command)
-"jZL" = (
-/obj/machinery/door/airlock/research/glass{
- name = "Ordnance Storage"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/ordnance,
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance/storage)
+"jZN" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/power/terminal,
+/obj/structure/chair/stool/directional/east,
+/obj/structure/cable,
+/turf/open/floor/circuit,
+/area/station/tcommsat/server)
"kam" = (
/obj/effect/decal/cleanable/cobweb,
/obj/machinery/disposal/delivery_chute{
@@ -30206,6 +30621,15 @@
/obj/structure/grille,
/turf/open/space/basic,
/area/space/nearstation)
+"kaT" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/spawner/random/structure/steam_vent,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/spawner/random/maintenance,
+/turf/open/floor/iron,
+/area/station/maintenance/department/science/xenobiology)
"kaW" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -30214,6 +30638,23 @@
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/turf/open/floor/iron,
/area/station/security/tram)
+"kaZ" = (
+/obj/effect/turf_decal/trimline/white/warning{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/white/warning{
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/white/mid_joiner{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/white/mid_joiner{
+ dir = 8
+ },
+/obj/machinery/light/small/directional/south,
+/obj/structure/cable,
+/turf/open/floor/wood,
+/area/station/commons/fitness/recreation)
"kbc" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 1
@@ -30246,19 +30687,16 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"kci" = (
-/obj/machinery/door/airlock/maintenance_hatch{
- name = "Construction Hatch"
- },
-/obj/effect/mapping_helpers/airlock/access/any/engineering/construction,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 8
+"kcd" = (
+/obj/structure/disposalpipe/segment{
+ dir = 6
},
+/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/construction)
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/fore)
"kcA" = (
/obj/structure/cable,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
@@ -30267,6 +30705,23 @@
/obj/machinery/light/small/directional/south,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/surgery/theatre)
+"kcD" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/hidden,
+/turf/open/floor/wood/tile,
+/area/station/tcommsat/server)
+"kcQ" = (
+/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{
+ dir = 1
+ },
+/turf/open/floor/iron/white/small,
+/area/station/science/ordnance/storage)
"kcW" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/power/smes/full,
@@ -30280,18 +30735,36 @@
/obj/structure/displaycase/trophy,
/turf/open/floor/wood/parquet,
/area/station/service/library)
-"kdn" = (
-/obj/effect/decal/cleanable/cobweb/cobweb2,
-/obj/structure/filingcabinet/chestdrawer,
-/obj/effect/turf_decal/bot_white,
-/obj/machinery/newscaster/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/medical/morgue)
+"kdk" = (
+/obj/effect/spawner/random/engineering/tracking_beacon,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/iron/dark/diagonal,
+/area/station/ai_monitored/command/storage/eva)
"kdv" = (
/obj/machinery/atmospherics/pipe/smart/simple/orange,
/obj/structure/lattice,
/turf/open/misc/asteroid/airless,
/area/space/nearstation)
+"kdB" = (
+/obj/item/assembly/timer{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/machinery/newscaster/directional/west,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side{
+ dir = 4
+ },
+/area/station/science/lobby)
"kdH" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -30303,31 +30776,6 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/iron,
/area/station/cargo/miningoffice)
-"kdO" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/iron/white/side{
- dir = 9
- },
-/area/station/science/lower)
-"kea" = (
-/obj/machinery/light_switch/directional/west,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/white/small,
-/area/station/science/server)
-"kej" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark,
-/area/station/science/xenobiology)
"kel" = (
/obj/machinery/light/cold/directional/south,
/obj/machinery/modular_computer/preset/id{
@@ -30362,6 +30810,14 @@
/obj/item/kirbyplants/random,
/turf/open/floor/iron,
/area/station/science/lower)
+"kfb" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/white/side{
+ dir = 8
+ },
+/area/station/science/research)
"kfv" = (
/obj/effect/turf_decal/stripes/red/line,
/obj/machinery/power/apc/auto_name/directional/east,
@@ -30388,18 +30844,6 @@
/obj/effect/spawner/random/engineering/atmospherics_portable,
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
-"kfI" = (
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/science/lower)
-"kfM" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/airalarm/directional/east,
-/obj/effect/turf_decal/tile/neutral,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"kfW" = (
/obj/effect/turf_decal/siding/yellow{
dir = 1
@@ -30420,16 +30864,6 @@
},
/turf/open/floor/iron/dark/herringbone,
/area/station/security/execution/education)
-"kgk" = (
-/obj/structure/window/reinforced/spawner/directional/west,
-/obj/structure/window/reinforced/spawner/directional/east,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/iron/dark/textured_half{
- dir = 1
- },
-/area/station/engineering/storage/tech)
"kgn" = (
/obj/structure/closet/emcloset,
/obj/effect/turf_decal/tile/yellow{
@@ -30487,16 +30921,6 @@
/obj/effect/turf_decal/stripes/white/line,
/turf/open/floor/tram,
/area/station/security/tram)
-"kho" = (
-/obj/machinery/navbeacon{
- codes_txt = "patrol;next_patrol=6.3-Arrivals";
- location = "6.2-Arrivals"
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
"khp" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 9
@@ -30523,26 +30947,31 @@
dir = 1
},
/area/station/cargo/sorting)
+"khy" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/item/kirbyplants/organic/applebush,
+/turf/open/floor/iron/smooth,
+/area/station/hallway/secondary/command)
"khD" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/reagent_dispensers/watertank,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
-"khG" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/construction)
"khQ" = (
/obj/structure/transport/linear/tram,
/obj/structure/fluff/tram_rail/floor,
/obj/structure/thermoplastic,
/turf/open/floor/tram,
/area/station/maintenance/port/aft)
+"khR" = (
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/machinery/light/small/directional/south,
+/obj/effect/spawner/random/vending/colavend,
+/turf/open/floor/iron/dark/side,
+/area/station/hallway/primary/central/fore)
"khS" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -30562,38 +30991,12 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"kii" = (
-/obj/structure/flora/bush/flowers_yw/style_3{
- pixel_y = -3
- },
-/obj/structure/flora/bush/flowers_br/style_random{
- pixel_x = -6;
- pixel_y = -6
- },
-/obj/structure/flora/bush/flowers_pp{
- pixel_x = -3;
- pixel_y = -5
- },
-/obj/machinery/light/floor,
-/obj/effect/light_emitter/fake_outdoors,
-/obj/effect/turf_decal/siding/wood{
- dir = 5
- },
-/turf/open/floor/grass/Airless,
-/area/station/hallway/primary/central/aft)
"kik" = (
/obj/structure/chair/stool/directional/east,
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/wood,
/area/station/maintenance/hallway/abandoned_recreation)
-"kit" = (
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/aft)
"kiB" = (
/obj/structure/disposalpipe/segment{
dir = 10
@@ -30638,6 +31041,14 @@
/obj/structure/flora/tree/jungle/style_6,
/turf/open/floor/grass,
/area/station/service/chapel)
+"kja" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/junction,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/aft)
"kjb" = (
/obj/structure/hedge,
/obj/structure/sign/poster/contraband/random/directional/east,
@@ -30651,49 +31062,6 @@
/obj/effect/spawner/random/structure/grille,
/turf/open/floor/plating,
/area/station/maintenance/fore/lesser)
-"kjs" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/structure/table,
-/obj/item/clothing/glasses/meson{
- pixel_x = -2;
- pixel_y = 3
- },
-/obj/item/clothing/glasses/meson{
- pixel_x = 5;
- pixel_y = -4
- },
-/obj/item/clothing/glasses/meson{
- pixel_x = 5;
- pixel_y = 8
- },
-/obj/machinery/camera/directional/east,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
-"kjw" = (
-/obj/effect/turf_decal/tile/blue,
-/obj/structure/sign/directions/lavaland/directional/south,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
-/turf/open/floor/iron/white/corner{
- dir = 8
- },
-/area/station/hallway/secondary/dock)
-"kjx" = (
-/obj/effect/turf_decal/weather/snow,
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/machinery/power/apc/auto_name/directional/west,
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible,
-/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
-/area/station/service/kitchen/coldroom)
"kjO" = (
/obj/machinery/portable_atmospherics/canister/air,
/obj/effect/turf_decal/siding/white{
@@ -30701,6 +31069,14 @@
},
/turf/open/floor/iron/dark/small,
/area/station/maintenance/aft)
+"kjT" = (
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/aft)
"kjU" = (
/obj/structure/plasticflaps/opaque,
/turf/open/floor/plating,
@@ -30811,11 +31187,6 @@
/obj/machinery/duct,
/turf/open/floor/iron/kitchen/small,
/area/station/security/prison/mess)
-"klf" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/aft)
"klg" = (
/obj/machinery/door/firedoor,
/turf/open/floor/iron/stairs/medium{
@@ -30829,13 +31200,12 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"klF" = (
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+"klC" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
-/area/station/hallway/secondary/recreation)
+/area/station/hallway/secondary/exit/departure_lounge)
"klG" = (
/obj/machinery/suit_storage_unit/engine,
/obj/effect/turf_decal/bot{
@@ -30848,6 +31218,10 @@
/obj/machinery/power/apc/auto_name/directional/west,
/turf/open/floor/catwalk_floor/iron_dark,
/area/station/security/processing)
+"klI" = (
+/obj/effect/spawner/random/structure/grille,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"klN" = (
/obj/effect/turf_decal/weather/dirt{
dir = 10
@@ -30862,15 +31236,6 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/tram,
/area/station/maintenance/department/medical/central)
-"kmd" = (
-/obj/machinery/door/airlock/external{
- name = "Solar Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/general,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper,
-/obj/structure/cable,
-/turf/open/floor/catwalk_floor/iron_smooth,
-/area/station/maintenance/solars/starboard/fore)
"kmg" = (
/obj/machinery/door/poddoor{
id = "QMLoaddoor2";
@@ -30912,20 +31277,15 @@
},
/turf/open/floor/plating,
/area/station/cargo/storage)
-"kms" = (
-/obj/machinery/firealarm/directional/east,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
-"kmC" = (
-/obj/structure/rack,
-/obj/effect/spawner/random/techstorage/service_all,
-/obj/effect/turf_decal/tile/green/opposingcorners,
-/obj/effect/turf_decal/bot,
-/obj/structure/sign/poster/official/random/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/engineering/storage/tech)
+"kmr" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/light/directional/east,
+/obj/structure/table,
+/obj/item/stack/sheet/mineral/plasma/five,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"kmD" = (
/obj/structure/chair/office/light{
color = "#6495ED";
@@ -31010,14 +31370,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/maintenance/port/aft)
-"knO" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/airalarm/directional/east,
-/obj/machinery/duct,
-/turf/open/floor/iron/white/small,
-/area/station/commons/toilet/restrooms)
"knR" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/landmark/start/hangover,
@@ -31031,16 +31383,12 @@
/obj/machinery/airalarm/directional/west,
/turf/open/floor/iron/dark/small,
/area/station/medical/virology)
-"knY" = (
-/obj/effect/turf_decal/tile/neutral/opposingcorners,
-/turf/open/floor/iron/dark,
-/area/station/maintenance/department/science/xenobiology)
-"kov" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+"kok" = (
+/obj/structure/cable,
/obj/structure/disposalpipe/segment,
-/turf/open/floor/iron/white,
-/area/station/medical/medbay/lobby)
+/obj/machinery/power/apc/auto_name/directional/west,
+/turf/open/floor/iron,
+/area/station/commons/fitness/locker_room)
"koz" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/neutral{
@@ -31055,6 +31403,11 @@
},
/turf/open/floor/iron/smooth,
/area/station/hallway/secondary/command)
+"kpD" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance/testlab)
"kpF" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/landmark/start/hangover,
@@ -31063,16 +31416,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"kpO" = (
-/obj/structure/table/reinforced,
-/obj/item/storage/toolbox/electrical{
- pixel_x = 1;
- pixel_y = -1
- },
-/obj/item/multitool,
-/obj/item/clothing/glasses/meson,
-/turf/open/floor/iron/dark,
-/area/station/engineering/storage/tech)
"kpU" = (
/obj/effect/turf_decal/tile/blue/anticorner/contrasted,
/turf/open/floor/iron/white,
@@ -31081,19 +31424,20 @@
/obj/effect/landmark/start/scientist,
/turf/open/floor/iron/dark,
/area/station/science/ordnance)
-"kqb" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/power/apc/auto_name/directional/south,
-/obj/structure/cable,
-/turf/open/floor/iron/white/side,
-/area/station/science/research)
"kql" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/turf/open/floor/iron,
/area/station/security/brig/entrance)
+"kqo" = (
+/obj/effect/turf_decal/stripes/red/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/general/visible{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/station/science/cytology)
"kqr" = (
/obj/item/radio/intercom/directional/north,
/obj/effect/turf_decal/tile/red/anticorner/contrasted{
@@ -31134,20 +31478,13 @@
/obj/item/mop,
/turf/open/floor/plating,
/area/station/maintenance/fore/lesser)
-"kqO" = (
-/obj/effect/mapping_helpers/airlock/access/all/medical/coroner,
-/obj/machinery/door/airlock/medical/glass,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/door/firedoor,
-/obj/effect/turf_decal/siding/dark_blue{
+"kqN" = (
+/obj/machinery/light/cold/directional/west,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 4
},
-/obj/effect/turf_decal/siding/dark_blue{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/medical/morgue)
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"kqU" = (
/obj/effect/decal/cleanable/dirt,
/obj/item/radio/intercom/directional/north,
@@ -31191,34 +31528,10 @@
/obj/item/kirbyplants/random/fullysynthetic,
/turf/open/floor/iron,
/area/station/maintenance/hallway/abandoned_command)
-"krv" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/alien/weeds,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/turf/open/floor/iron,
-/area/station/maintenance/starboard/greater)
"krz" = (
/obj/structure/cable,
/turf/open/floor/iron/stairs,
/area/station/maintenance/department/science/xenobiology)
-"krB" = (
-/obj/machinery/door/airlock/command/glass{
- name = "E.V.A. Storage"
- },
-/obj/effect/turf_decal/delivery,
-/obj/machinery/door/firedoor,
-/obj/effect/mapping_helpers/airlock/access/all/command/eva,
-/obj/effect/turf_decal/stripes/corner,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/turf/open/floor/iron/smooth_half{
- dir = 1
- },
-/area/station/ai_monitored/command/storage/eva)
"krF" = (
/obj/effect/turf_decal/siding/wood{
dir = 1
@@ -31240,6 +31553,19 @@
},
/turf/open/floor/catwalk_floor/iron_smooth,
/area/station/maintenance/solars/starboard/aft)
+"krN" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"krW" = (
/obj/structure/bed,
/obj/effect/turf_decal/siding/wood{
@@ -31361,16 +31687,11 @@
},
/turf/open/floor/wood,
/area/station/engineering/atmos/pumproom)
-"ktl" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/side,
-/area/station/science/xenobiology)
+"ktk" = (
+/obj/structure/table/glass,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/turf/open/floor/iron/dark,
+/area/station/service/lawoffice)
"ktB" = (
/obj/effect/turf_decal/stripes/line{
dir = 10
@@ -31446,6 +31767,15 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"kuN" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/side,
+/area/station/science/xenobiology)
"kuO" = (
/obj/structure/chair{
dir = 1;
@@ -31455,18 +31785,33 @@
/obj/machinery/camera/autoname/directional/east,
/turf/open/floor/iron,
/area/station/science/lower)
-"kuQ" = (
-/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
+"kuR" = (
+/obj/structure/table/glass,
+/obj/item/folder/blue{
+ pixel_y = 2
+ },
+/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/machinery/airalarm/directional/north,
-/obj/structure/chair,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/carpet/executive,
+/area/station/command/meeting_room)
+"kuU" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/rd)
+"kuZ" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/yellow/opposingcorners,
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
-/area/station/commons/storage/tools)
-"kuY" = (
-/obj/structure/broken_flooring/side/directional/north,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
+/area/station/hallway/secondary/construction)
"kvl" = (
/obj/structure/cable,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
@@ -31523,6 +31868,26 @@
/obj/machinery/firealarm/directional/west,
/turf/open/floor/iron,
/area/station/security/execution/transfer)
+"kwu" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/maintenance/starboard/greater)
+"kwx" = (
+/obj/machinery/button/door/directional/east{
+ id = "AuxToilet2";
+ name = "Lock Control";
+ normaldoorcontrol = 1;
+ specialfunctions = 4
+ },
+/obj/structure/toilet,
+/obj/machinery/light/small/directional/west,
+/obj/effect/spawner/random/trash/soap{
+ spawn_scatter_radius = 1
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/station/maintenance/department/science/xenobiology)
"kwy" = (
/obj/structure/cable,
/obj/effect/mapping_helpers/broken_floor,
@@ -31533,29 +31898,16 @@
},
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"kwA" = (
-/obj/effect/landmark/event_spawn,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/turf/open/floor/iron/white,
-/area/station/science/robotics/augments)
-"kwB" = (
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
+"kwU" = (
+/obj/machinery/airalarm/directional/east,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
+/turf/open/floor/iron/white/small,
+/area/station/science/ordnance/storage)
"kwW" = (
/obj/machinery/light/small/directional/west,
/turf/open/floor/iron/smooth,
/area/station/maintenance/solars/starboard/aft)
-"kwX" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white,
-/area/station/science/research)
"kwY" = (
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
@@ -31656,11 +32008,6 @@
},
/turf/open/floor/wood,
/area/station/cargo/boutique)
-"kyp" = (
-/obj/machinery/light/small/directional/south,
-/obj/structure/sign/poster/greenscreen/directional/south,
-/turf/open/floor/wood/large,
-/area/station/command/heads_quarters/captain/private)
"kyr" = (
/obj/structure/window/reinforced/spawner/directional/south,
/obj/machinery/airalarm/directional/west,
@@ -31682,17 +32029,29 @@
/obj/effect/turf_decal/trimline/neutral/line,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"kzs" = (
-/obj/machinery/door/airlock/security/glass{
- name = "Security Office"
+"kza" = (
+/obj/machinery/door/window/brigdoor/left/directional/north{
+ name = "Creature Pen";
+ req_access = list("research")
+ },
+/obj/machinery/door/window/brigdoor/left/directional/south{
+ name = "Creature Pen";
+ req_access = list("research")
},
-/obj/machinery/door/firedoor,
-/obj/effect/mapping_helpers/airlock/access/all/security/general,
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/catwalk_floor/iron_white,
-/area/station/security/checkpoint/science)
+/turf/open/floor/catwalk_floor/iron,
+/area/station/science/xenobiology)
+"kzq" = (
+/obj/structure/table,
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/spawner/round_default_module,
+/obj/machinery/flasher/directional/east,
+/obj/item/radio/intercom/directional/north{
+ pixel_x = 27
+ },
+/obj/structure/cable,
+/turf/open/floor/circuit/red,
+/area/station/ai_monitored/turret_protected/ai_upload)
"kzv" = (
/obj/structure/chair/sofa/bench/left{
dir = 8
@@ -31703,6 +32062,21 @@
},
/turf/open/floor/iron/white/corner,
/area/station/hallway/secondary/exit/departure_lounge)
+"kzC" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/airalarm/directional/west,
+/obj/structure/cable,
+/obj/effect/mapping_helpers/airalarm/link{
+ chamber_id = "engine"
+ },
+/obj/effect/mapping_helpers/airalarm/engine_access,
+/obj/effect/mapping_helpers/airalarm/tlv_no_checks,
+/obj/machinery/meter,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"kzI" = (
/obj/effect/turf_decal/bot_white,
/obj/effect/spawner/random/structure/closet_empty/crate,
@@ -31749,6 +32123,11 @@
/obj/machinery/camera/directional/west,
/turf/open/floor/engine,
/area/station/engineering/supermatter)
+"kAI" = (
+/obj/machinery/status_display/ai/directional/west,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/turf/open/floor/wood/tile,
+/area/station/command/meeting_room)
"kAJ" = (
/obj/structure/closet/wardrobe/mixed,
/obj/effect/turf_decal/siding/wideplating/dark,
@@ -31760,10 +32139,29 @@
/obj/effect/turf_decal/siding/wood,
/turf/open/floor/stone,
/area/station/maintenance/aft)
+"kBf" = (
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/wood/tile,
+/area/station/command/meeting_room)
"kBg" = (
/obj/structure/cable,
/turf/open/floor/iron/small,
/area/station/command/teleporter)
+"kBp" = (
+/obj/effect/turf_decal/trimline/neutral/warning{
+ dir = 10
+ },
+/obj/effect/mapping_helpers/dead_body_placer{
+ bodycount = 2
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/small,
+/area/station/medical/morgue)
"kBA" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -31796,6 +32194,16 @@
},
/turf/open/floor/eighties,
/area/station/hallway/primary/central/fore)
+"kBT" = (
+/obj/effect/turf_decal/tile/purple/opposingcorners,
+/obj/effect/turf_decal/siding/green{
+ dir = 9
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/cafeteria,
+/area/station/science/circuits)
"kBZ" = (
/obj/machinery/door/airlock/command{
name = "Chief Engineer's Office"
@@ -31825,6 +32233,14 @@
/obj/effect/spawner/structure/window/reinforced/tinted,
/turf/open/floor/plating,
/area/station/command/heads_quarters/captain)
+"kCA" = (
+/obj/effect/mapping_helpers/broken_floor,
+/obj/structure/chair/stool/directional/north,
+/obj/effect/landmark/generic_maintenance_landmark,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/light/colour_cycle/dancefloor_b,
+/area/station/maintenance/starboard/central)
"kCB" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -31841,13 +32257,14 @@
/obj/item/paper/fluff/gateway,
/turf/open/floor/iron/dark/small,
/area/station/command/heads_quarters/captain/private)
-"kCI" = (
-/obj/effect/turf_decal/tile/purple/opposingcorners,
-/obj/machinery/holopad,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+"kCG" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/cafeteria,
-/area/station/science/circuits)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/railing/corner{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/commons/dorms)
"kCJ" = (
/obj/structure/cable,
/obj/structure/reagent_dispensers/watertank,
@@ -31886,24 +32303,27 @@
},
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
+"kCV" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/blue/anticorner/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/white,
+/area/station/medical/paramedic)
"kDs" = (
/obj/structure/chair/stool/directional/north,
/turf/open/floor/carpet/purple,
/area/station/commons/dorms)
-"kDB" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 9
+"kDY" = (
+/obj/machinery/airalarm/directional/north,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side{
+ dir = 1
},
-/obj/machinery/door/poddoor/shutters{
- dir = 1;
- id = "aibridge"
- },
-/obj/effect/spawner/random/structure/grille,
-/turf/open/floor/plating,
-/area/station/maintenance/department/engine)
-"kDR" = (
-/turf/open/floor/catwalk_floor/iron_dark,
-/area/station/maintenance/department/science/xenobiology)
+/area/station/science/research)
"kEd" = (
/obj/structure/disposalpipe/segment{
dir = 6
@@ -31934,15 +32354,17 @@
dir = 1
},
/area/station/cargo/storage)
-"kEx" = (
-/obj/effect/turf_decal/stripes/line{
+"kEz" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/turf_decal/siding/purple{
dir = 8
},
-/obj/machinery/status_display/ai/directional/north,
-/turf/open/floor/iron/dark/side{
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 8
},
-/area/station/engineering/storage/tech)
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/rd)
"kEA" = (
/obj/effect/turf_decal/delivery,
/obj/effect/turf_decal/stripes/line{
@@ -31950,6 +32372,18 @@
},
/turf/open/floor/iron,
/area/station/cargo/storage)
+"kED" = (
+/obj/structure/chair{
+ pixel_y = -2
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/machinery/airalarm/directional/north,
+/obj/effect/landmark/start/hangover,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/recreation)
"kEH" = (
/obj/effect/turf_decal/bot_white,
/turf/open/floor/iron/dark,
@@ -31963,6 +32397,18 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"kFg" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/airlock/research{
+ name = "Augment Corridor"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/robotics,
+/obj/machinery/door/firedoor,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/catwalk_floor/iron_white,
+/area/station/science/robotics/augments)
"kFq" = (
/obj/structure/disposalpipe/trunk{
dir = 8
@@ -31983,6 +32429,13 @@
/obj/machinery/airalarm/directional/west,
/turf/open/floor/iron/white,
/area/station/medical/medbay/aft)
+"kFA" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 8
+ },
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/recreation)
"kFD" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/autolathe,
@@ -31999,15 +32452,15 @@
/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
/turf/open/floor/engine/n2o,
/area/station/engineering/atmos)
-"kFV" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
+"kFX" = (
+/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/iron/white/side,
-/area/station/science/research)
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/delivery/red,
+/turf/open/floor/iron/white/small,
+/area/station/medical/medbay/central)
"kFY" = (
/turf/closed/wall/r_wall,
/area/station/medical/morgue)
@@ -32092,13 +32545,6 @@
/obj/effect/mapping_helpers/requests_console/assistance,
/turf/open/floor/iron/smooth,
/area/station/command/bridge)
-"kHo" = (
-/obj/structure/table/reinforced,
-/obj/machinery/firealarm/directional/east,
-/obj/item/storage/box/bodybags,
-/obj/item/clothing/mask/gas/plaguedoctor,
-/turf/open/floor/iron/dark/small,
-/area/station/medical/morgue)
"kHp" = (
/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -32110,11 +32556,19 @@
/obj/effect/turf_decal/siding/wideplating/corner,
/turf/open/floor/wood,
/area/station/engineering/atmos/office)
-"kHJ" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+"kHz" = (
+/obj/machinery/telecomms/server/presets/service,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 10
+ },
+/turf/open/floor/circuit,
+/area/station/tcommsat/server)
+"kHH" = (
+/obj/effect/landmark/generic_maintenance_landmark,
+/obj/structure/cable,
/turf/open/floor/iron,
-/area/station/science/ordnance/testlab)
+/area/station/maintenance/department/science/xenobiology)
"kHL" = (
/obj/effect/turf_decal/tile/dark_red/half/contrasted{
dir = 1
@@ -32136,21 +32590,15 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
-"kHY" = (
-/obj/effect/turf_decal/trimline/dark/line{
- dir = 4
- },
-/obj/structure/table/wood,
-/obj/machinery/reagentgrinder{
- pixel_x = 3;
- pixel_y = 6
- },
-/obj/item/reagent_containers/cup/rag{
- pixel_y = 4;
- pixel_x = -6
- },
-/turf/open/floor/iron/dark/small,
-/area/station/maintenance/department/science/xenobiology)
+"kIi" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/broken_flooring/corner/directional/south,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/camera/autoname/directional/south,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/hallway/secondary/dock)
"kIj" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -32205,6 +32653,14 @@
},
/turf/open/floor/iron/small,
/area/station/medical/medbay/lobby)
+"kIU" = (
+/obj/item/kirbyplants/random,
+/obj/machinery/light/small/directional/east,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 8
+ },
+/turf/open/floor/iron/white,
+/area/station/science/auxlab/firing_range)
"kIY" = (
/obj/structure/broken_flooring/singular/directional/south,
/obj/effect/decal/cleanable/dirt,
@@ -32242,6 +32698,14 @@
/obj/structure/chair/stool/directional/south,
/turf/open/floor/iron,
/area/station/cargo/sorting)
+"kJE" = (
+/obj/effect/turf_decal/siding{
+ dir = 1
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/white/small,
+/area/station/science/lobby)
"kJJ" = (
/obj/structure/cable,
/obj/effect/mapping_helpers/broken_floor,
@@ -32285,12 +32749,6 @@
},
/turf/open/floor/wood/parquet,
/area/station/service/library)
-"kKN" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
"kKT" = (
/obj/machinery/computer/camera_advanced/xenobio{
dir = 4
@@ -32371,17 +32829,6 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
-"kML" = (
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/dock)
-"kMW" = (
-/obj/machinery/holopad,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/smooth,
-/area/station/security/checkpoint/customs)
"kMY" = (
/obj/effect/turf_decal/stripes{
dir = 4
@@ -32407,19 +32854,13 @@
dir = 1
},
/area/station/cargo/bitrunning/den)
-"kNf" = (
-/obj/structure/cable,
+"kNd" = (
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/trimline/blue/warning,
-/turf/open/floor/iron/white,
-/area/station/medical/treatment_center)
-"kNk" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/turf/open/floor/iron/grimy,
-/area/station/commons/vacant_room/office)
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
"kNn" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -32450,14 +32891,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
-"kNJ" = (
-/obj/machinery/power/solar_control{
- id = "forestarboard";
- name = "Starboard Bow Solar Control"
- },
-/obj/structure/cable,
-/turf/open/floor/iron/smooth,
-/area/station/maintenance/solars/starboard/fore)
"kNK" = (
/obj/item/radio/intercom/directional/north,
/turf/open/floor/iron,
@@ -32467,22 +32900,6 @@
/obj/structure/extinguisher_cabinet/directional/north,
/turf/open/floor/iron,
/area/station/commons/dorms)
-"kNZ" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/simple/general/visible{
- dir = 6
- },
-/turf/open/floor/iron/white,
-/area/station/science/cytology)
-"kOh" = (
-/obj/machinery/door/airlock/research{
- name = "Mech Bay"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/robotics,
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/catwalk_floor/iron_white,
-/area/station/science/robotics/mechbay)
"kOm" = (
/obj/structure/cable,
/turf/closed/wall/r_wall,
@@ -32496,17 +32913,6 @@
/obj/machinery/brm,
/turf/open/floor/iron,
/area/station/cargo/miningfoundry)
-"kOG" = (
-/obj/machinery/door/airlock/external{
- name = "Solar Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/general,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 1
- },
-/obj/structure/cable,
-/turf/open/floor/catwalk_floor/iron_smooth,
-/area/station/maintenance/solars/starboard/fore)
"kOH" = (
/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
dir = 4
@@ -32519,19 +32925,14 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/security/execution/transfer)
-"kOT" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue/anticorner/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/white,
-/area/station/medical/paramedic)
"kOV" = (
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/construction/mining/aux_base)
+"kOW" = (
+/obj/structure/hedge,
+/turf/open/floor/iron/dark/smooth_large,
+/area/station/engineering/storage/tech)
"kPa" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -32557,6 +32958,11 @@
},
/turf/open/floor/iron/dark/side,
/area/station/security/execution/transfer)
+"kPs" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/grimy,
+/area/station/maintenance/starboard/central)
"kPv" = (
/obj/structure/table,
/obj/item/paper_bin{
@@ -32601,15 +33007,6 @@
},
/turf/open/floor/iron,
/area/station/cargo/storage)
-"kQj" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"kQk" = (
/obj/effect/turf_decal/siding/wood{
dir = 5
@@ -32620,13 +33017,20 @@
"kQt" = (
/turf/closed/wall/r_wall,
/area/station/maintenance/starboard/aft)
-"kQM" = (
-/obj/machinery/holopad,
-/turf/open/floor/iron,
-/area/station/cargo/storage)
-"kRb" = (
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
+"kQP" = (
+/obj/machinery/door/airlock{
+ name = "Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 8
+ },
+/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
+/obj/effect/mapping_helpers/airlock/unres{
+ dir = 4
+ },
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/greater)
"kRi" = (
/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
dir = 4
@@ -32670,6 +33074,19 @@
/obj/machinery/light/small/dim/directional/west,
/turf/open/floor/plating,
/area/station/hallway/secondary/dock)
+"kRU" = (
+/obj/structure/table/wood,
+/obj/item/reagent_containers/cup/glass/mug{
+ pixel_x = 6;
+ pixel_y = 4
+ },
+/obj/item/storage/fancy/cigarettes/cigpack_shadyjims{
+ pixel_x = -6;
+ pixel_y = 3
+ },
+/obj/effect/spawner/random/entertainment/lighter,
+/turf/open/floor/iron/grimy,
+/area/station/commons/vacant_room/office)
"kRV" = (
/obj/machinery/portable_atmospherics/canister/nitrogen,
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
@@ -32690,22 +33107,12 @@
/obj/machinery/camera/autoname/directional/east,
/turf/open/floor/iron/dark,
/area/station/engineering/lobby)
-"kSd" = (
-/obj/machinery/firealarm/directional/north,
-/obj/structure/cable,
-/turf/open/floor/iron/dark/smooth_large,
-/area/station/ai_monitored/turret_protected/ai_upload)
"kSj" = (
/obj/structure/chair/plastic{
dir = 8
},
/turf/open/floor/plating,
/area/station/maintenance/department/electrical)
-"kSv" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/central)
"kSA" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -32714,6 +33121,18 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/iron,
/area/station/maintenance/hallway/abandoned_command)
+"kSL" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/green{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/turf/open/floor/iron/white,
+/area/station/medical/virology)
"kTm" = (
/obj/machinery/door/firedoor,
/obj/effect/turf_decal/siding/wood{
@@ -32724,6 +33143,10 @@
dir = 8
},
/area/station/service/library)
+"kTo" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron,
+/area/station/hallway/primary/port)
"kTp" = (
/obj/structure/disposalpipe/segment,
/turf/closed/wall,
@@ -32767,13 +33190,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/maintenance/hallway/abandoned_command)
-"kTH" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/catwalk_floor/iron_smooth,
-/area/station/hallway/secondary/command)
"kTX" = (
/obj/machinery/door/firedoor,
/obj/effect/turf_decal/stripes/red/line{
@@ -32785,6 +33201,10 @@
/obj/structure/cable,
/turf/open/floor/iron/small,
/area/station/hallway/primary/central/fore)
+"kUa" = (
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance)
"kUf" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -32792,13 +33212,17 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/wood,
/area/station/service/chapel/funeral)
-"kUF" = (
+"kUI" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/power/apc/auto_name/directional/north,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side{
- dir = 4
- },
-/area/station/science/research)
+/obj/structure/cable,
+/turf/open/floor/iron/dark/side,
+/area/station/science/xenobiology)
"kUL" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -32806,24 +33230,18 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
+"kUM" = (
+/obj/machinery/light/floor,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side{
+ dir = 1
+ },
+/area/station/science/research)
"kUN" = (
/turf/closed/wall/r_wall,
/area/station/engineering/atmos/pumproom)
-"kUR" = (
-/obj/structure/cable,
-/turf/open/floor/iron/dark/side{
- dir = 4
- },
-/area/station/science/lab)
-"kUW" = (
-/obj/machinery/door/airlock{
- name = "Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/greater)
"kVb" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -32872,17 +33290,6 @@
/obj/machinery/firealarm/directional/west,
/turf/open/floor/iron/small,
/area/station/security/office)
-"kWF" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/effect/turf_decal/siding/wood/corner,
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/effect/turf_decal/siding/wood{
- dir = 1
- },
-/turf/open/floor/stone,
-/area/station/service/bar)
"kWJ" = (
/obj/structure/chair/sofa/bench/left{
dir = 1
@@ -32891,16 +33298,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"kWN" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/obj/structure/cable,
-/turf/open/floor/iron/white/side,
-/area/station/science/research)
"kWR" = (
/obj/machinery/door/airlock/public/glass{
name = "Docking Corridor"
@@ -32946,18 +33343,30 @@
/obj/structure/barricade/wooden,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
-"kXQ" = (
-/obj/effect/turf_decal/tile/purple/opposingcorners,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/cafeteria,
-/area/station/science/circuits)
"kXS" = (
/obj/structure/closet/emcloset,
/obj/structure/sign/poster/official/random/directional/north,
/turf/open/floor/plating,
/area/station/hallway/secondary/dock)
+"kXV" = (
+/obj/machinery/light/cold/directional/south,
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/sign/departments/aiupload/directional/south,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white,
+/area/station/hallway/primary/starboard)
+"kYp" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/siding/white{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/small,
+/area/station/science/xenobiology)
"kYs" = (
/obj/machinery/mech_bay_recharge_port{
dir = 2
@@ -32986,22 +33395,6 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/security/checkpoint/escape)
-"kYY" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/structure/window/spawner/directional/south,
-/obj/effect/turf_decal/trimline/purple/end{
- dir = 1
- },
-/obj/machinery/shower/directional/north{
- name = "emergency shower";
- pixel_y = -11
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/science/cytology)
"kZh" = (
/obj/structure/table/glass,
/obj/effect/turf_decal/siding/thinplating_new/light{
@@ -33029,6 +33422,16 @@
},
/turf/open/floor/iron/dark/small,
/area/station/engineering/main)
+"kZs" = (
+/obj/structure/railing/corner{
+ dir = 1
+ },
+/obj/effect/landmark/start/hangover,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/commons/dorms)
"kZv" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/decal/cleanable/dirt,
@@ -33075,6 +33478,14 @@
/obj/effect/turf_decal/siding/wood,
/turf/open/floor/wood,
/area/station/service/chapel)
+"kZJ" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/structure/steam_vent,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/fore)
"lab" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -33136,6 +33547,11 @@
/obj/structure/sign/poster/official/random/directional/north,
/turf/open/floor/iron/dark,
/area/station/cargo/lobby)
+"lbv" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/iron,
+/area/station/maintenance/department/science/xenobiology)
"lbG" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 1
@@ -33181,17 +33597,6 @@
},
/turf/open/floor/iron/cafeteria,
/area/station/hallway/secondary/exit/departure_lounge)
-"lcw" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/landmark/navigate_destination/chemfactory,
-/turf/open/floor/iron/dark,
-/area/station/medical/medbay/central)
"lcC" = (
/obj/structure/disposalpipe/trunk{
dir = 1
@@ -33230,6 +33635,16 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating,
/area/station/maintenance/department/engine)
+"ldk" = (
+/obj/effect/turf_decal/tile/blue,
+/obj/machinery/disposal/bin,
+/obj/effect/turf_decal/bot,
+/obj/structure/disposalpipe/trunk,
+/obj/machinery/computer/security/telescreen/entertainment/directional/north,
+/turf/open/floor/iron/dark/textured_edge{
+ dir = 1
+ },
+/area/station/command/heads_quarters/hop)
"ldq" = (
/turf/closed/wall,
/area/station/maintenance/department/science/xenobiology)
@@ -33266,14 +33681,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/textured_half,
/area/station/security/brig)
-"lee" = (
-/obj/effect/turf_decal/tile/purple/opposingcorners,
-/obj/structure/chair/office{
- dir = 8
- },
-/obj/structure/cable,
-/turf/open/floor/iron/cafeteria,
-/area/station/science/circuits)
"lei" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -33350,16 +33757,12 @@
},
/turf/open/floor/iron/cafeteria,
/area/station/hallway/secondary/exit/departure_lounge)
-"leW" = (
-/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms,
-/obj/machinery/door/airlock/command/glass{
- name = "Telecommunications Server Room"
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/catwalk_floor/iron_dark,
-/area/station/tcommsat/server)
+"leY" = (
+/obj/effect/turf_decal/siding,
+/obj/machinery/light/small/directional/south,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/small,
+/area/station/science/lab)
"lfa" = (
/obj/structure/reagent_dispensers/watertank,
/turf/open/floor/plating,
@@ -33428,6 +33831,15 @@
/obj/item/radio/intercom/directional/north,
/turf/open/floor/iron/smooth,
/area/station/command/bridge)
+"lfw" = (
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/machinery/camera/autoname/directional/west,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"lfC" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -33508,29 +33920,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/small,
/area/station/maintenance/department/electrical)
-"lgw" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/item/radio/intercom/directional/north,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/side,
-/area/station/science/xenobiology)
-"lgx" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/yellow{
- dir = 8
- },
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/iron/white/corner{
- dir = 1
- },
-/area/station/hallway/primary/aft)
"lgD" = (
/obj/machinery/light/small/directional/east,
/turf/open/floor/iron/smooth_large,
@@ -33574,15 +33963,6 @@
},
/turf/open/floor/iron,
/area/station/maintenance/starboard/greater)
-"lhm" = (
-/obj/structure/disposalpipe/junction/flip{
- dir = 8
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side,
-/area/station/science/lower)
"lhn" = (
/obj/structure/cable,
/obj/structure/barricade/wooden/crude,
@@ -33622,6 +34002,10 @@
/obj/item/pickaxe,
/turf/open/misc/asteroid,
/area/station/maintenance/starboard/greater)
+"lhS" = (
+/obj/effect/turf_decal/siding/wood,
+/turf/open/floor/wood,
+/area/station/hallway/secondary/entry)
"lhT" = (
/obj/structure/disposalpipe/segment{
dir = 9
@@ -33657,38 +34041,10 @@
/obj/machinery/power/apc/auto_name/directional/west,
/turf/open/floor/wood/large,
/area/station/command/heads_quarters/captain)
-"liH" = (
-/obj/effect/mapping_helpers/broken_floor,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark/generic_maintenance_landmark,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/obj/machinery/incident_display/tram/directional/north,
-/turf/open/floor/iron,
-/area/station/maintenance/department/medical/central)
"liJ" = (
/obj/effect/landmark/start/chaplain,
/turf/open/floor/iron/dark/small,
/area/station/service/chapel/storage)
-"liL" = (
-/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms,
-/obj/machinery/door/airlock/command/glass{
- name = "Telecommunications Server Room"
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/catwalk_floor/iron_dark,
-/area/station/tcommsat/server)
-"liP" = (
-/obj/effect/turf_decal/trimline/neutral/warning{
- dir = 6
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/dark/small,
-/area/station/medical/morgue)
"liQ" = (
/obj/structure/lattice,
/turf/open/misc/asteroid/airless,
@@ -33727,16 +34083,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
-"ljg" = (
-/obj/effect/turf_decal/weather/snow,
-/obj/machinery/light/small/directional/north,
-/obj/machinery/icecream_vat,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
- dir = 6
- },
-/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
-/area/station/service/kitchen/coldroom)
"lji" = (
/obj/structure/flora/tree/jungle/style_2,
/obj/effect/turf_decal/weather/dirt{
@@ -33744,13 +34090,6 @@
},
/turf/open/floor/grass,
/area/station/service/chapel)
-"ljj" = (
-/obj/machinery/light/cold/directional/west,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
"ljl" = (
/obj/structure/lattice,
/obj/structure/railing/corner{
@@ -33775,12 +34114,6 @@
dir = 1
},
/area/station/cargo/storage)
-"ljw" = (
-/obj/machinery/holopad,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/dock)
"ljz" = (
/obj/structure/cable,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
@@ -33788,17 +34121,6 @@
},
/turf/open/floor/iron,
/area/station/security/prison/rec)
-"ljP" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/trunk,
-/obj/machinery/firealarm/directional/west,
-/obj/machinery/disposal/bin,
-/obj/effect/turf_decal/bot,
-/obj/effect/turf_decal/siding/blue{
- dir = 9
- },
-/turf/open/floor/iron/white/small,
-/area/station/command/heads_quarters/cmo)
"ljT" = (
/obj/structure/window/spawner/directional/east,
/obj/structure/window/spawner/directional/west,
@@ -33837,39 +34159,34 @@
/obj/machinery/door/firedoor,
/turf/open/floor/iron,
/area/station/security/prison/workout)
-"lku" = (
-/obj/structure/table,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/item/paper_bin{
- pixel_x = -3;
- pixel_y = 7
+"lkj" = (
+/obj/effect/turf_decal/trimline/dark/line{
+ dir = 4
},
-/obj/item/pen,
-/turf/open/floor/iron,
-/area/station/security/prison/rec)
-"lkv" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/simple/dark/hidden{
- dir = 9
+/obj/structure/table/wood,
+/obj/machinery/reagentgrinder{
+ pixel_x = 3;
+ pixel_y = 6
},
-/turf/open/floor/circuit,
-/area/station/tcommsat/server)
+/obj/item/reagent_containers/cup/rag{
+ pixel_y = 4;
+ pixel_x = -6
+ },
+/turf/open/floor/iron/dark/small,
+/area/station/maintenance/department/science/xenobiology)
+"lko" = (
+/obj/machinery/door/airlock{
+ name = "Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/greater)
"lkJ" = (
/obj/structure/flora/rock/pile/jungle/style_4,
/turf/open/floor/grass,
/area/station/service/chapel)
-"lkL" = (
-/obj/structure/table,
-/obj/item/paper_bin{
- pixel_x = -3;
- pixel_y = 3
- },
-/obj/item/pen{
- pixel_x = -2;
- pixel_y = 3
- },
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
"lkM" = (
/obj/structure/sign/directions/evac/directional/west{
dir = 2
@@ -33896,20 +34213,42 @@
"lkV" = (
/turf/closed/wall/r_wall,
/area/station/science/ordnance)
-"llr" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/neutral,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/hallway/primary/fore)
-"llC" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/trimline/blue/filled/line{
- dir = 9
+"llb" = (
+/obj/effect/turf_decal/trimline/blue/corner{
+ dir = 8
},
+/obj/item/kirbyplants/random/fullysynthetic,
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
+"llf" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/simple/dark/hidden,
+/turf/open/floor/wood/tile,
+/area/station/tcommsat/server)
+"lli" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/fore)
+"llH" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/small,
+/area/station/tcommsat/server)
+"llI" = (
+/obj/structure/table/wood,
+/obj/effect/turf_decal/siding/wood,
+/turf/open/floor/wood/large,
+/area/station/maintenance/department/science/xenobiology)
"llP" = (
/obj/structure/cable,
/obj/structure/bed/medical{
@@ -33933,19 +34272,34 @@
"llW" = (
/turf/closed/wall,
/area/station/ai_monitored/security/armory)
-"llY" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/siding/wideplating_new/terracotta{
+"llZ" = (
+/obj/effect/turf_decal/stripes/line{
dir = 4
},
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/wood/tile,
-/area/station/maintenance/central/lesser)
-"lmb" = (
+/obj/structure/cable,
+/turf/open/floor/iron/dark/side{
+ dir = 4
+ },
+/area/station/engineering/storage/tech)
+"lmf" = (
+/obj/item/kirbyplants/random,
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/structure/cable,
+/turf/open/floor/iron/smooth,
+/area/station/maintenance/solars/starboard/fore)
+"lmh" = (
+/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/recreation)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/siding/dark{
+ dir = 1
+ },
+/turf/open/floor/iron/dark/textured_half{
+ dir = 1
+ },
+/area/station/command/bridge)
"lmm" = (
/mob/living/basic/frog,
/obj/effect/turf_decal/weather/dirt{
@@ -33971,12 +34325,54 @@
/obj/machinery/light/small/directional/east,
/turf/open/floor/wood,
/area/station/maintenance/hallway/abandoned_recreation)
+"lmt" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/table,
+/obj/item/bikehorn/rubberducky{
+ color = "#a61a11";
+ desc = "Foooo! Ducky is maaaaad. Ducky waaaanna hiiiiiit stuuuuuuf!";
+ name = "Reggie, the Angry Duckling";
+ pixel_x = 6;
+ pixel_y = 9
+ },
+/obj/item/grenade/firecracker{
+ pixel_x = 1
+ },
+/obj/item/match{
+ pixel_x = -8;
+ pixel_y = 4
+ },
+/turf/open/floor/iron,
+/area/station/commons/fitness/locker_room)
"lmz" = (
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"lmC" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
+"lmG" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/red/line,
+/obj/effect/turf_decal/stripes/red/line{
+ dir = 1
+ },
+/turf/open/floor/iron/small,
+/area/station/hallway/primary/central/fore)
"lmJ" = (
/turf/open/floor/iron,
/area/station/engineering/atmos/project)
+"lmQ" = (
+/obj/effect/turf_decal/trimline/dark/filled/warning{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/small,
+/area/station/maintenance/department/science/xenobiology)
"lmZ" = (
/obj/effect/turf_decal/tile/neutral{
dir = 8
@@ -34034,6 +34430,15 @@
},
/turf/open/floor/iron/dark/diagonal,
/area/station/service/bar)
+"lnH" = (
+/obj/machinery/firealarm/directional/north,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/stairs{
+ dir = 8
+ },
+/area/station/science/xenobiology)
"lnI" = (
/obj/effect/turf_decal/sand/plating,
/obj/structure/ore_box,
@@ -34085,6 +34490,12 @@
/obj/structure/sign/poster/official/random/directional/north,
/turf/open/floor/iron,
/area/station/service/hydroponics)
+"lnU" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/newscaster/directional/west,
+/obj/structure/sign/poster/official/soft_cap_pop_art/directional/north,
+/turf/open/floor/iron/grimy,
+/area/station/commons/vacant_room/office)
"lnW" = (
/obj/effect/turf_decal/tile/neutral/full,
/obj/structure/chair{
@@ -34103,18 +34514,6 @@
},
/turf/open/floor/iron/dark,
/area/station/security/processing)
-"lom" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/light/floor,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/simple/dark/hidden{
- dir = 9
- },
-/turf/open/floor/iron/dark,
-/area/station/tcommsat/server)
"lon" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/landmark/atmospheric_sanity/ignore_area,
@@ -34124,12 +34523,6 @@
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/maintenance/starboard/greater)
-"loq" = (
-/obj/effect/decal/cleanable/dirt/dust,
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/iron,
-/area/station/maintenance/department/engine/atmos)
"lox" = (
/obj/effect/turf_decal/siding/red{
dir = 4
@@ -34142,6 +34535,16 @@
/obj/machinery/holopad,
/turf/open/floor/stone,
/area/station/command/heads_quarters/hos)
+"lpg" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/light/small/directional/north,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side,
+/area/station/science/lower)
"lps" = (
/obj/effect/turf_decal/tile/brown/opposingcorners,
/obj/machinery/computer/atmos_control/nocontrol/master{
@@ -34151,13 +34554,6 @@
/obj/machinery/light/no_nightlight/directional/south,
/turf/open/floor/iron/small,
/area/station/engineering/atmos/office)
-"lpt" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/simple/general/visible{
- dir = 5
- },
-/turf/open/floor/iron/white,
-/area/station/science/cytology)
"lpC" = (
/turf/open/floor/plating,
/area/station/service/chapel/funeral)
@@ -34239,6 +34635,15 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/wood/tile,
/area/station/command/heads_quarters/hop)
+"lqB" = (
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
+ dir = 4
+ },
+/obj/machinery/camera/directional/south{
+ c_tag = "atmospherics - lower"
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"lqC" = (
/turf/open/floor/iron/smooth,
/area/station/maintenance/solars/starboard/aft)
@@ -34246,6 +34651,15 @@
/obj/effect/landmark/transport/nav_beacon/tram/platform/birdshot/prison_wing,
/turf/open/floor/tram,
/area/station/security/tram)
+"lqN" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/central)
"lqQ" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -34258,11 +34672,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"lrh" = (
-/obj/effect/spawner/random/trash,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/aft)
"lrE" = (
/obj/structure/cable,
/turf/open/floor/iron,
@@ -34292,15 +34701,6 @@
/obj/effect/turf_decal/caution/stand_clear,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
-"lsh" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/siding/wideplating/dark{
- dir = 1
- },
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron/small,
-/area/station/service/barber)
"lst" = (
/obj/machinery/door/airlock/external{
name = "Atmospherics External Access"
@@ -34329,6 +34729,16 @@
/obj/structure/flora/grass/jungle/b/style_5,
/turf/open/floor/grass,
/area/station/service/chapel)
+"lsU" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/cable,
+/turf/open/floor/iron/dark/side{
+ dir = 1
+ },
+/area/station/science/xenobiology)
"lsY" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/obj/structure/closet/secure_closet/security/sec,
@@ -34366,12 +34776,14 @@
},
/turf/open/floor/iron/white/small,
/area/station/service/hydroponics)
-"ltE" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
+"ltB" = (
+/obj/structure/table,
+/obj/machinery/cell_charger{
+ pixel_y = 5
},
-/turf/open/floor/iron,
-/area/station/science/robotics/lab)
+/obj/item/stock_parts/power_store/cell/high,
+/turf/open/floor/engine/bz,
+/area/station/science/xenobiology)
"ltP" = (
/obj/effect/decal/cleanable/cobweb/cobweb2,
/obj/effect/turf_decal/siding/wood{
@@ -34412,6 +34824,19 @@
/obj/machinery/light/small/directional/south,
/turf/open/floor/wood,
/area/station/maintenance/hallway/abandoned_recreation)
+"lui" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/glass,
+/obj/machinery/button/curtain{
+ id = "abandoned_brewery";
+ name = "curtain control";
+ pixel_y = -24
+ },
+/turf/open/floor/wood/large,
+/area/station/maintenance/department/science/xenobiology)
"lun" = (
/obj/machinery/door/firedoor,
/obj/effect/mapping_helpers/airlock/access/all/command/general,
@@ -34442,6 +34867,17 @@
},
/turf/open/floor/wood/parquet,
/area/station/service/greenroom)
+"luC" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/glass,
+/obj/effect/decal/cleanable/blood/gibs/down,
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/dock)
"luG" = (
/obj/structure/disposalpipe/segment,
/obj/effect/turf_decal/tile/neutral/opposingcorners,
@@ -34454,18 +34890,18 @@
},
/turf/open/floor/wood/tile,
/area/station/service/bar)
+"luS" = (
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/central)
"lvc" = (
/turf/open/floor/iron/smooth,
/area/station/security/checkpoint/escape)
-"lve" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/side,
-/area/station/science/xenobiology)
"lvk" = (
/obj/structure/railing{
dir = 4
@@ -34473,19 +34909,21 @@
/obj/structure/lattice,
/turf/open/space/basic,
/area/space/nearstation)
-"lvv" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+"lvw" = (
+/obj/structure/disposalpipe/segment{
dir = 4
},
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/obj/machinery/status_display/evac/directional/north,
/obj/structure/cable,
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 4
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/corner{
+ dir = 1
},
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/aft)
+/area/station/hallway/secondary/dock)
"lvy" = (
/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
dir = 4
@@ -34543,16 +34981,6 @@
/obj/structure/cable,
/turf/open/floor/iron/dark/small,
/area/station/security/execution/education)
-"lwk" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/white,
-/area/station/medical/medbay/lobby)
"lwn" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/door/airlock/hatch,
@@ -34569,6 +34997,20 @@
dir = 1
},
/area/station/security/execution/transfer)
+"lwu" = (
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
+ dir = 5
+ },
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance)
+"lwA" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/chair/plastic{
+ dir = 4
+ },
+/obj/effect/landmark/start/hangover,
+/turf/open/floor/iron,
+/area/station/commons/fitness/locker_room)
"lwI" = (
/obj/effect/turf_decal/tile/brown/opposingcorners,
/obj/machinery/computer/security/mining{
@@ -34597,10 +35039,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/hallway/secondary/dock)
-"lxa" = (
-/obj/structure/bodycontainer/morgue,
-/turf/open/floor/iron/dark/small,
-/area/station/medical/morgue)
"lxh" = (
/obj/effect/turf_decal/stripes/white/line,
/turf/open/floor/engine,
@@ -34625,11 +35063,16 @@
dir = 1
},
/area/station/commons/fitness/locker_room)
-"lxC" = (
-/obj/effect/spawner/random/structure/grille,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
+"lxq" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/machinery/light/small/directional/east,
+/turf/open/floor/iron/dark/side{
+ dir = 6
+ },
+/area/station/engineering/storage/tech)
"lxE" = (
/obj/effect/spawner/random/structure/closet_empty/crate,
/turf/open/floor/plating,
@@ -34648,12 +35091,6 @@
/obj/effect/spawner/random/structure/girder,
/turf/open/floor/plating,
/area/station/maintenance/department/engine/atmos)
-"lxY" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random/structure/grille,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"lxZ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/red{
@@ -34706,6 +35143,16 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating,
/area/station/maintenance/department/engine/atmos)
+"lyX" = (
+/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms,
+/obj/machinery/door/airlock/command/glass{
+ name = "Telecommunications Server Room"
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/station/tcommsat/server)
"lyY" = (
/obj/structure/bed,
/obj/item/bedsheet/red,
@@ -34714,11 +35161,6 @@
},
/turf/open/floor/iron/dark,
/area/station/security/prison/safe)
-"lzf" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron,
-/area/station/maintenance/department/science/xenobiology)
"lzg" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/obj/machinery/airalarm/directional/north,
@@ -34768,24 +35210,14 @@
"lzM" = (
/turf/closed/wall,
/area/station/security/tram)
-"lzT" = (
-/obj/effect/turf_decal/delivery,
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/command{
- name = "E.V.A. Storage"
- },
-/obj/effect/mapping_helpers/airlock/access/any/command/eva,
-/obj/machinery/door/poddoor/preopen{
- id = "bridge blast";
- name = "Bridge Blast Door"
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+"lAa" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/textured_half{
- dir = 1
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 4
},
-/area/station/command/bridge)
+/turf/open/floor/iron/small,
+/area/station/commons/fitness/locker_room)
"lAM" = (
/obj/effect/spawner/random/structure/girder,
/turf/open/floor/plating,
@@ -34808,6 +35240,20 @@
/obj/structure/alien/weeds,
/turf/open/floor/wood,
/area/station/maintenance/starboard/greater)
+"lAQ" = (
+/obj/effect/mapping_helpers/airlock/access/all/science/rd,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/command{
+ name = "Research Director's Office"
+ },
+/obj/machinery/door/poddoor/preopen{
+ id = "rdoffice";
+ name = "Research Director's Shutters"
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/catwalk_floor/iron_white,
+/area/station/science/research)
"lAS" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/status_display/ai/directional/north,
@@ -34866,6 +35312,9 @@
},
/turf/open/floor/iron/small,
/area/station/medical/medbay/lobby)
+"lBw" = (
+/turf/open/floor/iron,
+/area/station/maintenance/department/science/xenobiology)
"lBy" = (
/obj/structure/railing,
/obj/structure/lattice,
@@ -34898,6 +35347,15 @@
/obj/effect/mapping_helpers/airlock/access/all/security/detective,
/turf/open/floor/iron/textured_half,
/area/station/security/detectives_office)
+"lBS" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/turf_decal/siding/purple{
+ dir = 4
+ },
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/rd)
"lCb" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
/obj/effect/turf_decal/stripes/line,
@@ -34937,6 +35395,23 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/engineering/lobby)
+"lCH" = (
+/obj/machinery/door/airlock/research{
+ name = "Development Division Access"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "sci-entrance"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/general,
+/obj/machinery/door/firedoor,
+/obj/effect/mapping_helpers/airlock/unres,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/textured_half{
+ dir = 1
+ },
+/area/station/science/lobby)
"lCK" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -34948,31 +35423,32 @@
/obj/structure/falsewall,
/turf/open/floor/plating,
/area/station/maintenance/aft)
-"lCS" = (
-/obj/structure/closet/crate/grave/fresh,
-/turf/open/misc/dirt/station,
-/area/station/medical/morgue)
"lCT" = (
/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{
dir = 4
},
/turf/open/floor/engine/co2,
/area/station/engineering/atmos)
-"lDc" = (
-/obj/machinery/door/airlock/command{
- name = "Telecomms Server Room"
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms,
-/obj/machinery/door/firedoor,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "comms-entrance-south"
+"lCW" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/door/poddoor/preopen{
+ id = "rdoffice";
+ name = "Research Director's Shutters"
},
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/science/research)
+"lCY" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/broken_floor,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/catwalk_floor/iron_dark,
-/area/station/tcommsat/server)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/central)
"lDo" = (
/obj/structure/lattice/catwalk,
/obj/structure/marker_beacon/indigo,
@@ -34990,9 +35466,41 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/maintenance/hallway/abandoned_command)
+"lDr" = (
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer2{
+ dir = 9
+ },
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance)
+"lDt" = (
+/obj/machinery/camera/directional/north,
+/obj/machinery/status_display/ai/directional/north,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side{
+ dir = 1
+ },
+/area/station/science/research)
"lDw" = (
/turf/open/floor/iron,
/area/station/science/ordnance/testlab)
+"lDx" = (
+/obj/structure/cable,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/maintenance/department/science/xenobiology)
+"lDz" = (
+/obj/effect/landmark/start/coroner,
+/obj/machinery/light/small/directional/south,
+/turf/open/floor/iron/dark/small,
+/area/station/medical/morgue)
+"lDF" = (
+/obj/structure/sign/warning/cold_temp/directional/west,
+/obj/machinery/camera/autoname/directional/west,
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer2,
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance)
"lDI" = (
/obj/structure/rack,
/obj/item/storage/belt/utility/full,
@@ -35007,13 +35515,25 @@
/obj/item/toy/crayon/spraycan/roboticist,
/turf/open/floor/iron,
/area/station/science/robotics/lab)
-"lDJ" = (
-/obj/structure/flora/bush/jungle,
-/obj/structure/marker_beacon/yellow,
-/turf/open/floor/grass,
-/area/station/medical/morgue)
-"lEa" = (
-/turf/open/floor/iron/half,
+"lEg" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/broken_flooring/pile/directional/east,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/aft)
+"lEi" = (
+/obj/structure/closet/firecloset,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/iron,
+/area/station/maintenance/department/science/xenobiology)
+"lEr" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/neutral,
+/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
"lEs" = (
/obj/structure/extinguisher_cabinet/directional/east,
@@ -35026,6 +35546,13 @@
/obj/machinery/fishing_portal_generator,
/turf/open/floor/iron/small,
/area/station/hallway/secondary/service)
+"lEt" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/siding/blue/corner{
+ dir = 1
+ },
+/turf/open/floor/iron/white/small,
+/area/station/medical/storage)
"lEJ" = (
/obj/machinery/door/poddoor{
id = "QMLoaddoor";
@@ -35050,6 +35577,15 @@
/obj/machinery/light/small/directional/west,
/turf/open/floor/stone,
/area/station/command/heads_quarters/captain/private)
+"lEL" = (
+/obj/machinery/door/airlock{
+ name = "Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
+/obj/effect/mapping_helpers/airlock/unres,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/lesser)
"lEN" = (
/obj/structure/chair/sofa/right{
dir = 8
@@ -35065,6 +35601,12 @@
"lER" = (
/turf/open/floor/iron/dark,
/area/station/maintenance/department/engine/atmos)
+"lEZ" = (
+/obj/effect/turf_decal/siding/thinplating_new/terracotta,
+/obj/machinery/vending/coffee,
+/obj/machinery/light/small/directional/north,
+/turf/open/floor/iron/dark/smooth_large,
+/area/station/command/meeting_room)
"lFb" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -35113,10 +35655,6 @@
},
/turf/open/misc/sandy_dirt,
/area/station/hallway/primary/central/fore)
-"lGp" = (
-/obj/effect/spawner/random/structure/grille,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"lGr" = (
/obj/effect/turf_decal/siding/brown{
dir = 6
@@ -35124,6 +35662,16 @@
/obj/structure/table/reinforced/plastitaniumglass,
/turf/open/floor/iron/smooth,
/area/station/maintenance/port/aft)
+"lGz" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/duct,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/station/maintenance/central/lesser)
"lGE" = (
/obj/machinery/computer/gateway_control{
dir = 1
@@ -35136,27 +35684,22 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/wood/large,
/area/station/command/heads_quarters/captain/private)
-"lGL" = (
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/obj/machinery/light/cold/directional/north,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+"lGP" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/science/lower)
-"lHb" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/computer/robotics,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/rd)
-"lHc" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/reagent_dispensers/fueltank,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/tile/blue,
+/turf/open/floor/iron/white,
+/area/station/medical/medbay/aft)
+"lGS" = (
+/obj/effect/turf_decal/tile/neutral,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/maintenance/starboard/aft)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/dark/corner,
+/area/station/science/xenobiology)
"lHd" = (
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
dir = 8
@@ -35203,6 +35746,15 @@
"lHz" = (
/turf/open/floor/iron/smooth,
/area/station/maintenance/solars/port/aft)
+"lHA" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/medical/chemistry)
"lHJ" = (
/obj/effect/turf_decal/tile/yellow/half/contrasted{
dir = 8
@@ -35242,12 +35794,6 @@
/obj/machinery/airalarm/directional/north,
/turf/open/floor/wood/large,
/area/station/command/heads_quarters/captain/private)
-"lHZ" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/turf/open/floor/iron/white,
-/area/station/science/cytology)
"lIa" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -35265,6 +35811,16 @@
dir = 1
},
/area/station/command/heads_quarters/captain/private)
+"lIc" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/red/opposingcorners,
+/obj/effect/turf_decal/tile/blue/opposingcorners{
+ dir = 8
+ },
+/turf/open/floor/iron/smooth,
+/area/station/service/greenroom)
"lIe" = (
/obj/machinery/door/airlock/medical{
name = "Front Desk"
@@ -35272,21 +35828,19 @@
/obj/effect/mapping_helpers/airlock/access/all/medical/general,
/turf/open/floor/iron/white/small,
/area/station/medical/medbay/lobby)
-"lIh" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/junction/flip{
- dir = 8
+"lIm" = (
+/obj/structure/curtain/cloth/fancy/mechanical/start_closed{
+ desc = "A set of curtains serving as a fancy theater backdrop. They can only be opened by a button.";
+ id = "abandoned_brewery";
+ name = "Abandoned Brewery"
},
-/turf/open/floor/iron/dark,
-/area/station/medical/medbay/central)
-"lIk" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/item/kirbyplants/organic/applebush,
-/turf/open/floor/iron/smooth,
-/area/station/hallway/secondary/command)
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/turf/open/floor/iron/dark/side{
+ dir = 4
+ },
+/area/station/maintenance/department/science/xenobiology)
"lIt" = (
/obj/effect/turf_decal/siding/thinplating_new/terracotta{
dir = 6
@@ -35294,32 +35848,11 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/iron/dark/small,
/area/station/maintenance/department/engine/atmos)
-"lIL" = (
-/obj/machinery/door/window/left/directional/east{
- name = "Maximum Security Test Chamber";
- req_access = list("xenobiology")
- },
-/obj/machinery/atmospherics/pipe/smart/simple/general/visible,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side{
- dir = 8
- },
-/area/station/science/xenobiology)
"lJe" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/freezer,
/area/station/command/heads_quarters/captain/private)
-"lJg" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/iron/white,
-/area/station/medical/medbay/lobby)
"lJq" = (
/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible,
/turf/open/floor/engine/air,
@@ -35335,6 +35868,29 @@
/obj/item/radio/intercom/directional/north,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/turret_protected/ai_upload_foyer)
+"lJL" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/neutral/line,
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
+"lJU" = (
+/obj/structure/sign/warning/no_smoking/circle/directional/north,
+/obj/machinery/portable_atmospherics/canister,
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 8
+ },
+/turf/open/floor/iron/white/corner{
+ dir = 8
+ },
+/area/station/science/xenobiology)
"lKf" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -35357,16 +35913,16 @@
},
/turf/open/floor/plating,
/area/station/construction/mining/aux_base)
-"lKs" = (
-/obj/machinery/door/airlock/public/glass{
- name = "Recreation"
+"lKy" = (
+/obj/machinery/navbeacon{
+ codes_txt = "patrol;next_patrol=7.0-Arrivals-Pharmacy";
+ location = "6.3-Arrivals"
},
-/obj/structure/disposalpipe/segment,
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/cable,
-/turf/open/floor/iron/textured_half,
-/area/station/commons/fitness/recreation/entertainment)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"lKA" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -35388,13 +35944,17 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/white,
/area/station/medical/medbay/lobby)
+"lKD" = (
+/obj/machinery/newscaster/directional/west,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/small,
+/area/station/science/cubicle)
"lKG" = (
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/iron,
/area/station/maintenance/starboard/aft)
-"lKV" = (
-/turf/open/floor/iron/smooth,
-/area/station/commons/storage/tools)
"lLb" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/door/airlock/security/glass{
@@ -35403,6 +35963,13 @@
/obj/effect/mapping_helpers/airlock/access/any/security/general,
/turf/open/floor/iron,
/area/station/security/checkpoint/escape)
+"lLd" = (
+/obj/machinery/cryo_cell,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/iron/small,
+/area/station/medical/cryo)
"lLe" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -35423,6 +35990,17 @@
/obj/machinery/door/firedoor,
/turf/open/floor/plating,
/area/station/cargo/drone_bay)
+"lLl" = (
+/obj/effect/spawner/structure/window,
+/obj/machinery/door/firedoor,
+/turf/open/floor/iron/dark,
+/area/station/medical/morgue)
+"lLm" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/turf/open/floor/wood/tile,
+/area/station/command/meeting_room)
"lLr" = (
/obj/machinery/porta_turret/ai{
dir = 4
@@ -35456,6 +36034,20 @@
"lLX" = (
/turf/open/floor/iron/showroomfloor,
/area/station/medical/surgery/theatre)
+"lMg" = (
+/obj/structure/statue/sandstone/venus{
+ dir = 8;
+ pixel_y = -15
+ },
+/obj/structure/flora/bush/flowers_pp,
+/obj/structure/flora/bush/flowers_br/style_3,
+/obj/effect/dummy/lighting_obj,
+/obj/effect/light_emitter/fake_outdoors,
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/turf/open/floor/grass/airless,
+/area/station/hallway/primary/central/aft)
"lMl" = (
/obj/structure/railing{
dir = 4
@@ -35522,6 +36114,11 @@
dir = 4
},
/area/station/hallway/primary/central/fore)
+"lNq" = (
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/hallway/secondary/construction)
"lNx" = (
/obj/structure/table/glass,
/obj/effect/turf_decal/siding/dark_red,
@@ -35568,6 +36165,11 @@
/obj/machinery/firealarm/directional/north,
/turf/open/floor/engine,
/area/station/engineering/gravity_generator)
+"lNR" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/small,
+/area/station/medical/morgue)
"lNU" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -35582,16 +36184,6 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"lOi" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/door/airlock{
- name = "Xenobiology Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/xenobio,
-/turf/open/floor/plating,
-/area/station/science/xenobiology)
"lOj" = (
/turf/closed/wall,
/area/station/cargo/miningoffice)
@@ -35608,17 +36200,6 @@
/obj/item/folder,
/turf/open/misc/asteroid,
/area/station/maintenance/department/electrical)
-"lOO" = (
-/obj/effect/turf_decal/siding{
- dir = 5
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/white/small,
-/area/station/science/lobby)
-"lOS" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/closed/wall/r_wall,
-/area/station/command/corporate_dock)
"lOY" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -35668,25 +36249,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/security/prison/rec)
-"lPI" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 8
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/announcement_system,
-/obj/machinery/atmospherics/pipe/smart/simple/dark/hidden{
- dir = 8
- },
-/turf/open/floor/iron/grimy,
-/area/station/tcommsat/server)
-"lPJ" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/turf/open/floor/iron/dark/small,
-/area/station/tcommsat/server)
"lPO" = (
/obj/structure/table,
/obj/effect/spawner/surgery_tray/full{
@@ -35697,6 +36259,29 @@
},
/turf/open/floor/iron/dark/small,
/area/station/security/execution/education)
+"lPP" = (
+/obj/structure/window/reinforced/spawner/directional/west,
+/obj/structure/table/glass,
+/obj/machinery/recharger{
+ pixel_x = 8;
+ pixel_y = 3
+ },
+/obj/machinery/button/door{
+ id = "aibridge";
+ name = "AI Maintenance Space Bridge Control";
+ req_access = list("command");
+ pixel_x = -3;
+ pixel_y = 7
+ },
+/obj/machinery/button/door{
+ id = "bridge blast";
+ name = "Bridge Access Blast Door Control";
+ req_access = list("command");
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/turf/open/floor/glass/reinforced,
+/area/station/command/bridge)
"lQh" = (
/turf/open/floor/iron/small,
/area/station/maintenance/port/aft)
@@ -35721,6 +36306,26 @@
/obj/effect/mapping_helpers/airlock/access/all/security/general,
/turf/open/floor/plating,
/area/station/maintenance/department/prison)
+"lQF" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/blue,
+/obj/machinery/light/cold/directional/west,
+/turf/open/floor/iron/white,
+/area/station/medical/medbay/aft)
+"lQQ" = (
+/obj/structure/table/reinforced,
+/obj/machinery/computer/records/medical/laptop{
+ dir = 8;
+ pixel_y = 1
+ },
+/obj/machinery/light/small/directional/east,
+/obj/effect/turf_decal/trimline/dark_blue/filled/corner{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/medical/morgue)
"lQR" = (
/obj/effect/turf_decal/caution{
dir = 4
@@ -35733,18 +36338,6 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/engineering/supermatter/room)
-"lQZ" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/door/airlock{
- name = "Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance,
-/obj/effect/mapping_helpers/airlock/unres{
- dir = 8
- },
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical/central)
"lRa" = (
/obj/structure/broken_flooring/singular/directional/east,
/turf/open/floor/plating,
@@ -35754,22 +36347,33 @@
/obj/machinery/light/small/directional/north,
/turf/open/floor/iron/smooth_large,
/area/station/science/auxlab/firing_range)
-"lRm" = (
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/line{
+"lRj" = (
+/obj/structure/disposalpipe/segment{
dir = 4
},
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
+"lRw" = (
+/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
-/turf/open/floor/iron/dark/corner{
- dir = 8
- },
-/area/station/science/xenobiology)
+/turf/open/floor/circuit,
+/area/station/tcommsat/server)
"lRy" = (
/obj/effect/turf_decal/tile/brown/opposingcorners,
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"lRF" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/light/floor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/simple/dark/hidden{
+ dir = 10
+ },
+/turf/open/floor/iron/dark,
+/area/station/tcommsat/server)
"lRK" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 8
@@ -35809,14 +36413,6 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/stone,
/area/station/command/heads_quarters/hos)
-"lSa" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
-/turf/open/floor/iron/white/side{
- dir = 1
- },
-/area/station/science/lower)
"lSb" = (
/obj/structure/disposalpipe/segment{
dir = 6
@@ -35826,14 +36422,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
-"lSc" = (
-/obj/structure/cable,
-/turf/open/floor/circuit,
-/area/station/tcommsat/server)
-"lSf" = (
-/obj/structure/reagent_dispensers/beerkeg,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"lSh" = (
/obj/structure/disposalpipe/segment{
dir = 10
@@ -35852,14 +36440,6 @@
/obj/machinery/light/small/directional/south,
/turf/open/floor/iron/cafeteria,
/area/station/science/breakroom)
-"lSw" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/iron/edge{
- dir = 1
- },
-/area/station/engineering/storage/tech)
"lSy" = (
/obj/machinery/atmospherics/pipe/smart/simple/green/visible,
/turf/open/floor/engine/co2,
@@ -35892,12 +36472,6 @@
},
/turf/open/floor/iron,
/area/station/security/brig/entrance)
-"lTg" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
-/turf/open/floor/iron/cafeteria,
-/area/station/science/breakroom)
"lTt" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -35924,6 +36498,14 @@
/obj/structure/chair/stool/directional/west,
/turf/open/floor/iron/small,
/area/station/maintenance/port/lesser)
+"lTE" = (
+/obj/effect/turf_decal/trimline/neutral/warning{
+ dir = 6
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/dark/small,
+/area/station/medical/morgue)
"lTU" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 10
@@ -35946,10 +36528,6 @@
"lUo" = (
/turf/open/floor/iron,
/area/station/science/lobby)
-"lUt" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on,
-/turf/open/floor/engine/vacuum,
-/area/station/science/ordnance/burnchamber)
"lUE" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -35990,19 +36568,9 @@
/area/station/cargo/sorting)
"lVg" = (
/obj/structure/transit_tube/horizontal,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/maintenance/starboard/aft)
-"lVo" = (
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/chair/office/light{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/maintenance/department/science/xenobiology)
"lVy" = (
/obj/effect/turf_decal/tile/green/anticorner/contrasted{
dir = 8
@@ -36021,6 +36589,21 @@
/obj/effect/spawner/random/structure/grille,
/turf/open/floor/plating,
/area/station/maintenance/starboard/greater)
+"lVB" = (
+/obj/machinery/door/airlock/command{
+ name = "Telecomms Server Room"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms,
+/obj/machinery/door/firedoor,
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "comms-entrance-south"
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/station/tcommsat/server)
"lVN" = (
/obj/effect/spawner/random/structure/crate,
/obj/effect/spawner/random/maintenance,
@@ -36035,10 +36618,11 @@
/obj/structure/cable,
/turf/open/floor/engine,
/area/station/maintenance/disposal/incinerator)
-"lWk" = (
-/obj/machinery/light/small/directional/west,
-/turf/open/floor/iron/large,
-/area/station/hallway/primary/central/fore)
+"lWa" = (
+/obj/effect/spawner/random/trash,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/central)
"lWp" = (
/obj/structure/table,
/obj/machinery/light/small/directional/west,
@@ -36075,6 +36659,14 @@
/obj/item/storage/toolbox/emergency/old,
/turf/open/floor/iron/dark,
/area/station/commons/storage/tools)
+"lWL" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron/white/small,
+/area/station/commons/toilet/restrooms)
"lWV" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -36092,6 +36684,10 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/catwalk_floor/iron_smooth,
/area/station/security/checkpoint/supply)
+"lXc" = (
+/obj/structure/closet/crate/grave/fresh,
+/turf/open/misc/dirt/station,
+/area/station/medical/morgue)
"lXg" = (
/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 4
@@ -36099,24 +36695,33 @@
/obj/effect/turf_decal/stripes/line{
dir = 8
},
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 4
+ },
/turf/open/floor/iron/dark/side{
dir = 4
},
/area/station/science/xenobiology)
-"lXs" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+"lXm" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/door/airlock{
+ name = "Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
+/obj/effect/mapping_helpers/airlock/unres{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/central/greater)
+"lXB" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line{
dir = 1
},
+/obj/machinery/light/no_nightlight/directional/north,
/turf/open/floor/iron,
-/area/station/hallway/secondary/dock)
-"lXw" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/sign/warning/radiation/rad_area/directional/east,
-/turf/open/floor/iron,
-/area/station/maintenance/hallway/abandoned_command)
+/area/station/engineering/atmos/project)
"lXC" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -36135,6 +36740,30 @@
},
/turf/open/floor/wood/tile,
/area/station/science/lower)
+"lXH" = (
+/obj/structure/table/wood,
+/obj/item/pen/fountain{
+ pixel_x = -4
+ },
+/obj/item/coin/gold{
+ pixel_x = 4;
+ pixel_y = 5
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/item/radio/intercom/directional/south,
+/turf/open/floor/iron/grimy,
+/area/station/commons/vacant_room/office)
+"lXI" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/airalarm/directional/east,
+/obj/effect/mapping_helpers/airalarm/mixingchamber_access,
+/obj/effect/mapping_helpers/airalarm/link{
+ chamber_id = "ordnanceburn"
+ },
+/obj/effect/mapping_helpers/airalarm/tlv_no_checks,
+/obj/machinery/atmospherics/pipe/smart/simple/dark/visible,
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance)
"lXM" = (
/obj/structure/disposalpipe/trunk{
dir = 1
@@ -36144,21 +36773,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/carpet/lone,
/area/station/service/chapel/office)
-"lXR" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/junction,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/aft)
-"lXT" = (
-/obj/machinery/atmospherics/components/trinary/filter/atmos/co2{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron/dark,
-/area/station/medical/cryo)
"lXU" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/neutral{
@@ -36170,11 +36784,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"lXV" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/science/robotics/augments)
"lXX" = (
/obj/machinery/light/warm/directional/north,
/turf/open/floor/iron,
@@ -36190,16 +36799,6 @@
},
/turf/open/floor/plating,
/area/station/cargo/sorting)
-"lYf" = (
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/fore)
"lYj" = (
/turf/closed/wall/r_wall,
/area/station/hallway/primary/fore)
@@ -36214,6 +36813,15 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"lYz" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"lYF" = (
/obj/effect/turf_decal/siding/yellow{
dir = 9
@@ -36238,27 +36846,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"lYV" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/siding/wideplating/dark{
- dir = 4
- },
-/turf/open/floor/iron/small,
-/area/station/commons/fitness/locker_room)
-"lZa" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 4
- },
-/obj/machinery/computer/telecomms/monitor{
- dir = 8;
- network = "tcommsat"
- },
-/obj/machinery/atmospherics/pipe/smart/simple/dark/hidden{
- dir = 8
- },
-/turf/open/floor/iron/grimy,
-/area/station/tcommsat/server)
"lZf" = (
/obj/machinery/vending/hydroseeds{
slogan_delay = 700
@@ -36344,15 +36931,12 @@
/turf/open/floor/iron/dark,
/area/station/science/robotics/lab)
"lZD" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/plating,
-/area/station/maintenance/department/engine)
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/table,
+/obj/item/electropack,
+/obj/machinery/light/small/directional/east,
+/turf/open/floor/engine/bz,
+/area/station/science/xenobiology)
"lZH" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -36386,11 +36970,17 @@
/obj/structure/cable,
/turf/closed/wall,
/area/station/maintenance/central/greater)
-"mag" = (
-/obj/structure/cable,
-/obj/effect/spawner/random/trash,
-/turf/open/floor/iron,
-/area/station/maintenance/port/aft)
+"maj" = (
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/machinery/firealarm/directional/west,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side{
+ dir = 10
+ },
+/area/station/science/research)
"mak" = (
/obj/machinery/computer/communications{
dir = 1
@@ -36398,16 +36988,17 @@
/obj/machinery/keycard_auth/wall_mounted/directional/south,
/turf/open/floor/wood/large,
/area/station/command/heads_quarters/captain)
-"maE" = (
-/obj/item/clothing/head/cone{
- pixel_x = 6;
- pixel_y = 17
+"mau" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
},
-/obj/structure/broken_flooring/singular/directional/east,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/dock)
+/turf/open/floor/iron/white/small,
+/area/station/science/cubicle)
+"may" = (
+/obj/structure/closet/emcloset,
+/obj/structure/sign/poster/official/random/directional/north,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"maK" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible,
/obj/effect/turf_decal/arrows{
@@ -36425,12 +37016,6 @@
},
/turf/open/floor/sepia,
/area/station/maintenance/aft)
-"mbk" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/turf/open/floor/iron/white/small,
-/area/station/science/cubicle)
"mbp" = (
/obj/structure/hedge,
/obj/machinery/light_switch/directional/east,
@@ -36466,6 +37051,14 @@
/obj/machinery/cell_charger,
/turf/open/floor/iron/grimy,
/area/station/science/cubicle)
+"mch" = (
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/aft)
"mcj" = (
/obj/effect/turf_decal/tile/yellow/opposingcorners,
/obj/structure/table/reinforced/titaniumglass,
@@ -36483,14 +37076,14 @@
/turf/open/misc/asteroid,
/area/station/maintenance/starboard/greater)
"mcn" = (
-/obj/structure/disposalpipe/segment{
- dir = 9
+/obj/machinery/status_display/ai/directional/south,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
},
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/wood/tile,
-/area/station/command/meeting_room)
+/turf/open/floor/iron/white/side{
+ dir = 1
+ },
+/area/station/science/lower)
"mco" = (
/obj/machinery/holopad,
/turf/open/floor/iron/checker,
@@ -36525,14 +37118,6 @@
/obj/effect/landmark/start/medical_doctor,
/turf/open/floor/iron/dark,
/area/station/medical/medbay/aft)
-"mcS" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/neutral,
-/obj/machinery/light/cold/directional/east,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"mcV" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 4
@@ -36541,6 +37126,12 @@
/obj/structure/cable,
/turf/open/floor/wood/parquet,
/area/station/service/library)
+"mcX" = (
+/obj/effect/landmark/transport/nav_beacon/tram/nav/immovable_rod,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"mdm" = (
/obj/structure/chair/office/light{
dir = 8
@@ -36559,21 +37150,11 @@
"mdt" = (
/turf/closed/wall/r_wall,
/area/station/science/robotics/mechbay)
-"mdG" = (
-/obj/structure/disposalpipe/segment,
+"mdJ" = (
+/obj/machinery/firealarm/directional/north,
/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/aft)
-"mdV" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 10
- },
-/obj/machinery/door/poddoor/shutters{
- dir = 1;
- id = "aibridge"
- },
-/turf/open/floor/plating,
-/area/station/maintenance/department/engine)
+/turf/open/floor/iron/dark/smooth_large,
+/area/station/ai_monitored/turret_protected/ai_upload)
"meh" = (
/obj/structure/railing{
dir = 4
@@ -36596,16 +37177,11 @@
"meu" = (
/turf/closed/wall,
/area/station/command/heads_quarters/captain)
-"meG" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/light/small/directional/north,
-/obj/structure/cable,
+"meJ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side,
-/area/station/science/lower)
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/greater)
"meN" = (
/obj/structure/chair/sofa/bench{
dir = 8
@@ -36615,15 +37191,16 @@
dir = 4
},
/area/station/hallway/secondary/entry)
-"mfl" = (
-/obj/machinery/firealarm/directional/west,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/white/side{
- dir = 8
+"mfi" = (
+/obj/structure/window/reinforced/spawner/directional/north,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
},
-/area/station/science/research)
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/turf/open/floor/iron/dark,
+/area/station/science/xenobiology)
"mfn" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -36638,12 +37215,30 @@
/obj/effect/mapping_helpers/mail_sorting/science/ordnance,
/turf/open/floor/iron,
/area/station/maintenance/starboard/aft)
+"mft" = (
+/obj/structure/table/wood,
+/obj/machinery/light/small/directional/south,
+/obj/machinery/computer/security/telescreen/engine/directional/west,
+/obj/machinery/status_display/evac/directional/south,
+/obj/item/radio/off{
+ pixel_x = 1;
+ pixel_y = 3
+ },
+/turf/open/floor/wood,
+/area/station/command/heads_quarters/ce)
"mfB" = (
/obj/structure/table/wood,
/obj/item/book/bible,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/dark/smooth_edge,
/area/station/maintenance/starboard/greater)
+"mfI" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/table/wood,
+/obj/structure/alien/resin/membrane,
+/obj/structure/alien/weeds,
+/turf/open/floor/wood,
+/area/station/maintenance/starboard/greater)
"mfP" = (
/obj/structure/hedge,
/obj/machinery/light_switch/directional/west,
@@ -36658,13 +37253,15 @@
/obj/structure/sign/departments/medbay/alt/directional/west,
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
-"mfT" = (
-/obj/structure/table/reinforced,
-/obj/effect/turf_decal/tile/dark_red/fourcorners,
-/obj/machinery/recharger,
-/obj/item/radio/intercom/directional/north,
+"mgA" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/obj/effect/turf_decal/tile/red/opposingcorners,
+/obj/effect/turf_decal/tile/blue/opposingcorners{
+ dir = 8
+ },
+/obj/effect/landmark/start/mime,
/turf/open/floor/iron/smooth,
-/area/station/security/checkpoint/customs)
+/area/station/service/greenroom)
"mgF" = (
/obj/machinery/door/airlock/atmos/glass{
name = "Project Room"
@@ -36676,12 +37273,39 @@
/obj/machinery/door/firedoor,
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"mgK" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/door/poddoor/shutters{
+ dir = 1;
+ id = "aibridge"
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/department/engine)
+"mgQ" = (
+/obj/machinery/airlock_sensor/incinerator_ordmix{
+ pixel_x = 24
+ },
+/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/binary/pump/on{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/station/science/ordnance/burnchamber)
"mgR" = (
/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
dir = 9
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"mgU" = (
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/showroomfloor,
+/area/station/commons/toilet/auxiliary)
"mgW" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -36712,21 +37336,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
-"mhW" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/simple/dark/hidden{
- dir = 8
- },
-/turf/open/floor/iron/grimy,
-/area/station/tcommsat/server)
-"mhZ" = (
-/obj/structure/sign/poster/official/random/directional/north,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/smooth_large,
-/area/station/service/lawoffice)
"mib" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
/obj/effect/turf_decal/stripes/line{
@@ -36753,12 +37362,16 @@
/obj/structure/reagent_dispensers/wall/virusfood/directional/south,
/turf/open/floor/iron/white,
/area/station/medical/virology)
-"mij" = (
-/obj/structure/fermenting_barrel,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/cleanable/dirt/dust,
-/turf/open/floor/wood/large,
-/area/station/maintenance/department/science/xenobiology)
+"miv" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/side{
+ dir = 1
+ },
+/area/station/science/xenobiology)
"miz" = (
/obj/structure/table/glass,
/obj/item/wrench,
@@ -36875,6 +37488,16 @@
/obj/effect/landmark/start/hangover,
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
+"mkd" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/light/floor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side{
+ dir = 8
+ },
+/area/station/science/research)
"mkh" = (
/obj/structure/chair{
dir = 8
@@ -36908,14 +37531,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/maintenance/fore/greater)
-"mkZ" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 4
- },
-/obj/machinery/light/floor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/grimy,
-/area/station/tcommsat/server)
"mle" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -36925,11 +37540,6 @@
/obj/machinery/light/small/directional/north,
/turf/open/floor/iron/white/textured_large,
/area/station/command/heads_quarters/cmo)
-"mlm" = (
-/obj/structure/alien/weeds,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/maintenance/starboard/greater)
"mln" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden,
/obj/machinery/light/small/directional/west,
@@ -36952,18 +37562,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/smooth,
/area/station/engineering/break_room)
-"mlD" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/effect/landmark/start/hangover,
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"mlK" = (
/obj/structure/disposalpipe/segment{
dir = 6
@@ -36984,20 +37582,6 @@
/obj/effect/turf_decal/tile/yellow/opposingcorners,
/turf/open/floor/iron/dark,
/area/station/medical/pharmacy)
-"mmv" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/turf/open/floor/iron/dark/side{
- dir = 4
- },
-/area/station/engineering/storage/tech)
-"mmy" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/maintenance/starboard/greater)
"mmE" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -37016,14 +37600,14 @@
/obj/structure/cable,
/turf/open/floor/wood/parquet,
/area/station/service/library)
-"mmR" = (
-/obj/structure/table/reinforced,
-/obj/effect/spawner/surgery_tray/full/morgue,
-/obj/effect/turf_decal/trimline/dark_blue/filled/line{
- dir = 6
+"mmP" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
},
-/turf/open/floor/iron/dark,
-/area/station/medical/morgue)
+/obj/structure/broken_flooring/pile/directional/east,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/aft)
"mmT" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -37066,17 +37650,24 @@
dir = 8
},
/area/station/security/office)
+"mnf" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 1
+ },
+/obj/item/radio/intercom/directional/south,
+/turf/open/floor/iron/white,
+/area/station/medical/medbay/central)
"mni" = (
/obj/effect/turf_decal/tile/red{
dir = 8
},
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
-"mnj" = (
-/obj/effect/spawner/structure/window/reinforced/tinted,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/command/corporate_dock)
"mnl" = (
/obj/structure/table,
/obj/item/circuitboard/machine/coffeemaker/impressa,
@@ -37085,6 +37676,13 @@
},
/turf/open/floor/iron/dark/small,
/area/station/maintenance/central/lesser)
+"mny" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
+/turf/open/floor/iron/dark/small,
+/area/station/tcommsat/server)
"mnC" = (
/obj/structure/table,
/obj/item/phone{
@@ -37103,13 +37701,6 @@
/obj/effect/landmark/start/hangover,
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
-"mnN" = (
-/obj/structure/bookcase/random,
-/obj/effect/turf_decal/siding/thinplating_new/terracotta{
- dir = 10
- },
-/turf/open/floor/iron/dark/smooth_large,
-/area/station/command/meeting_room)
"mnU" = (
/obj/structure/hedge,
/obj/structure/disposalpipe/segment{
@@ -37191,6 +37782,18 @@
},
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
+"moI" = (
+/obj/structure/table/glass,
+/obj/effect/decal/cleanable/dirt,
+/obj/item/folder/blue,
+/obj/item/stamp/law,
+/obj/effect/landmark/event_spawn,
+/obj/item/clothing/glasses/sunglasses{
+ pixel_y = 15
+ },
+/obj/structure/cable,
+/turf/open/floor/wood/tile,
+/area/station/service/lawoffice)
"moN" = (
/obj/effect/turf_decal/tile/brown/opposingcorners,
/obj/machinery/atmospherics/components/binary/volume_pump,
@@ -37199,6 +37802,12 @@
},
/turf/open/floor/iron/small,
/area/station/engineering/atmos/office)
+"mpd" = (
+/obj/structure/table,
+/obj/effect/turf_decal/tile/blue/fourcorners,
+/obj/item/book/manual/wiki/security_space_law,
+/turf/open/floor/iron,
+/area/station/security/courtroom)
"mpk" = (
/obj/machinery/airalarm/directional/south,
/turf/open/floor/circuit/green,
@@ -37210,27 +37819,21 @@
/obj/machinery/light/small/directional/south,
/turf/open/floor/carpet/lone,
/area/station/service/abandoned_gambling_den)
+"mpw" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/effect/turf_decal/siding/wood{
+ dir = 5
+ },
+/turf/open/floor/wood/tile,
+/area/station/service/bar)
"mpy" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 1
},
/turf/open/floor/wood/parquet,
/area/station/medical/psychology)
-"mpE" = (
-/obj/structure/cable,
-/turf/open/floor/iron/white/small,
-/area/station/science/cubicle)
-"mpJ" = (
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/iron/dark/textured_half,
-/area/station/command/bridge)
-"mpK" = (
-/obj/effect/turf_decal/tile/dark_red/half/contrasted{
- dir = 1
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/turf/open/floor/iron/smooth,
-/area/station/security/checkpoint/customs)
"mpL" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/table,
@@ -37262,18 +37865,6 @@
/obj/machinery/light/small/directional/west,
/turf/open/floor/iron/small,
/area/station/security/brig)
-"mpU" = (
-/obj/structure/table/wood,
-/obj/effect/turf_decal/siding/wood{
- dir = 4
- },
-/obj/item/storage/box/matches{
- pixel_x = -1;
- pixel_y = -4
- },
-/obj/machinery/light/small/directional/north,
-/turf/open/floor/wood/large,
-/area/station/maintenance/department/science/xenobiology)
"mql" = (
/obj/effect/turf_decal/siding/wideplating/dark{
dir = 1
@@ -37282,6 +37873,14 @@
/obj/item/kirbyplants/random/fullysynthetic,
/turf/open/floor/iron,
/area/station/commons/dorms)
+"mqm" = (
+/obj/structure/rack,
+/obj/effect/spawner/random/techstorage/arcade_boards,
+/obj/effect/turf_decal/tile/green/opposingcorners,
+/obj/effect/turf_decal/bot,
+/obj/machinery/firealarm/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/engineering/storage/tech)
"mqn" = (
/obj/effect/turf_decal/stripes/corner{
dir = 8
@@ -37296,14 +37895,6 @@
/obj/effect/landmark/generic_maintenance_landmark,
/turf/open/floor/catwalk_floor/iron_smooth,
/area/station/maintenance/port/aft)
-"mqO" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/item/radio/intercom/directional/west,
-/obj/structure/table,
-/obj/item/wrench,
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/hallway/secondary/construction)
"mrc" = (
/obj/effect/landmark/atmospheric_sanity/ignore_area,
/obj/effect/decal/cleanable/dirt,
@@ -37317,15 +37908,11 @@
},
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
-"mrs" = (
-/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms,
-/obj/machinery/door/airlock/command/glass{
- name = "Telecommunications Server Room"
- },
+"mrj" = (
/obj/structure/cable,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/catwalk_floor/iron_dark,
-/area/station/tcommsat/server)
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/station/maintenance/central/lesser)
"mrt" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/light/small/directional/north,
@@ -37368,15 +37955,20 @@
/obj/structure/cable,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
+"msA" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/side{
+ dir = 1
+ },
+/area/station/science/xenobiology)
"msJ" = (
/turf/open/floor/iron,
/area/station/hallway/secondary/dock)
-"mta" = (
-/obj/structure/dresser,
-/obj/structure/sign/poster/contraband/random/directional/east,
-/obj/effect/turf_decal/siding/wood,
-/turf/open/floor/wood,
-/area/station/command/heads_quarters/qm)
"mtc" = (
/obj/structure/table/wood,
/obj/effect/decal/cleanable/dirt,
@@ -37386,6 +37978,14 @@
},
/turf/open/floor/wood/tile,
/area/station/maintenance/central/lesser)
+"mts" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/chair/plastic{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/commons/fitness/locker_room)
"mtP" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -37394,28 +37994,6 @@
/obj/machinery/power/apc/auto_name/directional/east,
/turf/open/floor/iron,
/area/station/security/prison)
-"mud" = (
-/obj/machinery/door/airlock{
- name = "Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 8
- },
-/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
-/obj/effect/mapping_helpers/airlock/unres{
- dir = 4
- },
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/greater)
-"mus" = (
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
"mut" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -37438,10 +38016,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
-"muB" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/closed/wall/r_wall,
-/area/station/science/ordnance)
"muI" = (
/obj/machinery/door/airlock{
name = "Maintenance"
@@ -37454,6 +38028,16 @@
},
/turf/open/floor/iron,
/area/station/maintenance/port/aft)
+"muK" = (
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/obj/machinery/light/cold/directional/north,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/science/lower)
"muM" = (
/obj/machinery/door/firedoor,
/obj/structure/cable,
@@ -37463,16 +38047,6 @@
"muS" = (
/turf/open/floor/iron/dark,
/area/station/security/prison/workout)
-"mvd" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/central/lesser)
"mvh" = (
/obj/structure/window/reinforced/spawner/directional/west,
/obj/machinery/holopad,
@@ -37490,14 +38064,25 @@
},
/turf/open/floor/iron,
/area/station/security/brig/entrance)
-"mvC" = (
-/turf/open/floor/wood,
-/area/station/hallway/secondary/entry)
+"mvM" = (
+/obj/structure/window/reinforced/spawner/directional/north,
+/obj/machinery/door/window/right/directional/east{
+ name = "Corpse Arrivals"
+ },
+/turf/open/floor/plating,
+/area/station/medical/morgue)
"mvP" = (
/obj/machinery/smartfridge/organ,
/obj/effect/turf_decal/tile/blue/fourcorners,
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
+"mvQ" = (
+/obj/structure/window/reinforced/spawner/directional/north,
+/obj/effect/turf_decal/siding/dark,
+/turf/open/floor/iron/dark/textured_half{
+ dir = 1
+ },
+/area/station/command/bridge)
"mvT" = (
/obj/structure/hedge,
/obj/effect/turf_decal/tile/blue{
@@ -37522,13 +38107,6 @@
/obj/structure/table,
/turf/open/floor/iron,
/area/station/security/prison/workout)
-"mwu" = (
-/obj/machinery/light/cold/directional/east,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
"mwx" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/blood/old,
@@ -37545,14 +38123,13 @@
/obj/effect/turf_decal/trimline/neutral/end,
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
-"mwJ" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/table,
-/obj/item/stack/cable_coil,
-/obj/item/multitool,
-/obj/effect/decal/cleanable/cobweb/cobweb2,
-/obj/machinery/light/small/directional/east,
-/turf/open/floor/engine/bz,
+"mwA" = (
+/obj/effect/turf_decal/siding/white{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/small,
/area/station/science/xenobiology)
"mwN" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -37599,19 +38176,17 @@
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/station/engineering/atmos)
+"mxA" = (
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/aft)
"mxM" = (
/obj/structure/barricade/wooden/crude,
/turf/open/floor/noslip,
/area/station/maintenance/port/aft)
-"mxP" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/airalarm/directional/east,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/aft)
"mxS" = (
/obj/item/kirbyplants/random,
/obj/machinery/camera/autoname/directional/west,
@@ -37647,13 +38222,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/commons/dorms)
-"myp" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side,
-/area/station/science/research)
"myt" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/obj/item/kirbyplants/random/fullysynthetic,
@@ -37695,6 +38263,20 @@
/obj/item/clothing/mask/breath,
/turf/open/floor/plating,
/area/station/command/teleporter)
+"myW" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/door/airlock{
+ name = "Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "sci-entrance"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/general,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/aft)
"mze" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -37710,14 +38292,6 @@
/obj/item/radio/intercom/directional/north,
/turf/open/floor/iron/white/small,
/area/station/science/server)
-"mzl" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/turf_decal/siding/purple{
- dir = 8
- },
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/science/genetics)
"mzo" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/structure/table,
@@ -37747,24 +38321,42 @@
"mzM" = (
/turf/open/floor/iron/stairs,
/area/station/hallway/primary/central/fore)
+"mzT" = (
+/obj/machinery/door/airlock/research/glass{
+ name = "Robotics Lab"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/robotics,
+/obj/machinery/door/firedoor,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/catwalk_floor/iron_white,
+/area/station/science/robotics/mechbay)
"mAi" = (
/obj/structure/closet/crate/trashcart/filled,
/obj/effect/spawner/random/maintenance,
/obj/effect/decal/cleanable/cobweb/cobweb2,
/turf/open/floor/iron,
/area/station/maintenance/fore/greater)
-"mAs" = (
+"mAk" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/turf_decal/trimline/neutral/line{
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/corner{
dir = 1
},
-/obj/effect/turf_decal/trimline/neutral/line,
+/area/station/hallway/secondary/dock)
+"mAn" = (
/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
+/obj/machinery/power/apc/auto_name/directional/south,
+/turf/open/floor/iron/white/small,
+/area/station/commons/toilet/restrooms)
"mAv" = (
/obj/structure/window/reinforced/spawner/directional/west,
/obj/structure/window/reinforced/spawner/directional/south,
@@ -37772,15 +38364,16 @@
/obj/machinery/light/small/directional/east,
/turf/open/misc/sandy_dirt,
/area/station/hallway/primary/central/fore)
+"mAC" = (
+/obj/machinery/firealarm/directional/west,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/corner,
+/area/station/science/lobby)
"mAL" = (
/obj/structure/window/reinforced/spawner/directional/north,
/turf/open/floor/iron,
/area/station/security/checkpoint/escape)
-"mAP" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/maintenance/starboard/greater)
"mAR" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -37792,6 +38385,19 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"mBl" = (
+/obj/machinery/door/airlock/command{
+ name = "Telecomms Server Room"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms,
+/obj/machinery/door/firedoor,
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "comms-entrance-south"
+ },
+/obj/structure/cable,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/station/tcommsat/server)
"mBo" = (
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt,
@@ -37799,6 +38405,13 @@
/obj/item/instrument/eguitar,
/turf/open/floor/iron,
/area/station/maintenance/department/medical/central)
+"mBY" = (
+/obj/machinery/firealarm/directional/west,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/turf/open/floor/iron/white,
+/area/station/science/auxlab/firing_range)
"mCf" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/door/airlock/external/glass{
@@ -37807,6 +38420,32 @@
/obj/effect/mapping_helpers/airlock/cyclelink_helper,
/turf/open/floor/plating,
/area/station/hallway/secondary/dock)
+"mCk" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/central)
+"mCl" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/hallway/primary/aft)
+"mCq" = (
+/obj/effect/turf_decal/stripes/corner,
+/obj/structure/cable,
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/storage/tech)
"mCt" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -37873,17 +38512,11 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
-"mDs" = (
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
+"mDt" = (
+/obj/machinery/firealarm/directional/east,
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/corner{
- dir = 1
- },
-/area/station/hallway/secondary/entry)
+/turf/open/floor/iron,
+/area/station/hallway/secondary/recreation)
"mDA" = (
/obj/structure/table/wood,
/obj/machinery/computer/libraryconsole{
@@ -37917,32 +38550,25 @@
/obj/effect/turf_decal/delivery,
/turf/open/floor/iron/half,
/area/station/hallway/primary/central/fore)
+"mDO" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/science/server)
"mDS" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
},
/turf/open/floor/engine,
/area/station/engineering/atmospherics_engine)
-"mDW" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/extinguisher_cabinet/directional/north,
+"mEg" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side,
-/area/station/science/lower)
-"mEn" = (
-/obj/machinery/door/airlock/public/glass{
- name = "Zoo"
- },
-/obj/machinery/door/firedoor,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/textured_half,
-/area/station/hallway/secondary/entry)
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/trimline/blue/warning,
+/turf/open/floor/iron/white,
+/area/station/medical/treatment_center)
"mEq" = (
/obj/structure/closet/crate/wooden{
name = "Alms Box"
@@ -37971,6 +38597,10 @@
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
+"mEF" = (
+/obj/machinery/airalarm/directional/south,
+/turf/open/floor/iron/showroomfloor,
+/area/station/commons/toilet/auxiliary)
"mEL" = (
/obj/structure/disposalpipe/trunk{
dir = 1
@@ -37991,6 +38621,16 @@
/obj/machinery/light/small/directional/east,
/turf/open/floor/iron/showroomfloor,
/area/station/security/prison/shower)
+"mFc" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 10
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/simple/dark/hidden,
+/turf/open/floor/wood/tile,
+/area/station/tcommsat/server)
"mFd" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/neutral{
@@ -38014,17 +38654,6 @@
},
/turf/open/floor/iron,
/area/station/security/execution/transfer)
-"mFt" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/door/airlock{
- name = "Cytology Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/research,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/fore)
"mFx" = (
/obj/effect/turf_decal/stripes/line{
dir = 10
@@ -38040,6 +38669,15 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
+"mFC" = (
+/obj/machinery/firealarm/directional/south,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/corner{
+ dir = 4
+ },
+/area/station/science/xenobiology)
"mFG" = (
/obj/machinery/telecomms/processor/preset_four,
/obj/effect/decal/cleanable/dirt,
@@ -38064,15 +38702,6 @@
},
/turf/open/floor/iron,
/area/station/cargo/office)
-"mFT" = (
-/obj/structure/window/reinforced/spawner/directional/north,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/structure/cable,
-/turf/open/floor/iron/dark/side,
-/area/station/science/xenobiology)
"mGg" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -38158,6 +38787,16 @@
/obj/structure/sink/directional/west,
/turf/open/floor/iron/white/small,
/area/station/medical/storage)
+"mGU" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/mapping_helpers/broken_floor,
+/obj/structure/broken_flooring/singular/directional/east,
+/obj/structure/steam_vent,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/aft)
"mGY" = (
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/iron/smooth,
@@ -38200,36 +38839,17 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos/project)
+"mHY" = (
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/aft)
"mIg" = (
/obj/machinery/light/small/directional/west,
/turf/open/floor/catwalk_floor/iron_dark,
/area/station/science/xenobiology)
-"mIh" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/mapping_helpers/broken_floor,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/fore)
-"mIi" = (
-/obj/structure/chair{
- dir = 4
- },
-/obj/effect/landmark/start/lawyer,
-/turf/open/floor/iron/dark/herringbone,
-/area/station/security/courtroom)
-"mIm" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/iron/white/corner{
- dir = 1
- },
-/area/station/science/lower)
"mIp" = (
/obj/effect/turf_decal/trimline/neutral/line{
dir = 8
@@ -38281,11 +38901,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/wood/tile,
/area/station/maintenance/central/lesser)
-"mIR" = (
-/obj/structure/chair/stool/directional/east,
-/obj/effect/landmark/start/hangover,
-/turf/open/floor/iron/herringbone,
-/area/station/commons/dorms)
"mIT" = (
/obj/effect/turf_decal/siding/red{
dir = 10
@@ -38296,15 +38911,12 @@
/obj/item/kirbyplants/random,
/turf/open/floor/iron/white/small,
/area/station/security/warden)
-"mIW" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/fore)
+"mIV" = (
+/obj/effect/turf_decal/stripes/corner,
+/obj/machinery/light/small/directional/south,
+/obj/item/kirbyplants/fern,
+/turf/open/floor/iron/white,
+/area/station/science/cytology)
"mJe" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -38331,31 +38943,27 @@
/obj/structure/chair/stool/directional/east,
/turf/open/floor/stone,
/area/station/maintenance/aft)
-"mJy" = (
-/obj/effect/turf_decal/tile/neutral{
+"mJt" = (
+/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+/obj/structure/sign/departments/telecomms/directional/south,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/dock)
+"mJx" = (
+/obj/structure/chair/wood{
dir = 4
},
-/turf/open/floor/iron/dark/corner{
- dir = 4
- },
-/area/station/science/xenobiology)
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/wood/large,
+/area/station/maintenance/department/science/xenobiology)
"mJB" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/turf/open/floor/iron,
/area/station/security/brig/entrance)
-"mJC" = (
-/obj/structure/bodycontainer/morgue/beeper_off{
- dir = 1
- },
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/medical/morgue)
"mJK" = (
/obj/effect/turf_decal/tile/yellow/opposingcorners,
/turf/open/floor/iron/dark,
@@ -38365,6 +38973,13 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
+"mJQ" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/spawner/random/structure/girder,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"mJS" = (
/obj/machinery/hydroponics/soil{
pixel_y = 8
@@ -38384,20 +38999,6 @@
/obj/machinery/light/cold/directional/south,
/turf/open/floor/iron,
/area/station/security/prison/workout)
-"mKe" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/yellow{
- dir = 8
- },
-/obj/structure/sign/departments/medbay/alt/directional/west,
-/turf/open/floor/iron/white/corner{
- dir = 1
- },
-/area/station/hallway/primary/aft)
"mKh" = (
/obj/machinery/light/small/directional/north,
/turf/open/floor/plating,
@@ -38421,13 +39022,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
-"mKR" = (
-/obj/effect/turf_decal/stripes/corner,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/iron/smooth,
-/area/station/cargo/warehouse)
"mKY" = (
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
@@ -38456,42 +39050,26 @@
},
/turf/open/floor/iron,
/area/station/security/processing)
+"mLx" = (
+/obj/structure/cable,
+/obj/effect/spawner/random/trash,
+/turf/open/floor/iron,
+/area/station/maintenance/port/aft)
"mLz" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/cargo/storage)
-"mLA" = (
+"mLE" = (
/obj/effect/decal/cleanable/dirt,
-/obj/structure/alien/weeds,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/maintenance/starboard/greater)
-"mLH" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
+/obj/effect/turf_decal/box/red/corners{
+ dir = 1
},
-/obj/machinery/light/cold/directional/east,
-/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
-/area/station/medical/coldroom)
-"mLM" = (
-/obj/effect/turf_decal/siding/wood{
+/obj/effect/turf_decal/stripes/white/line{
dir = 9
},
-/obj/structure/filingcabinet,
-/obj/machinery/atmospherics/pipe/smart/simple/dark/hidden{
- dir = 8
- },
-/turf/open/floor/iron/grimy,
-/area/station/tcommsat/server)
-"mLO" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 5
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/science/cytology)
+/turf/open/floor/engine,
+/area/station/science/xenobiology)
"mLZ" = (
/obj/effect/turf_decal/siding/wideplating{
dir = 4
@@ -38511,13 +39089,6 @@
/obj/effect/mapping_helpers/airlock/access/all/medical/general,
/turf/open/floor/iron/dark/small,
/area/station/medical/paramedic)
-"mMr" = (
-/obj/structure/chair/office{
- dir = 1
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron/grimy,
-/area/station/commons/vacant_room/office)
"mMt" = (
/obj/structure/cable,
/obj/structure/chair{
@@ -38541,6 +39112,15 @@
},
/turf/open/floor/iron,
/area/station/science/robotics/lab)
+"mMP" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/airlock{
+ name = "Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
+/obj/structure/cable,
+/turf/open/floor/iron/cafeteria,
+/area/station/maintenance/starboard/fore)
"mMY" = (
/obj/effect/turf_decal/tile/dark_red/half/contrasted{
dir = 1
@@ -38551,6 +39131,9 @@
},
/turf/open/floor/iron,
/area/station/security)
+"mNm" = (
+/turf/open/misc/dirt/station,
+/area/station/medical/morgue)
"mNu" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/effect/turf_decal/stripes/line,
@@ -38564,17 +39147,6 @@
/obj/machinery/airalarm/directional/south,
/turf/open/floor/iron/dark,
/area/station/science/robotics/lab)
-"mNv" = (
-/obj/machinery/door/airlock{
- name = "Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/unres{
- dir = 1
- },
-/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/aft)
"mNQ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/neutral{
@@ -38636,14 +39208,6 @@
/obj/effect/turf_decal/stripes/white/line,
/turf/open/floor/engine,
/area/station/science/xenobiology)
-"mOM" = (
-/obj/effect/mapping_helpers/broken_floor,
-/obj/structure/chair/stool/directional/north,
-/obj/effect/landmark/generic_maintenance_landmark,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/light/colour_cycle/dancefloor_b,
-/area/station/maintenance/starboard/central)
"mOV" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/neutral{
@@ -38653,6 +39217,15 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"mPg" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/turf/open/floor/catwalk_floor/iron_smooth,
+/area/station/hallway/secondary/command)
"mPq" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -38664,38 +39237,10 @@
},
/turf/open/floor/iron,
/area/station/security)
-"mPu" = (
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
"mPv" = (
/obj/item/kirbyplants/random/fullysynthetic,
/turf/open/floor/iron,
/area/station/maintenance/port/aft)
-"mPx" = (
-/obj/machinery/door/window/right/directional/south{
- name = "Jetpack Storage"
- },
-/obj/item/tank/jetpack/carbondioxide{
- pixel_x = -4;
- pixel_y = 1
- },
-/obj/item/tank/jetpack/carbondioxide,
-/obj/item/tank/jetpack/carbondioxide{
- pixel_x = 4;
- pixel_y = -1
- },
-/obj/structure/rack,
-/obj/effect/turf_decal/bot,
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/effect/turf_decal/siding/dark,
-/turf/open/floor/iron/dark/smooth_edge,
-/area/station/ai_monitored/command/storage/eva)
"mPB" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2,
/turf/open/floor/plating,
@@ -38705,6 +39250,44 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/smooth,
/area/station/command/bridge)
+"mPU" = (
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/chem_master,
+/obj/machinery/camera/autoname/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/medical/pharmacy)
+"mQg" = (
+/obj/machinery/door/airlock/highsecurity{
+ name = "Secure Tech Storage"
+ },
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/mapping_helpers/airlock/access/all/engineering/tech_storage,
+/obj/effect/mapping_helpers/airlock/access/all/command/eva,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/iron/smooth_half{
+ dir = 1
+ },
+/area/station/engineering/storage/tech)
+"mQt" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/computer/mecha{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/purple{
+ dir = 10
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/rd)
"mQz" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/structure/chair/office{
@@ -38712,11 +39295,6 @@
},
/turf/open/floor/iron/smooth,
/area/station/command/bridge)
-"mQD" = (
-/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/south,
-/turf/open/floor/iron/white/small,
-/area/station/commons/toilet/restrooms)
"mQF" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -38733,6 +39311,17 @@
dir = 8
},
/area/station/command/heads_quarters/hos)
+"mQI" = (
+/obj/structure/chair/sofa/bench/left{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/blue,
+/obj/effect/landmark/start/hangover,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/turf/open/floor/iron/dark/side,
+/area/station/hallway/primary/central/fore)
"mRl" = (
/turf/open/floor/engine/co2,
/area/station/engineering/atmos)
@@ -38741,15 +39330,12 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/iron/dark,
/area/station/cargo/storage)
-"mRK" = (
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/machinery/camera/autoname/directional/west,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
+"mRE" = (
+/obj/structure/dresser,
+/obj/structure/sign/poster/contraband/random/directional/east,
+/obj/effect/turf_decal/siding/wood,
+/turf/open/floor/wood,
+/area/station/command/heads_quarters/qm)
"mRQ" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -38759,6 +39345,26 @@
"mSa" = (
/turf/open/floor/iron,
/area/station/commons/fitness/locker_room)
+"mSb" = (
+/obj/machinery/door/airlock/centcom{
+ name = "Frozeno!"
+ },
+/obj/effect/mapping_helpers/airlock/abandoned,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/service/abandoned_gambling_den/gaming)
+"mSh" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 5
+ },
+/obj/item/kirbyplants/random{
+ pixel_y = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/dark/hidden{
+ dir = 8
+ },
+/turf/open/floor/iron/grimy,
+/area/station/tcommsat/server)
"mSl" = (
/obj/effect/turf_decal/siding/wideplating,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
@@ -38766,6 +39372,16 @@
},
/turf/open/floor/wood,
/area/station/engineering/atmos/storage)
+"mSr" = (
+/obj/machinery/door/airlock/command{
+ name = "Research Division Server Room"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/rd,
+/obj/machinery/door/firedoor,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/catwalk_floor/iron_white,
+/area/station/science/server)
"mSA" = (
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt,
@@ -38788,16 +39404,6 @@
/obj/structure/extinguisher_cabinet/directional/west,
/turf/open/floor/grass,
/area/station/service/chapel)
-"mTc" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/fore)
"mTd" = (
/obj/structure/closet/crate{
name = "Starups Clothing Crate"
@@ -38837,6 +39443,10 @@
"mTB" = (
/turf/closed/wall,
/area/station/command/gateway)
+"mTM" = (
+/obj/structure/cable,
+/turf/open/floor/circuit,
+/area/station/tcommsat/server)
"mTN" = (
/obj/structure/chair/stool/directional/south,
/obj/structure/mirror/directional/north,
@@ -38899,35 +39509,19 @@
},
/turf/open/floor/wood/parquet,
/area/station/service/library)
-"mUn" = (
-/obj/machinery/door/airlock{
- name = "Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/alien/weeds,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/greater)
"mUO" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/science/server)
-"mUQ" = (
-/obj/machinery/firealarm/directional/west,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
-"mUX" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/stairs/left{
- dir = 1
+"mUT" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/door/poddoor/preopen{
+ id = "rdoffice";
+ name = "Research Director's Shutters"
},
-/area/station/maintenance/hallway/abandoned_command)
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/command/heads_quarters/rd)
"mUY" = (
/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
dir = 4
@@ -38935,19 +39529,6 @@
/obj/structure/railing/corner,
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"mVc" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/machinery/door/firedoor,
-/obj/effect/turf_decal/stripes/red/line{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/red/line{
- dir = 8
- },
-/turf/open/floor/iron/small,
-/area/station/hallway/primary/central/aft)
"mVm" = (
/obj/effect/turf_decal/tile/green/anticorner/contrasted{
dir = 1
@@ -38966,10 +39547,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/dark/small,
/area/station/ai_monitored/security/armory)
-"mVy" = (
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/maintenance/starboard/greater)
"mVC" = (
/obj/machinery/door/airlock/external{
name = "Departure Lounge Airlock"
@@ -39000,14 +39577,56 @@
dir = 4
},
/area/station/medical/medbay/central)
+"mVV" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
+ dir = 5
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/iron/dark,
+/area/station/medical/cryo)
+"mWb" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/blue{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/iron/dark/side{
+ dir = 1
+ },
+/area/station/hallway/primary/central/fore)
+"mWc" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/science/lower)
+"mWm" = (
+/obj/structure/flora/bush/flowers_pp/style_random,
+/obj/machinery/light/small/directional/west,
+/turf/open/floor/grass,
+/area/station/science/xenobiology)
+"mWt" = (
+/obj/structure/table/reinforced,
+/obj/item/trash/cheesie{
+ pixel_x = 2;
+ pixel_y = 8
+ },
+/obj/machinery/light/small/directional/south,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"mWB" = (
/turf/open/floor/plating,
/area/station/engineering/supermatter/room)
"mWE" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/lesser)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
+/turf/open/floor/iron/dark/small,
+/area/station/tcommsat/server)
"mWF" = (
/obj/machinery/status_display/evac/directional/north,
/obj/structure/disposalpipe/segment{
@@ -39018,6 +39637,14 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
+"mWN" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/engineering/storage/tcomms)
"mWT" = (
/obj/effect/turf_decal/siding/thinplating_new/light{
dir = 8
@@ -39038,6 +39665,16 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"mWV" = (
+/obj/effect/mapping_helpers/mail_sorting/science/research,
+/obj/structure/disposalpipe/sorting/mail/flip{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side{
+ dir = 10
+ },
+/area/station/science/research)
"mWY" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/obj/structure/chair/sofa/bench/left{
@@ -39054,10 +39691,14 @@
/turf/open/floor/grass,
/area/station/service/chapel)
"mXk" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/junction/flip,
-/turf/open/floor/iron/smooth,
-/area/station/hallway/secondary/command)
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/broken_flooring/singular/directional/east,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/aft)
"mXt" = (
/obj/machinery/rnd/production/techfab/department/medical,
/obj/effect/turf_decal/stripes/box,
@@ -39091,14 +39732,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"mYd" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/central)
"mYj" = (
/obj/effect/turf_decal/tile/dark_red/half/contrasted{
dir = 1
@@ -39113,13 +39746,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/iron/smooth_large,
/area/station/science/robotics/mechbay)
-"mYp" = (
-/obj/machinery/suit_storage_unit/standard_unit,
-/obj/effect/turf_decal/delivery,
-/obj/structure/sign/poster/official/random/directional/west,
-/obj/machinery/firealarm/directional/north,
-/turf/open/floor/iron/dark/smooth_large,
-/area/station/ai_monitored/command/storage/eva)
"mYq" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -39186,18 +39812,12 @@
dir = 1
},
/area/station/security/execution/education)
-"mZd" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+"mZu" = (
+/obj/structure/window/spawner/directional/south,
+/obj/structure/window/spawner/directional/north,
/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/greater)
"mZA" = (
/obj/effect/mapping_helpers/airlock/abandoned,
/obj/machinery/door/airlock/public/glass{
@@ -39206,6 +39826,14 @@
/obj/structure/alien/weeds,
/turf/open/floor/wood,
/area/station/maintenance/starboard/greater)
+"mZX" = (
+/obj/structure/chair{
+ dir = 4;
+ pixel_y = -2
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/cafeteria,
+/area/station/science/breakroom)
"mZZ" = (
/obj/structure/table/glass,
/obj/effect/turf_decal/trimline/blue/filled/line{
@@ -39214,14 +39842,6 @@
/obj/item/radio/intercom/directional/south,
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
-"naa" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/heat_exchanging/junction{
- dir = 8
- },
-/turf/open/floor/plating,
-/area/station/tcommsat/server)
"nah" = (
/obj/item/kirbyplants/random,
/obj/machinery/airalarm/directional/north,
@@ -39234,6 +39854,11 @@
"naB" = (
/turf/closed/wall/rust,
/area/station/cargo/lobby)
+"naE" = (
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/lesser)
"naF" = (
/turf/open/floor/iron/dark/smooth_corner{
dir = 1
@@ -39264,18 +39889,17 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/commons/toilet/auxiliary)
-"nbv" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
+"naU" = (
+/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/iron/dark/diagonal,
-/area/station/ai_monitored/command/storage/eva)
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/siding/white{
+ dir = 1
+ },
+/obj/machinery/light/floor,
+/turf/open/floor/noslip,
+/area/station/medical/medbay/central)
"nbF" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/light/small/directional/west,
@@ -39294,13 +39918,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"ncb" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/table/wood,
-/obj/structure/alien/resin/membrane,
-/obj/structure/alien/weeds,
-/turf/open/floor/wood,
-/area/station/maintenance/starboard/greater)
"ncf" = (
/obj/machinery/recycler{
dir = 8
@@ -39329,15 +39946,11 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/checker,
/area/station/security/breakroom)
-"ncr" = (
-/obj/structure/chair/office{
- dir = 8
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark/start/lawyer,
-/obj/structure/cable,
-/turf/open/floor/wood/tile,
-/area/station/service/lawoffice)
+"ncA" = (
+/obj/machinery/portable_atmospherics/pump,
+/obj/machinery/atmospherics/pipe/smart/simple/dark/visible,
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance)
"ncD" = (
/obj/structure/lattice,
/obj/structure/disposalpipe/segment{
@@ -39345,13 +39958,6 @@
},
/turf/open/space/basic,
/area/space/nearstation)
-"ncH" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/catwalk_floor/iron_dark,
-/area/station/science/xenobiology)
"ncL" = (
/obj/structure/cable,
/obj/effect/turf_decal/trimline/neutral/line{
@@ -39360,11 +39966,6 @@
/obj/effect/turf_decal/trimline/neutral/line,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"ncQ" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/obj/machinery/airalarm/directional/north,
-/turf/open/floor/iron,
-/area/station/engineering/storage/tech)
"nde" = (
/obj/structure/cable,
/turf/open/floor/iron/dark/smooth_large,
@@ -39380,6 +39981,14 @@
},
/turf/open/floor/tram,
/area/station/maintenance/department/medical/central)
+"ndB" = (
+/obj/machinery/airalarm/directional/south,
+/obj/item/kirbyplants/organic/applebush,
+/obj/effect/turf_decal/siding/thinplating_new/terracotta/corner{
+ dir = 1
+ },
+/turf/open/floor/wood/tile,
+/area/station/command/corporate_showroom)
"ndJ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/stripes/line{
@@ -39413,18 +40022,42 @@
},
/turf/open/floor/iron/dark/small,
/area/station/maintenance/department/engine/atmos)
-"nei" = (
-/obj/effect/turf_decal/tile/green/opposingcorners{
- dir = 1
+"nem" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 8
},
-/turf/open/floor/iron/dark,
-/area/station/medical/chemistry)
+/obj/machinery/firealarm/directional/north,
+/turf/open/floor/iron/smooth,
+/area/station/maintenance/solars/starboard/aft)
+"nes" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/iron/white,
+/area/station/medical/medbay/lobby)
"neF" = (
/obj/effect/turf_decal/siding/wood{
dir = 9
},
/turf/open/floor/wood,
/area/station/service/chapel)
+"neH" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/door/window/right/directional/east{
+ name = "Research Delivery";
+ req_access = list("science")
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/white/side{
+ dir = 6
+ },
+/area/station/science/research)
"nfg" = (
/obj/machinery/holopad,
/obj/effect/turf_decal/siding/thinplating{
@@ -39444,12 +40077,6 @@
},
/turf/open/floor/wood,
/area/station/engineering/atmos/office)
-"nfv" = (
-/obj/effect/turf_decal/trimline/dark/line{
- dir = 8
- },
-/turf/open/floor/iron/dark/small,
-/area/station/maintenance/department/science/xenobiology)
"nfG" = (
/obj/effect/turf_decal/tile/dark_red/half/contrasted{
dir = 1
@@ -39466,25 +40093,31 @@
},
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
+"ngy" = (
+/obj/machinery/door/airlock/research/glass{
+ name = "Genetics"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/genetics,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/turf/open/floor/catwalk_floor/iron_white,
+/area/station/science/research)
"ngL" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/security/prison)
+"nha" = (
+/obj/machinery/light/floor,
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"nhk" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 1
},
/turf/open/floor/wood,
/area/station/command/heads_quarters/qm)
-"nhl" = (
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/aft)
"nhu" = (
/obj/structure/table,
/obj/effect/spawner/random/engineering/flashlight,
@@ -39508,18 +40141,10 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/wood,
/area/station/maintenance/starboard/greater)
-"nhC" = (
-/obj/machinery/door/window/brigdoor/left/directional/north{
- name = "Creature Pen";
- req_access = list("research")
- },
-/obj/machinery/door/window/brigdoor/left/directional/south{
- name = "Creature Pen";
- req_access = list("research")
- },
-/obj/structure/cable,
-/turf/open/floor/catwalk_floor/iron,
-/area/station/science/xenobiology)
+"nhQ" = (
+/obj/machinery/light/cold/directional/east,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"nhU" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -39541,14 +40166,6 @@
/obj/structure/sign/poster/official/random/directional/north,
/turf/open/floor/iron/white/small,
/area/station/service/hydroponics)
-"nhZ" = (
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
"nib" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -39566,54 +40183,21 @@
/obj/machinery/vending/wardrobe/chem_wardrobe,
/turf/open/floor/iron,
/area/station/medical/chemistry)
-"niw" = (
-/obj/effect/turf_decal/tile/blue,
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/obj/machinery/button/door/directional/east{
- name = "E.V.A Shutters";
- req_access = list("command");
- id = "evashutter"
- },
-/turf/open/floor/iron/dark/side{
- dir = 4
- },
-/area/station/hallway/primary/fore)
-"niF" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/iron/white/side{
- dir = 8
- },
-/area/station/science/lower)
"niR" = (
/obj/structure/chair,
/obj/machinery/light/small/directional/north,
/turf/open/floor/iron/dark/smooth_large,
/area/station/security/execution/education)
-"niT" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/spawner/structure/window/reinforced,
-/obj/machinery/door/poddoor/preopen{
- id = "bridge blast";
- name = "Bridge Blast Door"
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/command/meeting_room)
"niW" = (
/obj/effect/turf_decal/siding/wideplating/dark{
dir = 6
},
/turf/open/floor/iron/small,
/area/station/service/barber)
+"niZ" = (
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/maintenance/aft)
"nje" = (
/obj/structure/railing{
dir = 1
@@ -39629,11 +40213,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/lobby)
-"njh" = (
-/obj/structure/broken_flooring/singular/directional/east,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/aft)
"njs" = (
/obj/structure/chair/comfy/black{
dir = 1
@@ -39656,13 +40235,6 @@
},
/turf/open/floor/iron/smooth,
/area/station/security/checkpoint/supply)
-"njA" = (
-/obj/machinery/photocopier,
-/obj/structure/sign/poster/official/random/directional/north,
-/obj/machinery/camera/autoname/directional/north,
-/obj/machinery/airalarm/directional/east,
-/turf/open/floor/wood/tile,
-/area/station/command/heads_quarters/hop)
"njL" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/mapping_helpers/broken_floor,
@@ -39746,6 +40318,16 @@
"nla" = (
/turf/closed/wall,
/area/station/commons/storage/art)
+"nlb" = (
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/item/kirbyplants/random,
+/obj/structure/extinguisher_cabinet/directional/south,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/dock)
"nle" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/mapping_helpers/broken_floor,
@@ -39757,6 +40339,15 @@
/obj/machinery/vending/wardrobe/sec_wardrobe,
/turf/open/floor/iron/dark,
/area/station/security/lockers)
+"nlh" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/turf/open/floor/wood/tile,
+/area/station/service/bar)
"nlj" = (
/obj/structure/cable,
/obj/effect/turf_decal/stripes/line,
@@ -39784,6 +40375,13 @@
dir = 4
},
/area/station/science/xenobiology)
+"nlM" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/table,
+/obj/item/screwdriver,
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/hallway/secondary/construction)
"nlQ" = (
/obj/machinery/holopad,
/obj/effect/turf_decal/siding/thinplating{
@@ -39805,6 +40403,13 @@
},
/turf/open/misc/sandy_dirt,
/area/station/security/tram)
+"nlX" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/dark/diagonal,
+/area/station/ai_monitored/command/storage/eva)
"nlZ" = (
/turf/closed/wall/r_wall,
/area/station/engineering/lobby)
@@ -39820,16 +40425,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/small,
/area/station/engineering/break_room)
-"nmq" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 6
- },
-/obj/machinery/door/poddoor/shutters{
- dir = 1;
- id = "aibridge"
- },
-/turf/open/floor/plating,
-/area/station/maintenance/department/engine)
"nmC" = (
/obj/structure/table,
/obj/item/storage/bag/tray,
@@ -39853,6 +40448,13 @@
/obj/effect/turf_decal/siding/wideplating,
/turf/open/floor/wood,
/area/station/engineering/main)
+"nmN" = (
+/obj/effect/turf_decal/stripes/corner,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/iron/smooth,
+/area/station/cargo/warehouse)
"nmV" = (
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt,
@@ -39866,13 +40468,15 @@
/obj/structure/cable,
/turf/open/floor/mineral/titanium,
/area/station/command/heads_quarters/ce)
-"nmZ" = (
-/obj/structure/cable,
+"nnc" = (
+/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/iron/dark/diagonal,
-/area/station/ai_monitored/command/storage/eva)
+/obj/structure/cable,
+/turf/open/floor/iron/white/side{
+ dir = 9
+ },
+/area/station/science/lower)
"nnd" = (
/obj/effect/turf_decal/tile/dark_red/half/contrasted{
dir = 1
@@ -39903,13 +40507,14 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/smooth_large,
/area/station/engineering/break_room)
-"noe" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable,
-/turf/open/floor/iron/dark/side{
- dir = 8
+"nog" = (
+/obj/item/radio/intercom/directional/north,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
},
-/area/station/science/lab)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
"noq" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/smooth,
@@ -39919,19 +40524,6 @@
/obj/structure/bed/maint,
/turf/open/floor/eighties,
/area/station/service/abandoned_gambling_den/gaming)
-"noz" = (
-/obj/effect/turf_decal/tile/blue,
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/landmark/navigate_destination/eva,
-/turf/open/floor/iron/dark/side{
- dir = 4
- },
-/area/station/hallway/primary/fore)
"noB" = (
/obj/structure/table/reinforced/rglass,
/obj/machinery/door/window/left/directional/east{
@@ -39963,18 +40555,6 @@
},
/turf/open/floor/iron/dark/smooth_large,
/area/station/command/meeting_room)
-"noJ" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/turf/open/floor/iron,
-/area/station/construction/mining/aux_base)
-"noN" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/mapping_helpers/broken_floor,
-/obj/structure/steam_vent,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/fore)
"noS" = (
/obj/structure/bed,
/obj/item/bedsheet/red,
@@ -40013,13 +40593,6 @@
},
/turf/open/floor/wood/tile,
/area/station/service/bar)
-"npM" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/light/small/directional/south,
-/obj/machinery/firealarm/directional/south,
-/turf/open/floor/wood/large,
-/area/station/command/heads_quarters/captain/private)
"npV" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -40052,13 +40625,6 @@
},
/turf/open/floor/engine,
/area/station/maintenance/disposal/incinerator)
-"nqG" = (
-/obj/effect/turf_decal/trimline/neutral/warning{
- dir = 5
- },
-/obj/structure/cable,
-/turf/open/floor/iron/dark/small,
-/area/station/medical/morgue)
"nqJ" = (
/obj/structure/sink/directional/south,
/obj/effect/turf_decal/siding/wood,
@@ -40103,6 +40669,14 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/iron,
/area/station/engineering/main)
+"nrb" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/turf/open/floor/wood/parquet,
+/area/station/medical/psychology)
"nrg" = (
/obj/effect/turf_decal/siding/thinplating_new/light{
dir = 1
@@ -40126,10 +40700,10 @@
},
/turf/open/floor/wood,
/area/station/service/chapel)
-"nrD" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+"nrK" = (
+/obj/machinery/light_switch/directional/east,
/turf/open/floor/iron,
-/area/station/construction/mining/aux_base)
+/area/station/commons/fitness/locker_room)
"nsc" = (
/obj/structure/cable,
/obj/item/kirbyplants/organic/applebush,
@@ -40145,11 +40719,6 @@
/obj/item/target/alien,
/turf/open/floor/plating,
/area/station/science/auxlab/firing_range)
-"nsi" = (
-/obj/machinery/vending/boozeomat,
-/obj/machinery/status_display/evac/directional/south,
-/turf/open/floor/wood/large,
-/area/station/command/heads_quarters/captain/private)
"nsr" = (
/obj/effect/turf_decal/siding/red{
dir = 6
@@ -40164,15 +40733,6 @@
},
/turf/open/floor/iron/small,
/area/station/security/brig)
-"nsz" = (
-/obj/effect/spawner/random/vending/snackvend,
-/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/south,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/turf/open/floor/iron/white/side,
-/area/station/hallway/primary/central/aft)
"nsD" = (
/obj/effect/turf_decal/trimline/neutral/line,
/obj/effect/turf_decal/trimline/neutral/line{
@@ -40197,6 +40757,23 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
+"nsP" = (
+/mob/living/carbon/human/species/monkey{
+ name = "George"
+ },
+/obj/structure/cable,
+/turf/open/floor/grass,
+/area/station/science/xenobiology)
+"nsV" = (
+/obj/machinery/door/airlock/public/glass{
+ name = "Dorms"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/textured_half,
+/area/station/commons/dorms)
"nsW" = (
/obj/item/kirbyplants/random,
/turf/open/floor/iron,
@@ -40246,6 +40823,13 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
+"ntJ" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark,
+/area/station/engineering/storage/tcomms)
"ntK" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -40263,14 +40847,10 @@
/obj/machinery/camera/autoname/directional/west,
/turf/open/floor/wood/parquet,
/area/station/service/library)
-"ntW" = (
-/obj/structure/table/optable{
- desc = "A cold, hard place for your final rest.";
- name = "Morgue Slab"
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner,
-/turf/open/floor/iron/dark,
-/area/station/medical/morgue)
+"ntQ" = (
+/obj/machinery/keycard_auth/wall_mounted/directional/south,
+/turf/open/floor/mineral/titanium,
+/area/station/command/heads_quarters/ce)
"ntZ" = (
/obj/machinery/door/airlock/public/glass{
name = "Recreation"
@@ -40278,17 +40858,6 @@
/obj/machinery/door/firedoor,
/turf/open/floor/iron/textured_half,
/area/station/commons/fitness/recreation/entertainment)
-"nun" = (
-/obj/structure/flora/bush/flowers_br/style_random{
- pixel_x = -3;
- pixel_y = 4
- },
-/obj/effect/light_emitter/fake_outdoors,
-/obj/effect/turf_decal/siding/wood{
- dir = 6
- },
-/turf/open/floor/grass/Airless,
-/area/station/hallway/primary/central/aft)
"nuo" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/effect/decal/cleanable/dirt,
@@ -40307,12 +40876,6 @@
},
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/rd)
-"nuC" = (
-/obj/effect/turf_decal/siding,
-/obj/machinery/light/small/directional/south,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/small,
-/area/station/science/lab)
"nuL" = (
/obj/structure/disposalpipe/segment{
dir = 6
@@ -40322,12 +40885,6 @@
/obj/structure/cable,
/turf/open/floor/iron/herringbone,
/area/station/commons/dorms)
-"nuO" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/blue,
-/turf/open/floor/iron/white,
-/area/station/medical/medbay/aft)
"nuS" = (
/obj/effect/mapping_helpers/broken_floor,
/obj/effect/decal/cleanable/dirt,
@@ -40363,32 +40920,24 @@
/obj/structure/alien/weeds/node,
/turf/open/floor/plating,
/area/station/maintenance/starboard/greater)
-"nvB" = (
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/recreation)
"nvE" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"nvK" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/red{
- dir = 4
- },
-/obj/machinery/camera/autoname/directional/north,
-/turf/open/floor/iron/white/corner{
- dir = 1
- },
-/area/station/hallway/secondary/exit/departure_lounge)
"nvL" = (
/mob/living/simple_animal/hostile/ooze/gelatinous{
name = "Cubie"
},
/turf/open/floor/iron/recharge_floor,
/area/station/maintenance/port/aft)
+"nvU" = (
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/aft)
"nwb" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -40401,6 +40950,26 @@
},
/turf/open/floor/iron,
/area/station/cargo/office)
+"nwc" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/door/airlock/research{
+ name = "Research Division Access"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "sci-entrance"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/general,
+/obj/machinery/door/firedoor,
+/obj/effect/mapping_helpers/airlock/unres{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/textured_half{
+ dir = 1
+ },
+/area/station/science/research)
"nwf" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/firealarm/directional/west,
@@ -40414,13 +40983,6 @@
dir = 1
},
/area/station/hallway/secondary/dock)
-"nwk" = (
-/obj/effect/spawner/random/trash/bin,
-/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
- dir = 9
- },
-/turf/open/floor/iron/white/small,
-/area/station/science/ordnance/storage)
"nwK" = (
/obj/machinery/door/airlock/atmos/glass{
name = "HFR Chamber"
@@ -40440,23 +41002,23 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
-"nxp" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/corner,
-/area/station/science/lower)
-"nxy" = (
-/obj/machinery/atmospherics/pipe/smart/manifold/dark/hidden{
- dir = 1
+"nxn" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
},
-/turf/open/floor/circuit,
-/area/station/tcommsat/server)
-"nxD" = (
-/obj/effect/landmark/blobstart,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/science/cytology)
+"nxw" = (
+/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/small,
-/area/station/medical/morgue)
+/obj/structure/disposalpipe/junction{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue,
+/turf/open/floor/iron/white,
+/area/station/medical/medbay/central)
"nxI" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/neutral{
@@ -40475,15 +41037,13 @@
/obj/machinery/keycard_auth/wall_mounted/directional/south,
/turf/open/floor/wood,
/area/station/command/heads_quarters/qm)
-"nyd" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
+"nye" = (
+/obj/machinery/atmospherics/components/unary/passive_vent{
+ dir = 8;
+ name = "killroom vent"
},
-/obj/structure/broken_flooring/singular/directional/east,
-/obj/structure/steam_vent,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/aft)
+/turf/open/floor/circuit/telecomms/mainframe,
+/area/station/science/xenobiology)
"nyf" = (
/obj/machinery/camera/autoname/directional/east,
/obj/effect/decal/cleanable/dirt,
@@ -40521,6 +41081,14 @@
/obj/item/pushbroom,
/turf/open/floor/iron/smooth,
/area/station/service/greenroom)
+"nyz" = (
+/obj/machinery/door/airlock/research/glass{
+ name = "Cytology Lab"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/research,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/catwalk_floor/iron_white,
+/area/station/science/research)
"nyB" = (
/obj/structure/sign/departments/xenobio/alt/directional/west,
/turf/open/floor/iron/white/corner{
@@ -40545,14 +41113,6 @@
},
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
-"nyZ" = (
-/obj/item/radio/intercom/directional/north,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
"nzc" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -40648,9 +41208,9 @@
/turf/open/space/basic,
/area/space)
"nAn" = (
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/station/hallway/secondary/command)
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"nAo" = (
/obj/machinery/hydroponics/soil{
pixel_y = 8
@@ -40659,17 +41219,14 @@
/obj/machinery/light/small/broken/directional/west,
/turf/open/misc/sandy_dirt,
/area/station/maintenance/starboard/aft)
-"nAF" = (
-/obj/effect/landmark/start/roboticist,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/science/robotics/lab)
-"nAI" = (
-/obj/structure/alien/weeds,
-/obj/structure/cable,
-/turf/open/misc/asteroid,
-/area/station/maintenance/starboard/greater)
+"nAr" = (
+/obj/machinery/camera/directional/north{
+ c_tag = "Xenobiology - Killroom Chamber";
+ name = "xenobiology camera";
+ network = list("ss13","xeno","rd")
+ },
+/turf/open/floor/circuit/telecomms/mainframe,
+/area/station/science/xenobiology)
"nAJ" = (
/obj/machinery/power/energy_accumulator/tesla_coil/anchored,
/obj/structure/window/reinforced/plasma/spawner/directional/north,
@@ -40689,7 +41246,28 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos/project)
+"nAY" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/sorting/mail,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/turf/open/floor/iron/white/corner{
+ dir = 1
+ },
+/area/station/hallway/primary/aft)
+"nBm" = (
+/obj/structure/cable,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/maintenance/department/science/xenobiology)
"nBq" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/showroomfloor,
/area/station/commons/toilet/auxiliary)
"nBw" = (
@@ -40703,26 +41281,6 @@
},
/turf/open/floor/stone,
/area/station/command/corporate_suite)
-"nBF" = (
-/obj/item/radio/intercom/directional/north,
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/corner{
- dir = 1
- },
-/area/station/hallway/secondary/entry)
-"nBG" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 1
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/central)
"nBP" = (
/obj/machinery/door/poddoor/shutters/radiation/preopen{
id = "engsm";
@@ -40738,13 +41296,6 @@
dir = 6
},
/area/station/science/xenobiology)
-"nCo" = (
-/obj/structure/chair/office{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/construction/mining/aux_base)
"nCt" = (
/obj/structure/disposalpipe/segment,
/obj/structure/disposalpipe/segment{
@@ -40757,6 +41308,14 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"nCB" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/obj/machinery/vending/cigarette,
+/obj/effect/turf_decal/tile/blue/opposingcorners{
+ dir = 8
+ },
+/turf/open/floor/iron/checker,
+/area/station/command/bridge)
"nCC" = (
/obj/structure/chair/stool/directional/south,
/obj/effect/turf_decal/siding/yellow{
@@ -40775,17 +41334,6 @@
/obj/structure/reagent_dispensers/watertank,
/turf/open/floor/plating,
/area/station/hallway/secondary/construction)
-"nCU" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 4
- },
-/obj/vehicle/ridden/wheelchair{
- dir = 4
- },
-/obj/structure/sign/departments/psychology/directional/south,
-/obj/machinery/camera/autoname/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/medical/medbay/lobby)
"nCX" = (
/obj/structure/flora/bush/flowers_pp,
/obj/structure/flora/bush/flowers_yw,
@@ -40837,6 +41385,16 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/iron/dark/textured_large,
/area/station/cargo/bitrunning/den)
+"nEo" = (
+/obj/machinery/air_sensor/ordnance_freezer_chamber,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple/layer2{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible{
+ dir = 4
+ },
+/turf/open/floor/engine/vacuum,
+/area/station/science/ordnance/freezerchamber)
"nEq" = (
/obj/machinery/door/airlock/public/glass{
name = "Library"
@@ -40884,9 +41442,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
-"nFa" = (
-/turf/closed/wall,
-/area/station/engineering/storage/tech)
"nFc" = (
/obj/structure/chair/stool/bar/directional/east,
/turf/open/floor/carpet/lone,
@@ -40894,6 +41449,15 @@
"nFo" = (
/turf/closed/wall,
/area/station/cargo/bitrunning/den)
+"nFp" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/dark/hidden{
+ dir = 8
+ },
+/turf/open/floor/iron/grimy,
+/area/station/tcommsat/server)
"nFs" = (
/obj/machinery/telecomms/server/presets/command,
/turf/open/floor/circuit,
@@ -40979,6 +41543,14 @@
/obj/machinery/light/small/directional/south,
/turf/open/floor/grass,
/area/station/medical/virology)
+"nGo" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/heat_exchanging/junction{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/station/tcommsat/server)
"nGA" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -40987,6 +41559,17 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
+"nGC" = (
+/obj/effect/turf_decal/tile/purple/opposingcorners,
+/obj/effect/turf_decal/siding/green{
+ dir = 6
+ },
+/obj/machinery/light/small/directional/south,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/cafeteria,
+/area/station/science/circuits)
"nGI" = (
/obj/machinery/door/window/left/directional/east{
name = "Isolation Room 2";
@@ -41019,6 +41602,16 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/station/maintenance/department/engine/atmos)
+"nHo" = (
+/obj/effect/turf_decal/siding/wood/corner{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/wood,
+/area/station/service/abandoned_gambling_den)
"nHu" = (
/obj/effect/spawner/random/structure/closet_maintenance,
/turf/open/floor/plating,
@@ -41080,18 +41673,38 @@
/obj/structure/cable,
/turf/open/floor/iron/small,
/area/station/hallway/primary/central/fore)
+"nHV" = (
+/obj/machinery/power/solar{
+ id = "forestarboard";
+ name = "Fore-Starboard Solar Array"
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/solarpanel/airless,
+/area/station/solars/starboard/fore)
+"nHX" = (
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/structure/cable,
+/turf/open/floor/eighties,
+/area/station/service/abandoned_gambling_den/gaming)
"nId" = (
/turf/open/floor/circuit/green,
/area/station/ai_monitored/command/nuke_storage)
-"nIx" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 8
+"nIf" = (
+/obj/machinery/portable_atmospherics/canister,
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 1
},
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/light/floor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/grimy,
-/area/station/tcommsat/server)
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance)
+"nIl" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/obj/machinery/light_switch/directional/north,
+/obj/machinery/camera/autoname/directional/north,
+/turf/open/floor/iron/smooth,
+/area/station/maintenance/solars/starboard/aft)
"nIA" = (
/obj/effect/turf_decal/siding/white{
dir = 8
@@ -41102,21 +41715,6 @@
/obj/machinery/light/cold/directional/south,
/turf/open/floor/iron/dark,
/area/station/medical/medbay/lobby)
-"nIJ" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/item/kirbyplants/random/fullysynthetic,
-/obj/machinery/light/cold/directional/south,
-/turf/open/floor/iron/dark/small,
-/area/station/medical/virology)
-"nIT" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
"nIY" = (
/turf/closed/mineral/random/stationside,
/area/station/maintenance/fore/lesser)
@@ -41140,6 +41738,18 @@
dir = 4
},
/area/station/hallway/primary/central/fore)
+"nJm" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/door/airlock{
+ name = "Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance,
+/obj/effect/mapping_helpers/airlock/unres{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical/central)
"nJo" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -41150,16 +41760,23 @@
/obj/effect/spawner/random/structure/steam_vent,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"nJG" = (
+"nJx" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 9
+ },
+/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/effect/turf_decal/trimline/neutral/line,
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 1
+/turf/open/floor/wood/tile,
+/area/station/science/lower)
+"nJE" = (
+/obj/machinery/power/solar_control{
+ id = "forestarboard";
+ name = "Starboard Bow Solar Control"
},
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/aft)
+/obj/structure/cable,
+/turf/open/floor/iron/smooth,
+/area/station/maintenance/solars/starboard/fore)
"nJK" = (
/obj/structure/reagent_dispensers/watertank/high,
/obj/effect/turf_decal/siding/thinplating_new/light{
@@ -41190,20 +41807,30 @@
/obj/machinery/light_switch/directional/east,
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
-"nKj" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/light/floor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/simple/dark/hidden{
- dir = 10
+"nKf" = (
+/obj/structure/window/reinforced/spawner/directional/south,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
},
/turf/open/floor/iron/dark,
-/area/station/tcommsat/server)
+/area/station/ai_monitored/turret_protected/ai_upload)
+"nKp" = (
+/obj/structure/table/wood,
+/obj/machinery/computer/pod/old{
+ dir = 8
+ },
+/turf/open/floor/iron/grimy,
+/area/station/commons/vacant_room/office)
"nKz" = (
/obj/machinery/light/floor,
/turf/open/floor/iron/smooth,
/area/station/hallway/secondary/command)
+"nKP" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/obj/machinery/iv_drip,
+/obj/machinery/light/small/directional/west,
+/turf/open/floor/iron/showroomfloor,
+/area/station/medical/virology)
"nLi" = (
/obj/structure/cable,
/obj/effect/turf_decal/siding/thinplating_new{
@@ -41212,20 +41839,27 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/smooth,
/area/station/cargo/miningfoundry)
-"nLk" = (
-/obj/effect/mapping_helpers/airlock/access/all/science/rd,
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/command{
- name = "Research Director's Office"
- },
-/obj/machinery/door/poddoor/preopen{
- id = "rdoffice";
- name = "Research Director's Shutters"
+"nLC" = (
+/obj/machinery/door/airlock/hatch{
+ name = "Experimentation Chamber"
},
+/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/catwalk_floor/iron_white,
-/area/station/command/heads_quarters/rd)
+/turf/open/floor/catwalk_floor/iron,
+/area/station/science/explab)
+"nLD" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/research{
+ name = "Telecomms Storage"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms,
+/obj/effect/landmark/navigate_destination,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/white/textured_half,
+/area/station/engineering/storage/tcomms)
"nLJ" = (
/obj/machinery/portable_atmospherics/canister,
/obj/effect/turf_decal/bot{
@@ -41236,13 +41870,6 @@
},
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
-"nLM" = (
-/obj/structure/window/reinforced/spawner/directional/south,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/turf_decal/stripes/line,
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/science/xenobiology)
"nLQ" = (
/obj/structure/table,
/obj/effect/decal/cleanable/dirt,
@@ -41260,6 +41887,13 @@
},
/turf/open/floor/iron/dark,
/area/station/commons/storage/tools)
+"nMc" = (
+/obj/machinery/firealarm/directional/north,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/cafeteria,
+/area/station/science/breakroom)
"nMk" = (
/obj/machinery/power/emitter/welded{
dir = 1
@@ -41267,14 +41901,14 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/engineering/supermatter/room)
-"nMn" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/obj/structure/disposalpipe/segment{
- dir = 6
+"nMo" = (
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
},
-/obj/machinery/duct,
-/turf/open/floor/iron/white/small,
-/area/station/commons/toilet/restrooms)
+/obj/structure/sign/departments/science/directional/north,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
"nMq" = (
/obj/effect/turf_decal/tile/brown/opposingcorners,
/obj/structure/closet/secure_closet/miner,
@@ -41305,13 +41939,6 @@
name = "Holodeck Projector Floor"
},
/area/station/holodeck/rec_center)
-"nNe" = (
-/obj/structure/window/reinforced/spawner/directional/north,
-/obj/effect/turf_decal/siding/dark,
-/turf/open/floor/iron/dark/textured_half{
- dir = 1
- },
-/area/station/command/bridge)
"nNi" = (
/obj/effect/turf_decal/bot_white/right,
/turf/open/floor/engine,
@@ -41322,20 +41949,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/hallway/abandoned_command)
-"nNz" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 1
- },
-/obj/effect/turf_decal/trimline/neutral/line,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/aft)
"nNA" = (
/obj/machinery/light/small/broken/directional/west,
/turf/open/floor/iron/dark/small,
@@ -41352,14 +41965,32 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible,
/turf/open/floor/plating,
/area/station/science/ordnance/testlab)
-"nOD" = (
-/obj/machinery/power/apc/auto_name/directional/west{
- areastring = "/area/station/science/ordnance/freezerchamber"
- },
-/obj/machinery/atmospherics/pipe/smart/simple/purple/visible,
+"nOf" = (
/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
+"nOg" = (
+/obj/machinery/door/airlock{
+ name = "Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/alien/weeds,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/greater)
+"nOl" = (
+/obj/machinery/disposal/bin,
/turf/open/floor/iron/dark,
-/area/station/science/ordnance)
+/area/station/medical/morgue)
"nOH" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -41417,11 +42048,6 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/iron/smooth,
/area/station/engineering/main)
-"nPH" = (
-/obj/structure/closet/secure_closet/brig,
-/obj/item/radio/intercom/directional/west,
-/turf/open/floor/iron,
-/area/station/security/execution/transfer)
"nPM" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -41480,16 +42106,6 @@
/obj/effect/landmark/start/prisoner,
/turf/open/floor/iron/dark,
/area/station/security/prison/safe)
-"nQo" = (
-/obj/effect/turf_decal/tile/purple/opposingcorners,
-/obj/effect/turf_decal/siding/green{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/cafeteria,
-/area/station/science/circuits)
"nQs" = (
/obj/structure/chair{
dir = 8
@@ -41544,22 +42160,45 @@
dir = 1
},
/area/station/security/execution/transfer)
+"nQW" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/chair/sofa/bench/right{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/dock)
"nQX" = (
/obj/machinery/holopad,
/turf/open/floor/iron/smooth,
/area/station/security/checkpoint/escape)
-"nRd" = (
-/obj/structure/cable,
-/obj/machinery/door/poddoor/preopen{
- id = "bridge blast";
- name = "Bridge Blast Door"
+"nQY" = (
+/obj/structure/rack,
+/obj/effect/spawner/random/techstorage/ai_all,
+/obj/effect/turf_decal/siding/dark{
+ dir = 8
},
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/station/command/bridge)
-"nRj" = (
-/obj/effect/spawner/structure/window,
-/turf/open/floor/plating,
+/turf/open/floor/iron,
+/area/station/engineering/storage/tech)
+"nQZ" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/mapping_helpers/airlock/access/all/medical/general,
+/obj/machinery/door/airlock/medical/glass{
+ name = "Medical Cold Room"
+ },
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/iron/white/small,
+/area/station/medical/coldroom)
+"nRn" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/turf/open/floor/wood,
/area/station/hallway/secondary/entry)
"nRr" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
@@ -41572,15 +42211,13 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/turf/open/floor/wood,
/area/station/engineering/break_room)
-"nRS" = (
-/obj/structure/chair/office{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/dark_blue/filled/line{
- dir = 2
- },
-/turf/open/floor/iron/dark,
-/area/station/medical/morgue)
+"nRJ" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/broken_flooring/singular/directional/south,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/hallway/secondary/dock)
"nSb" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 1
@@ -41602,11 +42239,6 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/station/maintenance/department/engine)
-"nSl" = (
-/obj/structure/railing,
-/obj/structure/cable,
-/turf/open/floor/catwalk_floor,
-/area/station/hallway/secondary/entry)
"nSA" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/neutral{
@@ -41615,6 +42247,19 @@
/obj/structure/extinguisher_cabinet/directional/east,
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
+"nSD" = (
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/structure/chair/office/light{
+ dir = 8
+ },
+/obj/effect/landmark/start/scientist,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white,
+/area/station/science/auxlab/firing_range)
"nSE" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -41637,6 +42282,11 @@
},
/turf/open/floor/iron/textured_half,
/area/station/hallway/primary/central/fore)
+"nTl" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/obj/machinery/airalarm/directional/north,
+/turf/open/floor/iron,
+/area/station/engineering/storage/tech)
"nTt" = (
/obj/effect/mapping_helpers/broken_floor,
/obj/machinery/computer/shuttle/mining/common{
@@ -41651,20 +42301,15 @@
},
/turf/open/floor/plating,
/area/station/security/tram)
-"nTz" = (
-/obj/effect/turf_decal/tile/yellow/anticorner/contrasted,
-/obj/machinery/chem_dispenser,
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/medical/pharmacy)
"nTC" = (
/turf/open/floor/iron/white/small,
/area/station/security/prison/safe)
-"nTE" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/greater)
+"nTH" = (
+/obj/structure/table,
+/obj/item/plant_analyzer,
+/obj/machinery/light/small/directional/north,
+/turf/open/floor/iron,
+/area/station/security/prison/garden)
"nTP" = (
/obj/machinery/door/airlock/research/glass{
name = "Cubicle"
@@ -41673,12 +42318,6 @@
/obj/machinery/door/firedoor,
/turf/open/floor/catwalk_floor/iron_white,
/area/station/science/cubicle)
-"nTU" = (
-/obj/effect/landmark/start/hangover,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
"nUd" = (
/obj/effect/turf_decal/tile/neutral{
dir = 4
@@ -41691,6 +42330,22 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"nUk" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/machinery/door/airlock{
+ name = "Theater Greenroom"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/service/theatre,
+/obj/machinery/door/firedoor,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/iron/textured_half{
+ dir = 8
+ },
+/area/station/service/greenroom)
"nUo" = (
/obj/effect/turf_decal/tile/purple/opposingcorners,
/obj/effect/turf_decal/siding/green{
@@ -41705,6 +42360,15 @@
},
/turf/open/floor/iron/cafeteria,
/area/station/science/circuits)
+"nUv" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/structure/disposalpipe/segment,
+/obj/item/radio/intercom/directional/west,
+/obj/effect/landmark/start/hangover,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/commons/fitness/recreation/entertainment)
"nUK" = (
/obj/effect/turf_decal/siding/wood,
/obj/structure/barricade/wooden/crude,
@@ -41726,6 +42390,15 @@
},
/turf/open/floor/iron,
/area/station/commons/dorms)
+"nUZ" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"nVa" = (
/obj/effect/turf_decal/stripes/corner{
dir = 1
@@ -41745,6 +42418,16 @@
/obj/effect/turf_decal/tile/green/opposingcorners,
/turf/open/floor/iron/dark,
/area/station/medical/chemistry)
+"nVk" = (
+/obj/structure/window/reinforced/spawner/directional/west,
+/obj/structure/window/reinforced/spawner/directional/east,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/iron/dark/textured_half{
+ dir = 1
+ },
+/area/station/engineering/storage/tech)
"nVs" = (
/obj/structure/table,
/obj/machinery/syndicatebomb/training,
@@ -41770,17 +42453,6 @@
},
/turf/open/floor/iron/small,
/area/station/hallway/secondary/service)
-"nVx" = (
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/corner{
- dir = 1
- },
-/area/station/science/xenobiology)
"nVA" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -41789,11 +42461,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/maintenance/hallway/abandoned_command)
-"nVF" = (
-/obj/effect/spawner/structure/window/reinforced/tinted,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/tcommsat/server)
"nVU" = (
/obj/effect/turf_decal/stripes/red/line{
dir = 4
@@ -41807,6 +42474,12 @@
/obj/effect/turf_decal/siding/wideplating,
/turf/open/floor/wood,
/area/station/engineering/atmos/pumproom)
+"nWf" = (
+/obj/effect/spawner/random/structure/crate_abandoned,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"nWh" = (
/obj/machinery/atmospherics/pipe/smart/simple/dark/visible,
/turf/closed/wall/r_wall,
@@ -41818,11 +42491,18 @@
/obj/machinery/computer/security/telescreen/entertainment/directional/east,
/turf/open/floor/stone,
/area/station/service/abandoned_gambling_den)
-"nWp" = (
-/obj/structure/table/wood,
-/obj/effect/turf_decal/siding/wood,
-/turf/open/floor/wood/large,
-/area/station/maintenance/department/science/xenobiology)
+"nWn" = (
+/obj/effect/turf_decal/siding/thinplating_new/terracotta,
+/turf/open/floor/wood/tile,
+/area/station/command/meeting_room)
+"nWq" = (
+/obj/machinery/firealarm/directional/north,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side{
+ dir = 1
+ },
+/area/station/science/research)
"nWr" = (
/obj/structure/cable,
/obj/structure/hedge,
@@ -41839,14 +42519,6 @@
/obj/machinery/light/small/directional/south,
/turf/open/floor/eighties/red,
/area/station/hallway/primary/central/fore)
-"nXf" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/door/airlock{
- id_tag = "AuxToilet3";
- name = "Unit 3"
- },
-/turf/open/floor/iron/showroomfloor,
-/area/station/maintenance/department/science/xenobiology)
"nXt" = (
/obj/effect/turf_decal/tile/yellow/full,
/obj/structure/table/reinforced,
@@ -41888,13 +42560,38 @@
/obj/effect/turf_decal/stripes/box,
/turf/open/floor/iron/small,
/area/station/engineering/break_room)
-"nXP" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+"nXJ" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/turf_decal/siding/purple{
dir = 8
},
-/obj/machinery/airalarm/directional/east,
-/turf/open/floor/grass,
-/area/station/medical/virology)
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/science/genetics)
+"nXK" = (
+/obj/machinery/holopad,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/iron/large,
+/area/station/engineering/storage/tech)
+"nXR" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/door/airlock/medical{
+ name = "Medbay"
+ },
+/obj/effect/turf_decal/delivery/red,
+/obj/machinery/door/firedoor,
+/obj/effect/mapping_helpers/airlock/unres{
+ dir = 8
+ },
+/obj/effect/mapping_helpers/airlock/access/all/medical/general,
+/turf/open/floor/iron/dark/small,
+/area/station/medical/medbay/central)
"nXS" = (
/obj/structure/disposalpipe/segment{
dir = 9
@@ -41909,15 +42606,17 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/medical/virology)
-"nYl" = (
-/obj/machinery/firealarm/directional/south,
+"nYn" = (
+/obj/item/clothing/head/cone{
+ pixel_x = -8;
+ pixel_y = 17
+ },
+/obj/structure/broken_flooring/singular/directional/south,
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/corner{
- dir = 4
- },
-/area/station/science/xenobiology)
+/turf/open/floor/iron,
+/area/station/hallway/secondary/dock)
"nYr" = (
/obj/structure/bed/maint,
/turf/open/floor/plating,
@@ -41953,6 +42652,17 @@
},
/turf/open/floor/iron/smooth,
/area/station/cargo/drone_bay)
+"nZm" = (
+/obj/machinery/door/airlock/research/glass{
+ name = "Ordnance Storage"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/ordnance,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance/storage)
"nZq" = (
/obj/structure/disposalpipe/segment,
/obj/effect/decal/cleanable/dirt,
@@ -41976,6 +42686,11 @@
/obj/machinery/vending/wardrobe/chef_wardrobe,
/turf/open/floor/iron/kitchen/small,
/area/station/service/kitchen)
+"nZH" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light/small/dim/directional/west,
+/turf/open/floor/wood/large,
+/area/station/maintenance/department/science/xenobiology)
"nZQ" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/white/line{
@@ -41996,26 +42711,19 @@
/obj/effect/mapping_helpers/airlock/access/all/supply/general,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
+"oac" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/engineering/storage/tech)
"oae" = (
/obj/effect/turf_decal/tile/dark_red,
/turf/open/floor/iron,
/area/station/security/prison)
-"oah" = (
-/obj/effect/mapping_helpers/broken_floor,
-/obj/effect/landmark/start/cyborg,
-/obj/machinery/turretid{
- control_area = "/area/station/ai_monitored/turret_protected/ai_upload";
- icon_state = "control_stun";
- name = "AI Upload Turret Control";
- pixel_y = -28
- },
-/obj/machinery/status_display/ai/directional/west,
-/obj/machinery/camera/autoname/directional/west,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/ai_monitored/turret_protected/ai_upload_foyer)
"oaK" = (
/obj/structure/window/spawner/directional/south,
/obj/effect/decal/cleanable/dirt,
@@ -42052,19 +42760,6 @@
/obj/structure/cable,
/turf/open/floor/wood,
/area/station/engineering/break_room)
-"obb" = (
-/obj/machinery/door/airlock/research{
- name = "Research and Development Lab"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/research,
-/obj/machinery/door/firedoor,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/catwalk_floor/iron_white,
-/area/station/science/lab)
"obe" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/structure/disposalpipe/segment{
@@ -42072,6 +42767,26 @@
},
/turf/open/floor/iron/smooth,
/area/station/engineering/break_room)
+"obh" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/door/airlock{
+ name = "Bathrooms"
+ },
+/turf/open/floor/iron/textured_half,
+/area/station/commons/toilet/restrooms)
+"obi" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"obk" = (
/obj/structure/cable,
/turf/open/floor/iron/smooth,
@@ -42081,14 +42796,6 @@
/obj/structure/lattice/catwalk,
/turf/open/space/basic,
/area/station/solars/port)
-"obs" = (
-/obj/machinery/power/apc/auto_name/directional/east,
-/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/small,
-/area/station/science/ordnance/storage)
"obN" = (
/obj/structure/cable,
/obj/effect/spawner/random/maintenance,
@@ -42127,14 +42834,31 @@
/obj/machinery/computer/records/security,
/turf/open/floor/iron,
/area/station/security/brig/entrance)
-"odh" = (
-/obj/effect/turf_decal/stripes/line{
+"odk" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/turf/open/floor/iron/grimy,
+/area/station/commons/vacant_room/office)
+"odu" = (
+/obj/machinery/atmospherics/pipe/smart/simple/general/visible{
+ dir = 4
+ },
+/turf/open/floor/engine/bz,
+/area/station/science/xenobiology)
+"ody" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/structure/closet/cabinet,
+/obj/effect/spawner/random/food_or_drink/cups,
+/turf/open/floor/iron/dark,
+/area/station/maintenance/department/science/xenobiology)
+"odz" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 8
},
-/turf/open/floor/iron/dark/side{
- dir = 8
- },
-/area/station/engineering/storage/tech)
+/turf/open/floor/iron/dark/small,
+/area/station/tcommsat/server)
"odD" = (
/obj/effect/mapping_helpers/broken_floor,
/obj/structure/table/wood,
@@ -42145,6 +42869,15 @@
},
/turf/open/floor/wood/tile,
/area/station/maintenance/central/lesser)
+"odG" = (
+/obj/structure/disposalpipe/junction/flip{
+ dir = 1
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/fore)
"odH" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/obj/structure/disposalpipe/segment{
@@ -42152,17 +42885,26 @@
},
/turf/open/floor/stone,
/area/station/service/chapel)
-"odP" = (
-/obj/structure/bodycontainer/morgue,
-/obj/machinery/camera/autoname/directional/west,
-/turf/open/floor/iron/dark/small,
-/area/station/medical/morgue)
"odX" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/cargo/storage)
+"oem" = (
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/turf/open/floor/iron/dark/corner{
+ dir = 4
+ },
+/area/station/science/xenobiology)
"oer" = (
/obj/machinery/atmospherics/components/binary/pump{
dir = 4;
@@ -42181,13 +42923,6 @@
/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"oez" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/obj/effect/turf_decal/siding/blue{
- dir = 1
- },
-/turf/open/floor/iron/white/small,
-/area/station/command/heads_quarters/cmo)
"oeI" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -42215,14 +42950,6 @@
},
/turf/open/floor/stone,
/area/station/service/bar)
-"off" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 6
- },
-/obj/machinery/vending/coffee,
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/iron/grimy,
-/area/station/hallway/secondary/entry)
"ofu" = (
/obj/effect/turf_decal/stripes/white/end{
dir = 8
@@ -42232,6 +42959,22 @@
"ofx" = (
/turf/closed/wall/r_wall,
/area/space/nearstation)
+"ofy" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/medical/pharmacy)
+"ofG" = (
+/obj/machinery/blackbox_recorder,
+/obj/structure/cable,
+/turf/open/floor/circuit,
+/area/station/tcommsat/server)
"ofU" = (
/obj/machinery/holopad,
/obj/effect/landmark/start/hangover,
@@ -42246,12 +42989,10 @@
/turf/open/floor/iron/dark/small,
/area/station/command/heads_quarters/captain/private)
"ogl" = (
-/obj/effect/spawner/random/maintenance/two,
-/obj/structure/rack,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/bot,
-/turf/open/floor/iron,
-/area/station/maintenance/department/science/xenobiology)
+/obj/machinery/telecomms/processor/preset_three,
+/obj/structure/cable,
+/turf/open/floor/circuit,
+/area/station/tcommsat/server)
"ogq" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/neutral{
@@ -42261,16 +43002,6 @@
/obj/machinery/light/cold/directional/west,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"ogr" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/obj/item/radio/intercom/directional/south,
-/turf/open/floor/iron/white,
-/area/station/medical/medbay/central)
"ogv" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -42305,19 +43036,6 @@
},
/turf/open/floor/iron/dark/small,
/area/station/medical/chemistry)
-"ogT" = (
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/structure/chair/office/light{
- dir = 8
- },
-/obj/effect/landmark/start/scientist,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white,
-/area/station/science/auxlab/firing_range)
"ohf" = (
/obj/structure/reagent_dispensers/fueltank/large,
/obj/effect/turf_decal/bot{
@@ -42387,6 +43105,19 @@
},
/turf/open/floor/iron/dark,
/area/station/science/robotics/lab)
+"ohJ" = (
+/obj/effect/turf_decal/caution/stand_clear/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 4
+ },
+/turf/open/floor/iron/white,
+/area/station/science/cytology)
"ohM" = (
/obj/structure/chair{
dir = 8
@@ -42394,14 +43125,10 @@
/obj/machinery/light/cold/directional/east,
/turf/open/floor/iron/dark/small,
/area/station/security/checkpoint/customs)
-"oib" = (
-/obj/effect/mapping_helpers/airlock/access/all/medical/coroner,
-/obj/machinery/door/airlock/grunge{
- name = "On-Station Burial Site"
- },
-/obj/machinery/door/firedoor,
-/turf/open/floor/plating,
-/area/station/medical/morgue)
+"ohW" = (
+/obj/effect/spawner/random/structure/closet_maintenance,
+/turf/open/floor/catwalk_floor,
+/area/station/maintenance/department/science/xenobiology)
"oig" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/effect/turf_decal/stripes/corner{
@@ -42417,13 +43144,6 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/station/maintenance/department/electrical)
-"oim" = (
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 4
- },
-/obj/structure/sign/warning/no_smoking/directional/east,
-/turf/open/floor/iron,
-/area/station/cargo/lobby)
"ois" = (
/obj/effect/turf_decal/siding/white{
dir = 6
@@ -42437,33 +43157,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
-"oiA" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron,
-/area/station/maintenance/department/medical/central)
-"oiP" = (
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
- dir = 1
- },
-/obj/machinery/chem_master,
-/obj/machinery/camera/autoname/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/medical/pharmacy)
-"oiT" = (
-/obj/machinery/firealarm/directional/east,
-/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
- dir = 10
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/small,
-/area/station/science/ordnance/storage)
"oiU" = (
/obj/effect/mapping_helpers/broken_floor,
/obj/effect/decal/cleanable/dirt,
@@ -42505,12 +43198,12 @@
/obj/machinery/light/floor,
/turf/open/floor/iron/dark,
/area/station/security/lockers)
-"okk" = (
-/obj/structure/table,
-/obj/item/screwdriver,
-/obj/machinery/airalarm/directional/south,
-/turf/open/floor/iron,
-/area/station/construction/mining/aux_base)
+"ojS" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/iron/white,
+/area/station/hallway/primary/central/aft)
"okl" = (
/obj/machinery/status_display/ai,
/turf/closed/wall,
@@ -42519,6 +43212,21 @@
/obj/structure/reflector/single/anchored,
/turf/open/floor/plating,
/area/station/engineering/supermatter/room)
+"oku" = (
+/obj/structure/table/glass,
+/obj/item/folder/blue{
+ pixel_x = 4;
+ pixel_y = 2
+ },
+/obj/effect/landmark/event_spawn,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/carpet/executive,
+/area/station/command/meeting_room)
"okB" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/white/line,
@@ -42531,25 +43239,18 @@
/obj/machinery/portable_atmospherics/canister/nitrous_oxide,
/turf/open/floor/plating,
/area/station/engineering/atmos/storage/gas)
-"okW" = (
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "sci-entrance"
- },
-/obj/machinery/door/airlock/research/glass{
- name = "Ordnance Lab"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/ordnance,
-/obj/machinery/door/firedoor,
-/obj/machinery/door/poddoor/shutters/preopen{
- dir = 1;
- id = "rdordnance";
- name = "Ordnance Lab Shutters"
+"okJ" = (
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
},
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/catwalk_floor/iron_dark,
-/area/station/science/ordnance)
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
+"okO" = (
+/obj/structure/cable,
+/obj/machinery/power/apc/auto_name/directional/west,
+/turf/open/floor/iron/grimy,
+/area/station/commons/vacant_room/office)
"okZ" = (
/obj/structure/closet/secure_closet/personal,
/obj/item/radio/intercom/directional/west,
@@ -42571,11 +43272,14 @@
/obj/structure/alien/weeds,
/turf/open/misc/asteroid,
/area/station/maintenance/starboard/greater)
-"olG" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold/dark/hidden,
-/turf/open/floor/circuit,
-/area/station/tcommsat/server)
+"olz" = (
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/effect/spawner/random/trash,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/aft)
"olI" = (
/obj/structure/table,
/obj/item/restraints/handcuffs{
@@ -42591,13 +43295,6 @@
},
/turf/open/floor/iron/checker,
/area/station/security/breakroom)
-"olO" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/dark/diagonal,
-/area/station/ai_monitored/command/storage/eva)
"olV" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -42605,6 +43302,13 @@
/obj/machinery/light/small/dim/directional/west,
/turf/open/floor/iron,
/area/station/maintenance/port/aft)
+"olX" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/obj/machinery/light/small/directional/north,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"oma" = (
/obj/machinery/atmospherics/components/unary/passive_vent,
/obj/structure/lattice,
@@ -42623,13 +43327,13 @@
/obj/structure/cable,
/turf/open/floor/wood/parquet,
/area/station/service/library)
-"omO" = (
-/obj/structure/railing{
- dir = 1
- },
-/obj/effect/mapping_helpers/broken_floor,
-/turf/open/floor/wood/large,
-/area/station/maintenance/department/science/xenobiology)
+"omu" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/broken_flooring/singular/directional/east,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/dock)
"omW" = (
/obj/structure/reagent_dispensers/watertank,
/turf/open/floor/iron/white/corner,
@@ -42662,6 +43366,13 @@
/obj/item/radio/intercom/directional/east,
/turf/open/floor/iron/dark/small,
/area/station/medical/chemistry)
+"onL" = (
+/obj/structure/chair/office{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/construction/mining/aux_base)
"onP" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/door/firedoor,
@@ -42699,15 +43410,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/dark/small,
/area/station/security/brig)
-"oom" = (
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/corner,
-/area/station/science/xenobiology)
"ooo" = (
/obj/effect/spawner/structure/window/reinforced/plasma,
/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
@@ -42728,17 +43430,29 @@
},
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
-"opg" = (
-/obj/structure/cable,
+"ooV" = (
+/obj/machinery/holopad,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/sign/poster/official/random/directional/north,
-/turf/open/floor/iron/showroomfloor,
-/area/station/commons/toilet/auxiliary)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/smooth_large,
+/area/station/science/auxlab/firing_range)
"opn" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/small,
/area/station/command/teleporter)
+"opp" = (
+/obj/machinery/holopad,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/science/ordnance/testlab)
+"opq" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/brown,
+/turf/open/floor/iron/smooth,
+/area/station/maintenance/port/aft)
"opv" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -42770,41 +43484,21 @@
},
/turf/open/space/basic,
/area/space/nearstation)
-"opN" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/neutral,
-/turf/open/floor/iron,
-/area/station/commons/fitness/locker_room)
"opV" = (
/obj/effect/landmark/start/bartender,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/cable,
/turf/open/floor/stone,
/area/station/service/bar)
-"opW" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/corner,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/side{
- dir = 1
- },
-/area/station/science/xenobiology)
-"oqg" = (
-/obj/effect/turf_decal/tile/blue{
+"opZ" = (
+/obj/machinery/rnd/destructive_analyzer,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/station/science/lab)
+"oqi" = (
+/obj/machinery/atmospherics/components/trinary/filter{
dir = 4
},
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/corner{
- dir = 1
- },
-/area/station/hallway/secondary/entry)
-"oqi" = (
-/obj/machinery/atmospherics/components/binary/tank_compressor,
/turf/open/floor/iron/dark,
/area/station/science/ordnance/testlab)
"oqq" = (
@@ -42822,6 +43516,15 @@
/obj/item/kirbyplants/random,
/turf/open/floor/iron,
/area/station/hallway/secondary/dock)
+"oqN" = (
+/obj/effect/spawner/random/vending/snackvend,
+/obj/structure/cable,
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/turf/open/floor/iron/white/side,
+/area/station/hallway/primary/central/aft)
"oqT" = (
/obj/machinery/camera/autoname/directional/north,
/obj/machinery/firealarm/directional/north,
@@ -42839,6 +43542,13 @@
/obj/structure/sign/poster/official/random/directional/north,
/turf/open/floor/iron/small,
/area/station/service/barber)
+"oqY" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/siding/wood{
+ dir = 5
+ },
+/turf/open/floor/wood/large,
+/area/station/maintenance/department/science/xenobiology)
"ora" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -42849,38 +43559,27 @@
"orb" = (
/turf/closed/wall,
/area/station/engineering/main)
-"orz" = (
-/obj/structure/table,
-/obj/item/assembly/igniter{
- pixel_x = -5;
- pixel_y = 3
+"orf" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/siding/thinplating_new/terracotta{
+ dir = 8
},
-/obj/item/assembly/igniter{
- pixel_x = 5;
- pixel_y = -4
- },
-/obj/item/assembly/igniter{
- pixel_x = 2;
- pixel_y = 6
- },
-/obj/item/assembly/igniter{
- pixel_x = 2;
- pixel_y = -1
- },
-/turf/open/floor/engine/bz,
-/area/station/science/xenobiology)
+/turf/open/floor/wood/tile,
+/area/station/command/corporate_showroom)
"orC" = (
/obj/structure/cable,
/turf/open/floor/iron/smooth,
/area/station/maintenance/solars/starboard/fore)
-"orW" = (
-/obj/effect/turf_decal/stripes/line{
+"orU" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/neutral{
dir = 1
},
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden,
/turf/open/floor/iron,
-/area/station/science/xenobiology)
+/area/station/hallway/primary/aft)
"osa" = (
/obj/structure/lattice/catwalk,
/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
@@ -42888,24 +43587,17 @@
},
/turf/open/space/basic,
/area/space/nearstation)
-"ose" = (
+"osh" = (
+/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
+/obj/structure/disposalpipe/segment,
/obj/structure/disposalpipe/segment{
- dir = 9
+ dir = 4
},
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
-"osj" = (
-/obj/machinery/power/terminal,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/turf/open/floor/iron/smooth,
-/area/station/maintenance/solars/starboard/fore)
+/obj/effect/landmark/navigate_destination/chemfactory,
+/turf/open/floor/iron/dark,
+/area/station/medical/medbay/central)
"osp" = (
/obj/effect/turf_decal/tile/brown/opposingcorners,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
@@ -42922,6 +43614,11 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/recreation)
+"osu" = (
+/obj/structure/railing,
+/obj/structure/cable,
+/turf/open/floor/catwalk_floor,
+/area/station/hallway/secondary/entry)
"osw" = (
/obj/effect/turf_decal/arrows{
dir = 4
@@ -42932,11 +43629,6 @@
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
-"osy" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white,
-/area/station/hallway/primary/starboard)
"osP" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
@@ -42951,49 +43643,41 @@
dir = 8
},
/area/station/engineering/break_room)
+"osU" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow/anticorner/contrasted,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/structure/table,
+/obj/item/stack/sheet/iron/fifty,
+/obj/machinery/camera/autoname/directional/east,
+/turf/open/floor/iron,
+/area/station/medical/chemistry)
+"osW" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/green/half/contrasted{
+ dir = 1
+ },
+/turf/open/floor/iron/white,
+/area/station/medical/virology)
"osY" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/broken_flooring/corner/directional/south,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
-"otk" = (
-/obj/effect/turf_decal/siding/thinplating_new/light{
- dir = 8
- },
-/obj/structure/cable,
-/turf/open/floor/iron/smooth_large,
-/area/station/science/robotics/mechbay)
-"otB" = (
-/obj/effect/turf_decal/tile/purple/opposingcorners,
-/obj/effect/turf_decal/siding/green/corner{
- dir = 1
- },
-/obj/structure/cable,
-/turf/open/floor/iron/cafeteria,
-/area/station/science/circuits)
-"otC" = (
-/obj/effect/turf_decal/tile/blue{
- dir = 8
- },
-/obj/machinery/light/small/directional/south,
-/obj/effect/spawner/random/vending/colavend,
-/turf/open/floor/iron/dark/side,
-/area/station/hallway/primary/central/fore)
-"otJ" = (
+"otz" = (
+/obj/structure/hedge,
+/obj/machinery/light/small/directional/east,
+/turf/open/floor/iron/dark,
+/area/station/engineering/storage/tech)
+"otN" = (
+/obj/effect/turf_decal/stripes/line,
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
-"otQ" = (
-/turf/open/floor/iron/dark,
-/area/station/medical/morgue)
+/turf/open/floor/iron/white,
+/area/station/hallway/primary/starboard)
"otX" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -43115,12 +43799,12 @@
dir = 1
},
/area/station/command/gateway)
-"owc" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random/structure/furniture_parts,
-/obj/structure/railing/corner/end,
-/turf/open/floor/catwalk_floor/iron_dark,
-/area/station/maintenance/department/science/xenobiology)
+"owm" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white,
+/area/station/science/cytology)
"owv" = (
/obj/machinery/atmospherics/components/unary/passive_vent{
dir = 1;
@@ -43128,26 +43812,28 @@
},
/turf/open/floor/circuit,
/area/station/science/server)
-"owD" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 9
+"owE" = (
+/obj/structure/cable,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/chair{
+ dir = 1
},
+/obj/machinery/duct,
+/turf/open/floor/iron,
+/area/station/maintenance/department/medical/central)
+"owI" = (
+/obj/machinery/door/airlock/maintenance_hatch{
+ name = "Construction Hatch"
+ },
+/obj/effect/mapping_helpers/airlock/access/any/engineering/construction,
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 8
+ },
+/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
-/area/station/science/cytology)
-"owF" = (
-/obj/structure/fermenting_barrel,
-/obj/effect/decal/cleanable/dirt/dust,
-/turf/open/floor/wood/large,
-/area/station/maintenance/department/science/xenobiology)
-"owH" = (
-/obj/effect/landmark/event_spawn,
-/obj/machinery/atmospherics/components/binary/valve/digital{
- dir = 4
- },
-/turf/open/floor/iron/white/small,
-/area/station/science/ordnance/storage)
+/area/station/hallway/secondary/construction)
"owJ" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -43171,13 +43857,12 @@
/obj/structure/extinguisher_cabinet/directional/north,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"owZ" = (
-/obj/item/kirbyplants/organic/applebush,
-/obj/structure/cable,
+"owS" = (
+/obj/effect/turf_decal/siding/white/corner,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/smooth_large,
-/area/station/command/bridge)
+/turf/open/floor/iron/dark/small,
+/area/station/science/xenobiology)
"oxc" = (
/obj/structure/table/reinforced,
/obj/item/reagent_containers/cup/glass/mug/coco{
@@ -43193,14 +43878,12 @@
},
/turf/open/floor/wood,
/area/station/engineering/break_room)
-"oxl" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
+"oxg" = (
+/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{
+ dir = 4
},
-/turf/open/floor/iron/white/side{
- dir = 8
- },
-/area/station/science/lobby)
+/turf/open/floor/iron/white/small,
+/area/station/science/ordnance/storage)
"oxm" = (
/obj/effect/turf_decal/bot,
/obj/machinery/door/window/right/directional/south{
@@ -43235,6 +43918,12 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/cargo/sorting)
+"oye" = (
+/obj/effect/landmark/start/roboticist,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/science/robotics/lab)
"oyn" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/door/airlock/public/glass{
@@ -43259,6 +43948,14 @@
/obj/structure/cable,
/turf/open/floor/grass,
/area/station/service/chapel)
+"oyA" = (
+/obj/structure/chair/office/light{
+ dir = 8
+ },
+/obj/effect/landmark/start/scientist,
+/obj/structure/cable,
+/turf/open/floor/iron/white,
+/area/station/science/cytology)
"oyH" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -43314,12 +44011,19 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible,
/turf/closed/wall/r_wall,
/area/station/engineering/supermatter)
-"oAi" = (
-/obj/effect/turf_decal/trimline/dark/filled/warning{
+"ozV" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/turf/open/floor/iron/dark/smooth_edge{
dir = 8
},
-/turf/open/floor/iron/dark/small,
-/area/station/maintenance/department/science/xenobiology)
+/area/station/maintenance/starboard/greater)
+"oAg" = (
+/obj/effect/turf_decal/tile/blue/fourcorners,
+/obj/item/kirbyplants/random,
+/turf/open/floor/iron/white,
+/area/station/medical/medbay/lobby)
"oAn" = (
/obj/effect/turf_decal/siding/brown{
dir = 10
@@ -43333,21 +44037,24 @@
/obj/machinery/camera/autoname/directional/north,
/turf/open/floor/iron,
/area/station/security/lockers)
+"oAz" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/sign/poster/contraband/random/directional/west,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/turf/open/floor/light/colour_cycle/dancefloor_b,
+/area/station/maintenance/starboard/central)
"oAA" = (
/obj/structure/closet/emcloset,
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/iron,
/area/station/maintenance/starboard/aft)
-"oAS" = (
-/obj/effect/turf_decal/trimline/dark/corner{
- dir = 8
- },
-/obj/effect/turf_decal/trimline/dark/line{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron/dark/small,
-/area/station/maintenance/department/science/xenobiology)
+"oAU" = (
+/obj/effect/landmark/event_spawn,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/cafeteria,
+/area/station/science/breakroom)
"oAY" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/security/glass{
@@ -43358,6 +44065,14 @@
/obj/effect/mapping_helpers/airlock/access/all/security/entrance,
/turf/open/floor/iron/textured_half,
/area/station/security/brig)
+"oBg" = (
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/central)
"oBh" = (
/obj/structure/alien/weeds/node,
/turf/open/misc/asteroid,
@@ -43372,20 +44087,6 @@
},
/turf/open/floor/iron/dark/small,
/area/station/security/processing)
-"oBA" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"oBF" = (
/obj/effect/turf_decal/arrows/white{
dir = 4
@@ -43429,37 +44130,41 @@
dir = 8
},
/area/station/security/warden)
-"oBX" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/turf_decal/siding/purple{
+"oCa" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/door/airlock{
+ name = "Law Office"
+ },
+/obj/effect/mapping_helpers/airlock/access/any/service/lawyer,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/textured_half{
dir = 1
},
-/obj/effect/turf_decal/siding/purple/corner{
- dir = 8
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/science/genetics)
+/area/station/service/lawoffice)
"oCb" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible,
/obj/machinery/meter,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
-"oCg" = (
-/obj/machinery/holopad,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
-/turf/open/floor/iron/dark/small,
-/area/station/tcommsat/server)
"oCi" = (
/obj/effect/turf_decal/siding/wood,
/obj/machinery/light/small/directional/east,
/obj/structure/disposalpipe/segment,
/turf/open/floor/wood/parquet,
/area/station/service/library)
+"oCm" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/door/airlock{
+ name = "Xenobiology Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/xenobio,
+/turf/open/floor/plating,
+/area/station/science/xenobiology)
"oCq" = (
/obj/structure/cable,
/obj/effect/spawner/structure/window/reinforced,
@@ -43471,6 +44176,10 @@
/obj/machinery/camera/autoname/directional/east,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"oCB" = (
+/obj/machinery/atmospherics/components/binary/tank_compressor,
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance/testlab)
"oCE" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -43506,6 +44215,12 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
+"oDC" = (
+/obj/effect/turf_decal/trimline/neutral/end{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/station/medical/morgue)
"oDS" = (
/obj/machinery/atmospherics/pipe/smart/simple/green/visible,
/turf/closed/wall/r_wall,
@@ -43600,12 +44315,6 @@
dir = 4
},
/area/station/maintenance/starboard/greater)
-"oFg" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/light/small/directional/north,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"oFu" = (
/turf/closed/wall,
/area/station/security/office)
@@ -43637,24 +44346,21 @@
/obj/machinery/door/firedoor,
/turf/open/floor/iron/smooth_half,
/area/station/cargo/storage)
-"oGL" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/red/line{
+"oGM" = (
+/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/landmark/event_spawn,
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/obj/structure/extinguisher_cabinet/directional/north,
+/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/smooth_large,
-/area/station/science/auxlab/firing_range)
-"oGQ" = (
-/obj/machinery/airalarm/directional/north,
-/obj/effect/turf_decal/tile/neutral{
+/turf/open/floor/iron/white/corner{
dir = 1
},
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
+/area/station/hallway/secondary/dock)
"oHa" = (
/obj/structure/table,
/obj/effect/turf_decal/tile/neutral/fourcorners,
@@ -43674,28 +44380,12 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/stairs,
/area/station/maintenance/port/greater)
-"oHp" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/aft)
"oHw" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/smooth,
/area/station/maintenance/solars/port/aft)
-"oHy" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/broken_flooring/corner/directional/south,
-/obj/effect/mapping_helpers/broken_floor,
-/obj/machinery/camera/autoname/directional/south,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/hallway/secondary/dock)
"oHG" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/obj/item/radio/intercom/directional/north,
@@ -43707,12 +44397,13 @@
dir = 1
},
/area/station/security/execution/transfer)
-"oIa" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+"oId" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/camera/autoname/directional/east,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
-/area/station/hallway/secondary/dock)
+/area/station/commons/fitness/recreation/entertainment)
"oIf" = (
/obj/effect/turf_decal/sand/plating,
/obj/machinery/modular_computer/preset/engineering{
@@ -43721,14 +44412,19 @@
/obj/structure/cable,
/turf/open/floor/iron/small,
/area/station/maintenance/department/electrical)
-"oIx" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
+"oIz" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/box/corners{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/white/line{
+ dir = 8
},
/obj/structure/cable,
-/turf/open/floor/iron/dark/side,
-/area/station/science/xenobiology)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/engine,
+/area/station/science/explab)
"oIE" = (
/obj/effect/turf_decal/stripes/end{
dir = 1
@@ -43796,14 +44492,14 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/iron/smooth_large,
/area/station/engineering/supermatter/room)
-"oJn" = (
-/obj/structure/disposalpipe/sorting/mail{
- dir = 4
+"oJr" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
},
-/obj/effect/mapping_helpers/mail_sorting/science/rd_office,
-/obj/structure/cable,
-/turf/open/floor/iron/white/side,
-/area/station/science/research)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/science/cytology)
"oJv" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/table,
@@ -43831,11 +44527,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/central/lesser)
-"oJz" = (
-/obj/structure/bodycontainer/morgue,
-/obj/machinery/light/small/directional/west,
-/turf/open/floor/iron/dark/small,
-/area/station/medical/morgue)
"oJA" = (
/obj/structure/transport/linear/tram,
/obj/structure/fluff/tram_rail/floor,
@@ -43862,16 +44553,6 @@
/obj/effect/mapping_helpers/airlock/access/all/security/general,
/turf/open/floor/iron/dark/textured_half,
/area/station/security/execution/education)
-"oJL" = (
-/obj/effect/turf_decal/stripes/red/line{
- dir = 8
- },
-/obj/machinery/light/small/directional/west,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/turf/open/floor/iron/smooth_large,
-/area/station/science/auxlab/firing_range)
"oJO" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -43882,14 +44563,6 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
-"oJP" = (
-/obj/machinery/telecomms/broadcaster/preset_left,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
- dir = 5
- },
-/turf/open/floor/circuit,
-/area/station/tcommsat/server)
"oKb" = (
/obj/effect/turf_decal/tile/yellow/half/contrasted{
dir = 8
@@ -43924,6 +44597,14 @@
},
/turf/open/floor/iron/dark,
/area/station/security/prison/safe)
+"oKT" = (
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
"oLc" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 1
@@ -43952,6 +44633,12 @@
/obj/machinery/light/small/directional/north,
/turf/open/floor/wood,
/area/station/service/abandoned_gambling_den)
+"oLw" = (
+/obj/machinery/holopad,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"oLD" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 1
@@ -43969,6 +44656,10 @@
/obj/structure/cable,
/turf/open/floor/iron/herringbone,
/area/station/commons/dorms)
+"oMk" = (
+/obj/effect/spawner/structure/window/reinforced,
+/turf/open/floor/iron/dark/textured_half,
+/area/station/command/bridge)
"oMy" = (
/obj/structure/lattice/catwalk,
/turf/open/space/basic,
@@ -43991,6 +44682,18 @@
/obj/machinery/power/apc/auto_name/directional/north,
/turf/open/floor/iron/smooth,
/area/station/security/checkpoint/escape)
+"oNw" = (
+/obj/structure/disposaloutlet{
+ desc = "An outlet for the pneumatic disposal system. This one seems designed for rapid corpse disposal.";
+ name = "rapid corpse mover 9000";
+ dir = 4
+ },
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/obj/structure/window/reinforced/spawner/directional/north,
+/turf/open/floor/plating,
+/area/station/medical/morgue)
"oND" = (
/obj/structure/reagent_dispensers/watertank,
/obj/effect/turf_decal/stripes/line{
@@ -43998,32 +44701,37 @@
},
/turf/open/floor/plating,
/area/station/construction/mining/aux_base)
-"oNN" = (
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side{
- dir = 8
- },
-/area/station/science/research)
"oNQ" = (
/obj/item/kirbyplants/random,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/wood,
/area/station/service/chapel/office)
-"oNX" = (
-/obj/machinery/door/airlock/research/glass{
- name = "Cytology Zoo"
- },
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+"oNR" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/textured_half{
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/central)
+"oNV" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 1
},
-/area/station/hallway/secondary/recreation)
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/button/door/directional/south{
+ id = "XenoPens";
+ name = "Xenobiology Shutters";
+ req_access = list("xenobiology")
+ },
+/obj/effect/landmark/event_spawn,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/side{
+ dir = 1
+ },
+/area/station/science/xenobiology)
"oOb" = (
/obj/effect/spawner/random/engineering/atmospherics_portable,
/turf/open/floor/plating,
@@ -44041,16 +44749,6 @@
/obj/structure/closet/crate/miningcar,
/turf/open/floor/iron,
/area/station/hallway/secondary/dock)
-"oOh" = (
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/machinery/light/small/directional/south,
-/obj/structure/cable,
-/turf/open/floor/iron/white/side{
- dir = 1
- },
-/area/station/science/lobby)
"oOl" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 9
@@ -44120,12 +44818,6 @@
/obj/structure/tram,
/turf/open/floor/tram,
/area/station/maintenance/port/aft)
-"oOR" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/structure/transit_tube/horizontal,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/aft)
"oOV" = (
/obj/effect/turf_decal/siding/thinplating_new/light{
dir = 8
@@ -44165,6 +44857,12 @@
"oPj" = (
/turf/open/floor/engine/plasma,
/area/station/engineering/atmos)
+"oPs" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/sign/departments/aiupload/directional/south,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white,
+/area/station/hallway/primary/starboard)
"oPy" = (
/obj/structure/bookcase/random,
/obj/structure/sign/painting/library{
@@ -44180,13 +44878,17 @@
/turf/open/floor/catwalk_floor/iron_dark,
/area/station/command/heads_quarters/rd)
"oPM" = (
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/machinery/light/cold/directional/north,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white,
+/area/station/science/cytology)
+"oPO" = (
+/obj/effect/mapping_helpers/broken_floor,
+/obj/structure/broken_flooring/pile/directional/east,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/hallway/secondary/dock)
"oPQ" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/light/small/directional/west,
@@ -44234,13 +44936,6 @@
"oQF" = (
/turf/closed/wall/r_wall,
/area/station/security/execution/transfer)
-"oQJ" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/science/cytology)
"oQK" = (
/obj/machinery/atmospherics/components/unary/thermomachine/freezer{
initialize_directions = 8
@@ -44248,6 +44943,14 @@
/obj/effect/turf_decal/siding/wideplating,
/turf/open/floor/wood,
/area/station/engineering/atmos/pumproom)
+"oQM" = (
+/obj/machinery/door/airlock{
+ name = "Xenobiology Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/xenobio,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"oQP" = (
/obj/effect/turf_decal/trimline/neutral/line{
dir = 8
@@ -44258,6 +44961,17 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"oRd" = (
+/obj/item/kirbyplants/random,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/turf/open/floor/iron/white,
+/area/station/science/cytology)
+"oRe" = (
+/obj/machinery/computer/arcade/amputation,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"oRj" = (
/obj/effect/turf_decal/siding/yellow{
dir = 8
@@ -44286,20 +45000,6 @@
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/iron,
/area/station/cargo/storage)
-"oRv" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/red/opposingcorners,
-/obj/effect/turf_decal/tile/blue/opposingcorners{
- dir = 8
- },
-/obj/effect/turf_decal/siding/wood{
- dir = 8
- },
-/obj/item/kirbyplants/random,
-/obj/item/radio/intercom/directional/south,
-/obj/machinery/power/apc/auto_name/directional/west,
-/turf/open/floor/iron/smooth,
-/area/station/service/greenroom)
"oRw" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/airalarm/directional/south,
@@ -44322,12 +45022,6 @@
dir = 8
},
/area/station/service/chapel/storage)
-"oRB" = (
-/obj/machinery/power/apc/auto_name/directional/east,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/greater)
"oRJ" = (
/obj/effect/turf_decal/tile/blue,
/obj/machinery/light/cold/directional/west,
@@ -44345,7 +45039,6 @@
name = "St. Brendan's"
},
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark,
/area/station/maintenance/starboard/greater)
"oRW" = (
@@ -44384,6 +45077,30 @@
/obj/machinery/camera/autoname/directional/south,
/turf/open/floor/carpet/lone,
/area/station/service/chapel/office)
+"oSN" = (
+/obj/structure/cable,
+/obj/machinery/camera/directional/south{
+ c_tag = "Atmospherics - South"
+ },
+/obj/machinery/light/small/directional/south,
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/table,
+/obj/item/storage/box/mousetraps{
+ pixel_x = -3;
+ pixel_y = 8
+ },
+/obj/item/restraints/legcuffs/beartrap{
+ pixel_x = 8;
+ pixel_y = 13
+ },
+/obj/item/flashlight{
+ pixel_y = 4
+ },
+/turf/open/floor/iron/white/small,
+/area/station/service/janitor)
"oTf" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -44406,6 +45123,15 @@
/obj/effect/spawner/random/trash,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
+"oTq" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/construction)
"oTH" = (
/obj/effect/spawner/random/structure/closet_maintenance,
/obj/effect/decal/cleanable/dirt,
@@ -44459,6 +45185,15 @@
},
/turf/open/floor/iron/dark,
/area/station/science/genetics)
+"oTU" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/central/lesser)
"oTZ" = (
/obj/structure/cable,
/obj/structure/reflector/single/anchored{
@@ -44487,17 +45222,10 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"oUB" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/iron/dark/side,
-/area/station/science/xenobiology)
+"oUC" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/turf/open/floor/iron/white,
+/area/station/science/cytology)
"oUJ" = (
/obj/effect/turf_decal/siding/wood{
dir = 10
@@ -44516,6 +45244,28 @@
/obj/structure/cable,
/turf/open/floor/catwalk_floor/iron_smooth,
/area/station/security/evidence)
+"oUW" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/science/xenobiology)
+"oVb" = (
+/obj/structure/table/reinforced,
+/obj/machinery/requests_console/auto_name/directional/east,
+/obj/item/stack/cable_coil{
+ pixel_y = 4
+ },
+/obj/item/stack/cable_coil,
+/obj/item/plant_analyzer{
+ pixel_y = 2;
+ pixel_x = -3
+ },
+/obj/item/healthanalyzer{
+ pixel_y = 2;
+ pixel_x = 3
+ },
+/turf/open/floor/iron/dark,
+/area/station/engineering/storage/tech)
"oVl" = (
/obj/structure/sign/picture_frame/portrait/bar{
pixel_y = 32
@@ -44561,11 +45311,6 @@
},
/turf/open/floor/iron/dark/diagonal,
/area/station/service/bar)
-"oVF" = (
-/obj/structure/hedge,
-/obj/machinery/light/small/directional/east,
-/turf/open/floor/iron/dark,
-/area/station/engineering/storage/tech)
"oVK" = (
/obj/structure/chair{
pixel_y = -2
@@ -44574,6 +45319,14 @@
/obj/machinery/light/cold/directional/north,
/turf/open/floor/iron,
/area/station/security/execution/transfer)
+"oVV" = (
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance/testlab)
"oVW" = (
/obj/effect/turf_decal/weather/dirt{
dir = 5
@@ -44593,12 +45346,6 @@
/obj/machinery/light_switch/directional/west,
/turf/open/floor/carpet/royalblue,
/area/station/command/heads_quarters/captain)
-"oWf" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/dock)
"oWg" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -44618,27 +45365,32 @@
/obj/effect/mapping_helpers/airlock/access/any/command/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/hallway/abandoned_command)
-"oWr" = (
-/obj/machinery/door/airlock{
- name = "Xenobiology Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/xenobio,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/aft)
-"oXa" = (
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance/testlab)
"oXs" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/closet/emcloset,
/turf/open/floor/iron,
/area/station/hallway/secondary/dock)
+"oXz" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/obj/structure/table/reinforced/rglass,
+/obj/item/reagent_containers/cup/glass/mug/nanotrasen{
+ pixel_y = 6;
+ pixel_x = -7
+ },
+/obj/item/storage/box/coffeepack{
+ pixel_x = 8;
+ pixel_y = 6
+ },
+/obj/item/phone{
+ desc = "Supposedly a direct line to Nanotrasen Central Command. It's not even plugged in.";
+ pixel_x = 2;
+ pixel_y = -2
+ },
+/obj/effect/turf_decal/tile/blue/opposingcorners{
+ dir = 8
+ },
+/turf/open/floor/iron/checker,
+/area/station/command/bridge)
"oXK" = (
/obj/structure/cable,
/obj/machinery/power/apc/auto_name/directional/west,
@@ -44652,6 +45404,16 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
+"oXO" = (
+/obj/structure/disposalpipe/junction{
+ dir = 1
+ },
+/obj/structure/broken_flooring/singular/directional/east,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/hallway/secondary/dock)
"oYi" = (
/obj/effect/turf_decal/trimline/neutral/line,
/obj/effect/turf_decal/trimline/neutral/line{
@@ -44667,11 +45429,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"oYj" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/obj/machinery/light_switch/directional/north,
-/turf/open/floor/iron,
-/area/station/commons/fitness/locker_room)
"oYv" = (
/obj/effect/turf_decal/siding/wood,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -44680,20 +45437,19 @@
dir = 8
},
/area/station/engineering/main)
-"oYx" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/heat_exchanging/junction{
- dir = 4
- },
-/turf/open/floor/plating,
-/area/station/tcommsat/server)
"oYF" = (
/obj/structure/reflector/box/anchored{
dir = 4
},
/turf/open/floor/iron/smooth_large,
/area/station/engineering/supermatter/room)
+"oYG" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/obj/machinery/firealarm/directional/south,
+/turf/open/floor/iron/white/small,
+/area/station/commons/fitness/locker_room)
"oYL" = (
/obj/structure/disposalpipe/trunk{
dir = 1
@@ -44702,15 +45458,18 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/iron,
/area/station/hallway/secondary/recreation)
-"oYS" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/computer/station_alert/station_only{
+"oZe" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/neutral/line{
dir = 8
},
-/obj/item/radio/intercom/command/directional/east,
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/command/corporate_dock)
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"oZi" = (
/obj/effect/turf_decal/siding/wideplating/dark/corner,
/obj/effect/turf_decal/tile/dark_red/half/contrasted{
@@ -44718,6 +45477,22 @@
},
/turf/open/floor/iron,
/area/station/security/brig/entrance)
+"oZo" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/central/lesser)
+"oZr" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white,
+/area/station/hallway/primary/starboard)
"oZt" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -44760,13 +45535,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/commons/dorms)
-"oZY" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/airalarm/directional/north,
-/turf/open/floor/iron,
-/area/station/maintenance/department/medical/central)
"oZZ" = (
/obj/structure/disposalpipe/segment,
/obj/effect/landmark/start/depsec/supply,
@@ -44779,10 +45547,26 @@
},
/turf/open/floor/iron/smooth,
/area/station/security/checkpoint/supply)
+"pal" = (
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
+ dir = 4
+ },
+/obj/structure/extinguisher_cabinet/directional/south,
+/obj/machinery/light/no_nightlight/directional/south,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"pan" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/maintenance/solars/port/aft)
+"pao" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/side{
+ dir = 8
+ },
+/area/station/engineering/storage/tech)
"par" = (
/obj/structure/chair/sofa/bench{
dir = 1
@@ -44875,22 +45659,21 @@
},
/turf/open/floor/iron/smooth,
/area/station/service/greenroom)
+"pbQ" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/effect/spawner/random/trash,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/central)
"pbV" = (
/obj/effect/turf_decal/tile/brown/half/contrasted{
dir = 1
},
/turf/open/floor/iron,
/area/station/cargo/lobby)
-"pca" = (
-/obj/structure/cable,
-/obj/machinery/door/firedoor,
-/obj/effect/turf_decal/stripes/red/line{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/red/line,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/iron/small,
-/area/station/hallway/primary/central/fore)
"pcb" = (
/obj/effect/turf_decal/tile/dark_red{
dir = 4
@@ -44898,6 +45681,22 @@
/obj/machinery/firealarm/directional/south,
/turf/open/floor/iron,
/area/station/security/execution/transfer)
+"pcf" = (
+/obj/machinery/holopad,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/smooth,
+/area/station/security/checkpoint/customs)
+"pcu" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/corner,
+/turf/open/floor/iron/dark/side{
+ dir = 10
+ },
+/area/station/engineering/storage/tech)
"pcv" = (
/obj/machinery/door/airlock/command{
name = "Head of Security's Bedroom"
@@ -44907,24 +45706,6 @@
dir = 8
},
/area/station/command/heads_quarters/hos)
-"pcy" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/iron/white/side{
- dir = 1
- },
-/area/station/science/research)
-"pcE" = (
-/obj/machinery/door/airlock/research/glass{
- name = "Break Room"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/general,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/catwalk_floor/iron_white,
-/area/station/science/research)
"pcK" = (
/obj/structure/closet/emcloset,
/obj/effect/turf_decal/tile/blue{
@@ -44937,17 +45718,16 @@
dir = 8
},
/area/station/hallway/primary/central/fore)
-"pcL" = (
-/obj/effect/turf_decal/tile/purple/opposingcorners,
-/obj/effect/turf_decal/siding/green{
- dir = 6
+"pcR" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
},
-/obj/machinery/light/small/directional/south,
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/cafeteria,
-/area/station/science/circuits)
+/turf/open/floor/iron/dark,
+/area/station/science/xenobiology)
"pdf" = (
/obj/structure/transport/linear/tram,
/obj/effect/landmark/transport/transport_id/birdshot/line_2,
@@ -44994,17 +45774,6 @@
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
-"pdU" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/item/storage/box/petridish{
- pixel_x = -8;
- pixel_y = -4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/science/cytology)
"pdY" = (
/obj/machinery/portable_atmospherics/canister/bz,
/turf/open/floor/iron/diagonal,
@@ -45028,22 +45797,34 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/department/engine)
-"pem" = (
-/obj/structure/table/reinforced,
-/obj/item/stock_parts/subspace/transmitter,
-/obj/item/stock_parts/subspace/transmitter,
-/obj/item/stock_parts/subspace/ansible,
-/obj/item/stock_parts/subspace/ansible,
-/obj/item/stock_parts/subspace/ansible,
-/obj/item/stock_parts/subspace/amplifier,
-/obj/item/stock_parts/subspace/amplifier,
-/obj/item/stock_parts/subspace/amplifier,
-/turf/open/floor/iron/dark,
-/area/station/engineering/storage/tech)
+"pel" = (
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
+"pen" = (
+/obj/structure/table,
+/obj/item/storage/box/donkpockets,
+/obj/machinery/light/small/directional/west,
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/structure/cable,
+/turf/open/floor/iron/cafeteria,
+/area/station/science/breakroom)
"peE" = (
/obj/structure/closet,
/turf/open/floor/iron/smooth,
/area/station/cargo/lobby)
+"peH" = (
+/obj/effect/landmark/event_spawn,
+/obj/machinery/atmospherics/components/binary/valve/digital{
+ dir = 4
+ },
+/turf/open/floor/iron/white/small,
+/area/station/science/ordnance/storage)
"peN" = (
/obj/structure/lattice,
/obj/machinery/camera/motion/directional/north{
@@ -45060,6 +45841,15 @@
},
/turf/open/floor/grass,
/area/station/service/chapel)
+"pfb" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/structure/sign/departments/medbay/directional/east,
+/turf/open/floor/iron,
+/area/station/hallway/primary/aft)
"pfd" = (
/obj/effect/turf_decal/stripes/white/corner{
dir = 1
@@ -45113,19 +45903,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"pfC" = (
-/obj/structure/table/glass,
-/obj/item/folder/blue{
- pixel_y = 2
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/carpet/executive,
-/area/station/command/meeting_room)
"pfT" = (
/obj/structure/training_machine,
/turf/open/floor/iron/smooth_large,
@@ -45160,15 +45937,15 @@
/obj/machinery/airalarm/directional/south,
/turf/open/floor/iron/small,
/area/station/security/prison/shower)
-"pgy" = (
+"pgF" = (
/obj/structure/disposalpipe/segment{
- dir = 6
+ dir = 4
},
-/obj/effect/decal/cleanable/cobweb,
-/obj/item/radio/intercom/directional/north,
-/obj/machinery/smartfridge/organ,
-/turf/open/floor/iron/white,
-/area/station/science/cytology)
+/obj/structure/broken_flooring/pile/directional/east,
+/obj/item/flashlight,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/hallway/secondary/dock)
"phd" = (
/obj/effect/turf_decal/siding/red{
dir = 4
@@ -45217,22 +45994,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/fore)
-"phG" = (
-/obj/structure/table/wood,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 4
- },
-/turf/open/floor/stone,
-/area/station/service/bar)
-"phM" = (
-/obj/structure/disposalpipe/junction{
- dir = 1
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/cafeteria,
-/area/station/science/breakroom)
"phY" = (
/obj/structure/railing{
dir = 1
@@ -45263,6 +46024,11 @@
/obj/machinery/light/small/directional/north,
/turf/open/floor/iron/showroomfloor,
/area/station/command/corporate_showroom)
+"pij" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/tcommsat/server)
"pil" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/door/airlock{
@@ -45287,15 +46053,6 @@
/obj/effect/landmark/start/chemist,
/turf/open/floor/iron/dark/small,
/area/station/medical/chemistry)
-"piI" = (
-/obj/structure/table,
-/obj/item/flashlight/lamp{
- pixel_y = 7;
- pixel_x = -5
- },
-/obj/effect/spawner/random/medical/minor_healing,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"piJ" = (
/obj/structure/bed,
/obj/item/bedsheet/purple,
@@ -45309,6 +46066,15 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/fore)
+"piP" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/airlock{
+ name = "Gas Lab Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/ordnance,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/aft)
"pjb" = (
/obj/structure/broken_flooring/singular/directional/south,
/turf/open/floor/iron,
@@ -45342,27 +46108,18 @@
/obj/structure/steam_vent,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"pjA" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
- },
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
-"pjT" = (
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
+"pjD" = (
+/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/recreation)
+/obj/effect/spawner/random/engineering/tracking_beacon,
+/obj/effect/turf_decal/siding/dark{
+ dir = 1
+ },
+/turf/open/floor/iron/dark/textured_half{
+ dir = 1
+ },
+/area/station/command/bridge)
"pjX" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -45407,6 +46164,23 @@
/obj/item/weldingtool,
/turf/open/floor/iron/dark,
/area/station/maintenance/department/engine/atmos)
+"pkF" = (
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/machinery/firealarm/directional/south,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/catwalk_floor/iron_white,
+/area/station/science/robotics/augments)
+"pkN" = (
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 9
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/turf/open/floor/iron/dark,
+/area/station/medical/morgue)
"pkQ" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 8
@@ -45447,6 +46221,19 @@
},
/turf/open/floor/grass,
/area/station/service/hydroponics)
+"pkY" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/navbeacon{
+ codes_txt = "patrol;next_patrol=10.0-ScienceFoyer-StarboardHall";
+ location = "9.0-StarboardHall-ScienceFoyer"
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
"plf" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -45464,22 +46251,6 @@
},
/turf/open/floor/iron/small,
/area/station/hallway/primary/starboard)
-"plz" = (
-/obj/machinery/door/poddoor/preopen{
- id = "bridge blast";
- name = "Bridge Blast Door"
- },
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/station/command/corporate_showroom)
-"plB" = (
-/obj/machinery/door/airlock/centcom{
- name = "Frozeno!"
- },
-/obj/effect/mapping_helpers/airlock/abandoned,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/service/abandoned_gambling_den/gaming)
"plJ" = (
/obj/machinery/photocopier,
/obj/effect/turf_decal/siding/wood{
@@ -45498,6 +46269,24 @@
},
/turf/open/floor/catwalk_floor/titanium,
/area/station/command/heads_quarters/ce)
+"pmj" = (
+/obj/machinery/door/airlock/command/glass{
+ name = "E.V.A. Storage"
+ },
+/obj/effect/turf_decal/delivery,
+/obj/machinery/door/firedoor,
+/obj/effect/mapping_helpers/airlock/access/all/command/eva,
+/obj/effect/turf_decal/stripes/corner,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/turf/open/floor/iron/smooth_half{
+ dir = 1
+ },
+/area/station/ai_monitored/command/storage/eva)
"pmq" = (
/obj/structure/bed/maint,
/obj/effect/decal/cleanable/dirt,
@@ -45525,6 +46314,14 @@
},
/turf/open/floor/iron/diagonal,
/area/station/engineering/lobby)
+"pmH" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/medical/medbay/lobby)
"pmN" = (
/obj/structure/cable,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
@@ -45532,45 +46329,22 @@
},
/turf/open/floor/iron,
/area/station/security/prison/workout)
-"pmZ" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 1
- },
-/obj/machinery/chem_dispenser/drinks/beer{
- dir = 1
- },
-/obj/structure/table/wood/fancy/red,
-/turf/open/floor/wood/large,
-/area/station/maintenance/department/science/xenobiology)
-"pnf" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/machinery/computer/security/telescreen/entertainment/directional/west,
-/turf/open/floor/iron,
-/area/station/hallway/primary/aft)
"pnl" = (
/turf/closed/wall/r_wall,
/area/station/maintenance/department/electrical)
-"pnq" = (
-/obj/machinery/door/airlock/public{
- name = "Locker Room"
+"pnp" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/obj/effect/turf_decal/tile/red/half/contrasted{
+ dir = 1
},
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/textured_half,
-/area/station/commons/fitness/recreation)
+/turf/open/floor/iron/smooth,
+/area/station/security/checkpoint/customs/auxiliary)
"pnt" = (
/obj/structure/broken_flooring/corner/directional/south,
/obj/machinery/firealarm/directional/south,
/turf/open/floor/plating,
/area/station/maintenance/starboard/greater)
-"pnB" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random/trash,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"pnF" = (
/obj/effect/turf_decal/tile/green/opposingcorners,
/obj/effect/turf_decal/tile/blue/opposingcorners{
@@ -45594,6 +46368,11 @@
/obj/structure/flora/bush/jungle/c/style_random,
/turf/open/floor/grass,
/area/station/service/chapel)
+"pnO" = (
+/obj/effect/spawner/structure/window/reinforced/tinted,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/science/server)
"pnQ" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 6
@@ -45620,11 +46399,10 @@
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
"pof" = (
-/obj/effect/turf_decal/siding/thinplating_new/terracotta,
-/obj/machinery/vending/coffee,
-/obj/machinery/light/small/directional/north,
-/turf/open/floor/iron/dark/smooth_large,
-/area/station/command/meeting_room)
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/grimy,
+/area/station/commons/vacant_room/office)
"pog" = (
/obj/effect/turf_decal/siding/wood,
/turf/open/floor/iron/freezer,
@@ -45645,6 +46423,13 @@
},
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
+"poy" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/thinplating_new/terracotta/corner,
+/turf/open/floor/wood/tile,
+/area/station/command/meeting_room)
"poA" = (
/obj/machinery/portable_atmospherics/canister/air,
/obj/machinery/light/small/dim/directional/east,
@@ -45687,33 +46472,20 @@
/obj/effect/turf_decal/siding/wideplating/dark/corner,
/turf/open/floor/iron,
/area/station/security)
+"poX" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/door/airlock{
+ id_tag = "AuxToilet3";
+ name = "Unit 3"
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/station/maintenance/department/science/xenobiology)
"ppk" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
},
/turf/open/floor/iron,
/area/station/cargo/storage)
-"ppm" = (
-/obj/effect/mapping_helpers/broken_floor,
-/obj/item/clothing/head/cone{
- pixel_x = 6;
- pixel_y = 1
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/dock)
-"ppp" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/structure/chair{
- pixel_y = -2
- },
-/obj/effect/turf_decal/siding/blue,
-/turf/open/floor/iron/white/small,
-/area/station/command/heads_quarters/cmo)
"pps" = (
/obj/effect/turf_decal/stripes/line,
/obj/structure/window/spawner/directional/north,
@@ -45769,6 +46541,14 @@
"pqm" = (
/turf/closed/wall/r_wall,
/area/station/engineering/storage/tcomms)
+"pqn" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 8
+ },
+/turf/open/floor/iron/white/side,
+/area/station/science/lobby)
"pqr" = (
/obj/machinery/portable_atmospherics/canister/air,
/obj/effect/turf_decal/bot{
@@ -45779,6 +46559,25 @@
},
/turf/open/floor/iron/dark,
/area/station/engineering/atmos/storage)
+"pqA" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/obj/structure/table/wood,
+/obj/item/paper/fluff/ids_for_dummies{
+ pixel_x = 5
+ },
+/obj/item/paper_bin/carbon{
+ pixel_x = -2;
+ pixel_y = 4
+ },
+/obj/item/stamp/head/hop{
+ pixel_x = -4;
+ pixel_y = 4
+ },
+/turf/open/floor/iron/large,
+/area/station/command/heads_quarters/hop)
"pqK" = (
/obj/structure/cable,
/obj/machinery/door/window/left/directional/south,
@@ -45802,17 +46601,13 @@
/obj/structure/extinguisher_cabinet/directional/north,
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
-"pqT" = (
-/obj/effect/turf_decal/tile/blue/fourcorners,
-/obj/item/kirbyplants/random,
-/turf/open/floor/iron/white,
-/area/station/medical/medbay/lobby)
-"prf" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/structure/sign/warning/electric_shock,
+"pqW" = (
/obj/structure/cable,
-/turf/open/floor/engine,
-/area/station/science/cytology)
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/turf/open/floor/iron,
+/area/station/commons/fitness/locker_room)
"prh" = (
/obj/effect/turf_decal/stripes/red/line{
dir = 10
@@ -45827,6 +46622,21 @@
/obj/effect/landmark/start/prisoner,
/turf/open/floor/iron/dark,
/area/station/security/prison/safe)
+"pru" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/obj/machinery/airalarm/directional/east,
+/turf/open/floor/grass,
+/area/station/medical/virology)
+"prI" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/science/cytology)
"prP" = (
/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
dir = 4
@@ -45848,18 +46658,20 @@
},
/turf/open/floor/catwalk_floor/iron_smooth,
/area/station/command/teleporter)
-"psn" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/door/airlock/research/glass{
- name = "Gun Range"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/general,
+"psw" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/smooth_half{
- dir = 1
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/red/opposingcorners,
+/obj/effect/turf_decal/tile/blue/opposingcorners{
+ dir = 8
},
-/area/station/science/auxlab/firing_range)
+/obj/machinery/firealarm/directional/north,
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/turf/open/floor/iron/smooth,
+/area/station/service/greenroom)
"psz" = (
/obj/machinery/door/window/left/directional/west{
name = "Fitness Ring"
@@ -45916,13 +46728,6 @@
/obj/structure/broken_flooring/corner/directional/south,
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
-"ptj" = (
-/obj/machinery/power/apc/auto_name/directional/east,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/diagonal,
-/area/station/science/auxlab/firing_range)
"ptl" = (
/obj/machinery/duct,
/turf/open/floor/plating,
@@ -45945,6 +46750,18 @@
/obj/machinery/light/small/directional/east,
/turf/open/floor/stone,
/area/station/command/corporate_suite)
+"ptv" = (
+/obj/machinery/light/cold/directional/north,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/dock)
+"ptz" = (
+/obj/machinery/firealarm/directional/north,
+/obj/machinery/atmospherics/pipe/smart/simple/dark/hidden{
+ dir = 10
+ },
+/turf/open/floor/circuit,
+/area/station/tcommsat/server)
"ptC" = (
/obj/machinery/shower/directional/west,
/obj/effect/turf_decal/siding/thinplating/dark{
@@ -45968,10 +46785,31 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
+"pua" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/neutral/line,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
+"puh" = (
+/obj/machinery/incident_display/delam/directional/north,
+/obj/structure/closet/secure_closet/engineering_personal,
+/obj/item/clothing/suit/hooded/wintercoat/engineering,
+/turf/open/floor/iron/small,
+/area/station/engineering/break_room)
"puk" = (
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/cargo/lobby)
+"puo" = (
+/turf/open/floor/iron/showroomfloor,
+/area/station/commons/toilet/auxiliary)
"pus" = (
/obj/effect/turf_decal/box/red/corners,
/obj/effect/turf_decal/stripes/white/line{
@@ -45999,17 +46837,30 @@
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/turf/open/floor/iron,
/area/station/commons/fitness/recreation/entertainment)
+"pvu" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/firealarm/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/medical/medbay/central)
"pvC" = (
/obj/structure/disposalpipe/segment{
dir = 10
},
/turf/open/floor/wood,
/area/station/service/chapel/office)
-"pvU" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random/structure/table_or_rack,
-/turf/open/floor/catwalk_floor/iron_dark,
-/area/station/maintenance/department/science/xenobiology)
+"pvS" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/computer/station_alert/station_only{
+ dir = 8
+ },
+/obj/item/radio/intercom/command/directional/east,
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/command/corporate_dock)
"pvY" = (
/obj/effect/turf_decal/tile/blue/anticorner/contrasted{
dir = 1
@@ -46018,6 +46869,18 @@
/obj/structure/reagent_dispensers/water_cooler,
/turf/open/floor/iron/white,
/area/station/medical/medbay/lobby)
+"pwj" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/iron/dark/diagonal,
+/area/station/ai_monitored/command/storage/eva)
"pwn" = (
/obj/effect/spawner/random/vending/colavend,
/obj/structure/sign/departments/telecomms/directional/south,
@@ -46028,6 +46891,12 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/maintenance/hallway/abandoned_command)
+"pwA" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/turf/open/floor/iron/white/side,
+/area/station/science/research)
"pwN" = (
/turf/open/floor/iron/dark/small,
/area/station/service/chapel/storage)
@@ -46040,12 +46909,25 @@
/obj/machinery/light/no_nightlight/directional/north,
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"pxe" = (
+/obj/structure/chair/office{
+ dir = 8
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/smooth,
+/area/station/security/checkpoint/customs)
"pxj" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark/herringbone,
/area/station/security/execution/education)
+"pxk" = (
+/obj/machinery/light/small/directional/south,
+/turf/open/floor/engine/bz,
+/area/station/science/xenobiology)
"pxx" = (
/obj/effect/turf_decal/tile/yellow/half/contrasted{
dir = 8
@@ -46078,14 +46960,11 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/iron,
/area/station/maintenance/starboard/aft)
-"pyk" = (
-/obj/structure/closet/crate/trashcart/filled,
-/obj/structure/spider/stickyweb,
-/obj/effect/spawner/random/maintenance/four,
-/obj/machinery/power/apc/auto_name/directional/east,
+"pyr" = (
+/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
-/turf/open/floor/stone,
-/area/station/service/abandoned_gambling_den)
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/greater)
"pys" = (
/obj/structure/sign/warning/fire,
/turf/closed/wall/r_wall,
@@ -46100,6 +46979,14 @@
/obj/machinery/light/small/directional/east,
/turf/open/floor/iron,
/area/station/maintenance/hallway/abandoned_command)
+"pyM" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/central)
"pzb" = (
/obj/effect/turf_decal/trimline/blue/corner{
dir = 1
@@ -46111,12 +46998,6 @@
"pzd" = (
/turf/closed/wall,
/area/station/commons/fitness/recreation/entertainment)
-"pzg" = (
-/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
- dir = 5
- },
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance)
"pzk" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -46135,6 +47016,16 @@
/obj/structure/extinguisher_cabinet/directional/west,
/turf/open/floor/iron,
/area/station/security/execution/transfer)
+"pzG" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/door/airlock{
+ name = "Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/central)
"pzL" = (
/obj/structure/cable,
/obj/effect/spawner/structure/window/reinforced,
@@ -46147,24 +47038,6 @@
/obj/item/stack/sheet/mineral/titanium,
/turf/open/floor/tram,
/area/station/maintenance/department/medical/central)
-"pAg" = (
-/obj/machinery/light/small/directional/south,
-/obj/structure/chair/wood{
- dir = 4
- },
-/turf/open/misc/dirt/station,
-/area/station/medical/morgue)
-"pAl" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/siding/white{
- dir = 5
- },
-/obj/machinery/light_switch/directional/east,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/iron/dark/small,
-/area/station/science/xenobiology)
"pAo" = (
/obj/structure/window/spawner/directional/south,
/obj/effect/turf_decal/stripes/end{
@@ -46185,30 +47058,21 @@
},
/turf/open/floor/iron,
/area/station/security)
-"pAs" = (
+"pAr" = (
/obj/effect/decal/cleanable/dirt,
-/obj/machinery/camera/directional/south{
- c_tag = "Xenobiology - Cell 6";
- name = "xenobiology camera";
- network = list("ss13","xeno","rd")
- },
-/obj/effect/turf_decal/box/red/corners{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/white/line{
- dir = 9
- },
-/turf/open/floor/engine,
-/area/station/science/xenobiology)
-"pAC" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/science/ordnance/testlab)
+/obj/effect/spawner/random/trash,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"pAH" = (
/obj/machinery/vending/coffee,
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
+"pAS" = (
+/obj/structure/hedge,
+/turf/open/floor/iron/dark,
+/area/station/engineering/storage/tech)
"pAU" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -46223,21 +47087,12 @@
},
/turf/open/floor/iron/smooth,
/area/station/cargo/warehouse)
-"pAY" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/structure/extinguisher_cabinet/directional/north,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+"pBa" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/corner{
- dir = 1
- },
-/area/station/hallway/secondary/dock)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/tile/neutral,
+/turf/open/floor/iron,
+/area/station/commons/fitness/locker_room)
"pBm" = (
/obj/machinery/light/small/directional/west,
/turf/open/floor/iron/dark,
@@ -46258,6 +47113,14 @@
/obj/structure/sign/poster/official/random/directional/north,
/turf/open/floor/carpet,
/area/station/maintenance/hallway/abandoned_recreation)
+"pBp" = (
+/obj/effect/turf_decal/siding/wood,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/simple/dark/hidden,
+/turf/open/floor/iron/grimy,
+/area/station/tcommsat/server)
"pBu" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/tile/neutral{
@@ -46302,17 +47165,18 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
+"pCj" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/blue/anticorner/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron/white,
+/area/station/medical/medbay/lobby)
"pCn" = (
/turf/closed/wall/r_wall,
/area/station/engineering/atmos/project)
-"pCv" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/recreation)
"pCC" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 1
@@ -46327,25 +47191,6 @@
},
/turf/open/floor/iron/dark/small,
/area/station/security/brig)
-"pCT" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
-"pCU" = (
-/obj/machinery/door/airlock{
- name = "Supply Closet"
- },
-/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
-/obj/effect/mapping_helpers/airlock/unres{
- dir = 1
- },
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/aft)
"pDr" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -46357,34 +47202,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/security/prison/rec)
-"pDD" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/wood/tile,
-/area/station/service/lawoffice)
-"pDK" = (
-/obj/structure/rack,
-/obj/effect/spawner/random/techstorage/engineering_all,
-/obj/effect/turf_decal/tile/yellow/opposingcorners,
-/obj/effect/turf_decal/bot,
-/obj/machinery/light/small/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/engineering/storage/tech)
-"pDQ" = (
-/obj/structure/table/glass,
-/obj/effect/decal/cleanable/dirt,
-/obj/item/folder/blue,
-/obj/item/stamp/law,
-/obj/effect/landmark/event_spawn,
-/obj/item/clothing/glasses/sunglasses{
- pixel_y = 15
- },
-/obj/structure/cable,
-/turf/open/floor/wood/tile,
-/area/station/service/lawoffice)
"pDU" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/neutral{
@@ -46396,6 +47213,15 @@
/obj/structure/chair/stool/directional/east,
/turf/open/floor/iron/herringbone,
/area/station/commons/dorms)
+"pEj" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/machinery/light/warm/directional/east,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/commons/fitness/recreation/entertainment)
"pEo" = (
/obj/item/radio/intercom/directional/west,
/obj/structure/disposalpipe/segment,
@@ -46412,15 +47238,6 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"pEq" = (
-/obj/structure/disposalpipe/junction/flip{
- dir = 1
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/fore)
"pEs" = (
/obj/effect/turf_decal/siding/blue,
/turf/open/floor/iron/white,
@@ -46447,15 +47264,32 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/commons/dorms)
+"pEy" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/science/robotics/lab)
"pEB" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/turf/open/floor/iron,
/area/station/security/prison)
+"pEC" = (
+/obj/effect/turf_decal/stripes/white/line,
+/turf/open/floor/iron/dark/side,
+/area/station/cargo/storage)
"pED" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden,
/turf/open/floor/iron/white/small,
/area/station/science/server)
+"pEF" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/diagonal,
+/area/station/ai_monitored/command/storage/eva)
"pEL" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/blue{
@@ -46501,25 +47335,25 @@
},
/turf/open/floor/wood,
/area/station/engineering/atmospherics_engine)
-"pEU" = (
-/obj/effect/mapping_helpers/airlock/access/all/service/kitchen,
-/obj/machinery/door/airlock/freezer{
- name = "Freezer"
- },
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/heat_exchanging/junction{
- dir = 1
- },
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/iron/freezer,
-/area/station/service/kitchen)
"pFk" = (
/obj/structure/broken_flooring/singular/directional/east,
/obj/effect/decal/cleanable/dirt,
/obj/structure/alien/weeds,
/turf/open/floor/plating,
/area/station/maintenance/starboard/greater)
-"pFI" = (
+"pFv" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/railing{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/white/corner,
+/area/station/commons/dorms)
+"pFx" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
@@ -46541,6 +47375,12 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/department/electrical)
+"pFN" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark,
+/area/station/tcommsat/server)
"pFQ" = (
/obj/effect/turf_decal/tile/red/half/contrasted{
dir = 8
@@ -46561,16 +47401,22 @@
},
/turf/open/floor/plating,
/area/station/maintenance/department/engine/atmos)
-"pGp" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
+"pFZ" = (
+/obj/structure/window/reinforced/spawner/directional/east,
+/obj/machinery/button/door/directional/north{
+ id = "Xenolab";
+ name = "Test Chamber Blast Doors";
+ pixel_x = 26;
+ pixel_y = -2;
+ req_access = list("xenobiology")
},
-/obj/machinery/camera/autoname/directional/south,
-/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/dock)
+/obj/machinery/atmospherics/components/binary/pump,
+/turf/open/floor/iron/white/side{
+ dir = 8
+ },
+/area/station/science/xenobiology)
"pGE" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -46582,11 +47428,6 @@
/obj/machinery/telecomms/processor/preset_two,
/turf/open/floor/circuit,
/area/station/tcommsat/server)
-"pGK" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/dock)
"pGR" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
@@ -46626,18 +47467,20 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/iron/chapel,
/area/station/maintenance/starboard/greater)
-"pHq" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
"pHw" = (
/obj/structure/table,
/obj/effect/decal/cleanable/dirt,
/obj/item/airlock_painter,
/turf/open/floor/iron,
/area/station/commons/storage/art)
+"pHy" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/obj/machinery/disposal/bin,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/iron/white,
+/area/station/medical/treatment_center)
"pHA" = (
/obj/effect/turf_decal/weather/dirt{
dir = 6
@@ -46658,12 +47501,9 @@
},
/area/station/commons/storage/tools)
"pHI" = (
-/obj/structure/hedge,
-/obj/effect/turf_decal/siding/thinplating_new/terracotta/corner{
- dir = 8
- },
-/turf/open/floor/wood/tile,
-/area/station/command/corporate_showroom)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/wood,
+/area/station/commons/fitness/recreation)
"pHJ" = (
/turf/open/floor/plating/rust,
/area/station/maintenance/starboard/greater)
@@ -46701,6 +47541,20 @@
/obj/structure/reagent_dispensers/plumbed,
/turf/open/floor/iron/kitchen/small,
/area/station/security/prison/mess)
+"pIe" = (
+/obj/effect/mapping_helpers/airlock/access/all/science/rd,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/command{
+ name = "Research Director's Office"
+ },
+/obj/machinery/door/poddoor/preopen{
+ id = "rdoffice";
+ name = "Research Director's Shutters"
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/catwalk_floor/iron_white,
+/area/station/command/heads_quarters/rd)
"pIf" = (
/obj/structure/table,
/obj/machinery/light/small/directional/east,
@@ -46755,18 +47609,6 @@
},
/turf/open/floor/iron/white/small,
/area/station/service/hydroponics)
-"pIM" = (
-/obj/effect/mapping_helpers/broken_floor,
-/obj/structure/table/wood,
-/obj/item/reagent_containers/cup/glass/shaker{
- pixel_x = -6
- },
-/obj/item/reagent_containers/cup/glass/bottle/wine/unlabeled{
- pixel_x = 6;
- pixel_y = 4
- },
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"pIS" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/poddoor/preopen{
@@ -46775,12 +47617,33 @@
},
/turf/open/floor/plating,
/area/station/command/bridge)
+"pJa" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/mapping_helpers/broken_floor,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/dock)
"pJc" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/holopad,
/obj/structure/cable,
/turf/open/floor/stone,
/area/station/service/bar)
+"pJe" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms,
+/obj/machinery/door/airlock/command/glass{
+ name = "Telecommunications Server Room"
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/station/tcommsat/server)
"pJj" = (
/obj/structure/chair/sofa/bench/left{
dir = 1
@@ -46796,24 +47659,11 @@
/obj/effect/landmark/start/cargo_technician,
/turf/open/floor/iron,
/area/station/cargo/storage)
-"pJr" = (
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance)
-"pJu" = (
-/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms,
-/obj/machinery/door/airlock/command/glass{
- name = "Telecommunications Server Room"
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/heat_exchanging/junction{
- dir = 1
- },
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/catwalk_floor/iron_dark,
-/area/station/tcommsat/server)
+"pJn" = (
+/obj/structure/closet/secure_closet/personal,
+/obj/item/radio/intercom/directional/south,
+/turf/open/floor/iron,
+/area/station/commons/fitness/locker_room)
"pJv" = (
/obj/structure/chair/stool/directional/south,
/turf/open/floor/iron/smooth,
@@ -46831,11 +47681,6 @@
/obj/effect/spawner/random/armory/shotgun,
/turf/open/floor/plating,
/area/station/ai_monitored/security/armory)
-"pJz" = (
-/obj/machinery/firealarm/directional/west,
-/obj/structure/urinal/directional/south,
-/turf/open/floor/iron/showroomfloor,
-/area/station/commons/toilet/auxiliary)
"pKi" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/security{
@@ -46871,46 +47716,12 @@
/obj/machinery/light/cold/directional/north,
/turf/open/floor/iron/white,
/area/station/medical/medbay/lobby)
-"pKS" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/effect/turf_decal/siding/blue{
- dir = 10
- },
-/turf/open/floor/iron/white/small,
-/area/station/command/heads_quarters/cmo)
-"pKU" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"pKW" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/firealarm/directional/west,
/turf/open/floor/iron/dark,
/area/station/engineering/atmospherics_engine)
-"pLe" = (
-/obj/structure/cable,
-/obj/effect/landmark/navigate_destination,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/mapping_helpers/airlock/access/all/engineering/tech_storage,
-/obj/effect/turf_decal/siding/yellow{
- dir = 8
- },
-/obj/effect/turf_decal/siding/yellow{
- dir = 4
- },
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/engineering{
- name = "Tech Storage"
- },
-/turf/open/floor/iron/dark/textured,
-/area/station/engineering/storage/tech)
"pLf" = (
/obj/machinery/griddle,
/obj/effect/turf_decal/siding{
@@ -46925,22 +47736,6 @@
},
/turf/open/floor/iron/cafeteria,
/area/station/hallway/secondary/exit/departure_lounge)
-"pLr" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/delivery,
-/obj/machinery/door/firedoor,
-/obj/effect/mapping_helpers/airlock/access/any/command/general,
-/obj/machinery/door/airlock/command{
- name = "Council Chambers"
- },
-/obj/machinery/door/poddoor/preopen{
- id = "bridge blast";
- name = "Bridge Blast Door"
- },
-/turf/open/floor/iron/dark/textured_half,
-/area/station/command/corporate_showroom)
"pLI" = (
/obj/structure/table/reinforced,
/obj/machinery/door/firedoor,
@@ -46966,6 +47761,13 @@
/obj/machinery/computer/security/telescreen/entertainment/directional/north,
/turf/open/floor/iron/cafeteria,
/area/station/hallway/secondary/exit/departure_lounge)
+"pMf" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/obj/structure/urinal/directional/south,
+/turf/open/floor/iron/showroomfloor,
+/area/station/commons/toilet/auxiliary)
"pMq" = (
/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{
dir = 4
@@ -46981,16 +47783,44 @@
},
/turf/open/floor/wood,
/area/station/engineering/atmos/office)
+"pMs" = (
+/obj/structure/transit_tube/horizontal,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/maintenance/starboard/aft)
"pMA" = (
/obj/machinery/light/small/directional/east,
/turf/open/floor/catwalk_floor/iron_dark,
/area/station/science/xenobiology)
+"pME" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/light/cold/directional/south,
+/obj/machinery/atmospherics/components/tank/oxygen{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/station/science/ordnance/storage)
"pMM" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
dir = 1
},
/turf/open/floor/engine,
/area/station/engineering/supermatter)
+"pMN" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/delivery,
+/obj/machinery/door/airlock/command{
+ name = "Council Chambers"
+ },
+/obj/machinery/door/firedoor,
+/obj/effect/mapping_helpers/airlock/access/any/command/general,
+/obj/effect/turf_decal/siding/dark/corner{
+ dir = 1
+ },
+/turf/open/floor/iron/dark/textured_half,
+/area/station/command/bridge)
"pMS" = (
/obj/structure/table,
/obj/machinery/light/small/directional/south,
@@ -47043,6 +47873,14 @@
},
/turf/open/floor/wood/tile,
/area/station/command/corporate_showroom)
+"pNo" = (
+/obj/structure/disposalpipe/sorting/mail{
+ dir = 4
+ },
+/obj/effect/mapping_helpers/mail_sorting/science/rd_office,
+/obj/structure/cable,
+/turf/open/floor/iron/white/side,
+/area/station/science/research)
"pNC" = (
/turf/open/floor/iron/dark/side{
dir = 1
@@ -47057,14 +47895,6 @@
/obj/item/stock_parts/subspace/filter,
/turf/open/floor/iron/dark,
/area/station/engineering/storage/tcomms)
-"pNO" = (
-/obj/effect/turf_decal/siding{
- dir = 1
- },
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/turf/open/floor/iron/white/small,
-/area/station/science/lab)
"pNZ" = (
/obj/structure/sign/directions/dorms{
dir = 4
@@ -47099,10 +47929,6 @@
},
/turf/open/floor/iron/white,
/area/station/medical/medbay/lobby)
-"pOq" = (
-/obj/effect/spawner/random/trash/moisture_trap,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"pOw" = (
/obj/effect/turf_decal/stripes/corner{
dir = 1
@@ -47132,12 +47958,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/department/prison)
-"pOL" = (
-/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer2{
- dir = 9
- },
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance)
"pOM" = (
/obj/machinery/door/firedoor,
/obj/effect/turf_decal/stripes/red/line{
@@ -47164,12 +47984,6 @@
},
/turf/open/floor/wood/parquet,
/area/station/service/library)
-"pOX" = (
-/obj/effect/turf_decal/trimline/neutral/end{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/medical/morgue)
"pPj" = (
/obj/structure/mirror/directional/east,
/obj/structure/chair/stool/bar/directional/east,
@@ -47188,24 +48002,22 @@
/obj/item/airlock_painter,
/turf/open/floor/iron/small,
/area/station/engineering/atmos/storage/gas)
-"pPp" = (
-/obj/effect/spawner/random/engineering/tracking_beacon,
-/obj/machinery/atmospherics/pipe/smart/simple/general/visible{
- dir = 4
- },
-/turf/open/floor/engine/bz,
-/area/station/science/xenobiology)
-"pPt" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/siding/blue/corner{
+"pPn" = (
+/obj/structure/closet/crate/grave,
+/turf/open/misc/dirt/station,
+/area/station/medical/morgue)
+"pPw" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 1
},
-/turf/open/floor/iron/white/small,
-/area/station/medical/storage)
-"pPD" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden,
-/turf/closed/wall,
-/area/station/science/ordnance/testlab)
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/side{
+ dir = 1
+ },
+/area/station/science/xenobiology)
"pPK" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -47229,6 +48041,30 @@
/obj/structure/reagent_dispensers/fueltank,
/turf/open/floor/plating,
/area/station/maintenance/aft)
+"pQc" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/red/opposingcorners,
+/obj/effect/turf_decal/tile/blue/opposingcorners{
+ dir = 8
+ },
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
+ },
+/obj/item/kirbyplants/random,
+/obj/item/radio/intercom/directional/south,
+/obj/machinery/power/apc/auto_name/directional/west,
+/turf/open/floor/iron/smooth,
+/area/station/service/greenroom)
+"pQh" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/camera/autoname/directional/south,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/dock)
"pQj" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating,
@@ -47246,28 +48082,24 @@
/obj/machinery/firealarm/directional/north,
/turf/open/floor/iron/smooth_large,
/area/station/science/robotics/mechbay)
-"pQE" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/machinery/door/poddoor/preopen{
- id = "Xenolab";
- name = "Test Chamber Blast Door"
+"pQv" = (
+/obj/structure/rack,
+/obj/item/poster/random_contraband{
+ pixel_y = 8
},
-/obj/machinery/door/poddoor/shutters/preopen{
- id = "XenoPens";
- name = "Xenobiology Lockdown"
+/obj/item/poster/random_contraband{
+ pixel_y = 4
},
-/obj/structure/cable,
-/turf/open/floor/engine,
-/area/station/hallway/secondary/entry)
+/obj/item/poster/random_contraband,
+/obj/effect/turf_decal/bot_white,
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/turf/open/floor/iron/dark,
+/area/station/maintenance/department/science/xenobiology)
"pQP" = (
/obj/effect/turf_decal/tile/brown/opposingcorners,
/obj/machinery/atmospherics/components/unary/bluespace_sender,
/turf/open/floor/iron/small,
/area/station/engineering/atmos/office)
-"pQW" = (
-/obj/machinery/atmospherics/pipe/smart/simple/purple/visible,
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance)
"pRc" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -47346,6 +48178,15 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/department/prison)
+"pSk" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/wood/parquet,
+/area/station/medical/psychology)
"pSq" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/sign/poster/official/random/directional/north,
@@ -47365,6 +48206,27 @@
},
/turf/open/floor/plating,
/area/station/science/ordnance/testlab)
+"pSC" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/door/airlock/public/glass{
+ name = "Research Wing"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "sci-entrance"
+ },
+/obj/machinery/door/firedoor,
+/obj/machinery/door/poddoor/shutters/preopen{
+ dir = 8;
+ id = "rdrnd";
+ name = "Research and Development Shutters"
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/textured_half{
+ dir = 1
+ },
+/area/station/hallway/primary/starboard)
"pSN" = (
/obj/item/radio/intercom/directional/south,
/obj/machinery/holopad,
@@ -47379,21 +48241,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"pST" = (
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/greater)
-"pTh" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/iron/smooth,
-/area/station/hallway/secondary/command)
-"pTi" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/dock)
"pTk" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -47438,6 +48285,15 @@
},
/turf/closed/wall/r_wall,
/area/station/maintenance/department/engine/atmos)
+"pTY" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 1
+ },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/small,
+/area/station/service/barber)
"pTZ" = (
/obj/effect/turf_decal/siding/wideplating/dark{
dir = 8
@@ -47449,6 +48305,21 @@
/obj/effect/turf_decal/tile/green,
/turf/open/floor/iron/dark,
/area/station/medical/chemistry)
+"pUl" = (
+/obj/structure/railing{
+ dir = 4
+ },
+/obj/structure/railing{
+ dir = 8
+ },
+/turf/open/floor/iron/stairs,
+/area/station/maintenance/department/science/xenobiology)
+"pUm" = (
+/obj/effect/turf_decal/trimline/dark/end{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/small,
+/area/station/maintenance/department/science/xenobiology)
"pUs" = (
/obj/machinery/door/firedoor,
/obj/effect/mapping_helpers/airlock/access/any/engineering/construction,
@@ -47463,29 +48334,18 @@
/obj/effect/mapping_helpers/airlock/access/any/engineering/general,
/turf/open/floor/catwalk_floor,
/area/station/engineering/break_room)
-"pUx" = (
-/obj/structure/closet/crate/freezer/blood,
-/obj/machinery/camera/autoname/directional/east,
-/obj/effect/turf_decal/tile/dark_blue/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/siding/white{
- dir = 1
- },
-/turf/open/floor/iron/kitchen_coldroom,
-/area/station/medical/coldroom)
-"pUy" = (
-/obj/effect/turf_decal/siding/thinplating_new/terracotta,
-/obj/structure/bookcase/random,
-/obj/effect/turf_decal/siding/thinplating_new/terracotta{
- dir = 6
- },
-/turf/open/floor/iron/dark/smooth_large,
-/area/station/command/meeting_room)
"pUA" = (
/obj/machinery/space_heater,
/turf/open/floor/iron/dark,
/area/station/engineering/atmos/storage)
+"pUB" = (
+/obj/item/radio/intercom/directional/west,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side{
+ dir = 4
+ },
+/area/station/science/lobby)
"pUC" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/doppler_array{
@@ -47494,17 +48354,6 @@
/obj/item/radio/intercom/directional/north,
/turf/open/floor/iron/dark,
/area/station/science/ordnance/testlab)
-"pUL" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/structure/table/reinforced/plastitaniumglass,
-/obj/machinery/computer/records/medical/laptop{
- dir = 8;
- pixel_y = 1
- },
-/obj/machinery/light/small/directional/east,
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/command/corporate_dock)
"pUM" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
/obj/effect/turf_decal/stripes/line,
@@ -47525,13 +48374,6 @@
},
/turf/open/floor/iron/dark/small,
/area/station/security/processing)
-"pVa" = (
-/obj/machinery/firealarm/directional/west,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/turf/open/floor/iron/white,
-/area/station/science/auxlab/firing_range)
"pVj" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/tile/neutral{
@@ -47570,18 +48412,35 @@
dir = 1
},
/area/station/cargo/lobby)
-"pWl" = (
-/obj/machinery/firealarm/directional/west,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/corner{
+"pVY" = (
+/obj/structure/reagent_dispensers/beerkeg,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
+"pWb" = (
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
dir = 4
},
-/area/station/science/lobby)
+/obj/machinery/shower/directional/west,
+/turf/open/floor/iron/dark,
+/area/station/medical/pharmacy)
"pWm" = (
/turf/closed/wall,
/area/station/maintenance/department/electrical)
+"pWq" = (
+/obj/effect/turf_decal/siding{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/turf/open/floor/iron/white/small,
+/area/station/science/lab)
+"pWs" = (
+/obj/structure/bookcase/random,
+/obj/effect/turf_decal/siding/thinplating_new/terracotta{
+ dir = 10
+ },
+/turf/open/floor/iron/dark/smooth_large,
+/area/station/command/meeting_room)
"pWt" = (
/obj/structure/lattice,
/obj/structure/railing/corner{
@@ -47595,20 +48454,6 @@
},
/turf/open/floor/iron/diagonal,
/area/station/command/heads_quarters/hop)
-"pWC" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/door/airlock/medical/glass{
- name = "Primary Treatment Centre"
- },
-/obj/effect/mapping_helpers/airlock/access/all/medical/general,
-/obj/effect/mapping_helpers/airlock/unres{
- dir = 1
- },
-/turf/open/floor/iron/white/small,
-/area/station/medical/treatment_center)
"pWF" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -47658,24 +48503,6 @@
},
/turf/open/space/basic,
/area/space/nearstation)
-"pWZ" = (
-/obj/effect/turf_decal/siding/white{
- dir = 9
- },
-/obj/structure/railing{
- dir = 9
- },
-/obj/structure/table/glass,
-/obj/item/storage/box/monkeycubes{
- pixel_x = -6;
- pixel_y = 5
- },
-/obj/item/storage/box/monkeycubes{
- pixel_x = 6;
- pixel_y = 2
- },
-/turf/open/floor/iron/dark/small,
-/area/station/science/xenobiology)
"pXh" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 1
@@ -47740,18 +48567,6 @@
/obj/effect/turf_decal/delivery/white,
/turf/open/floor/iron/dark,
/area/station/medical/medbay/central)
-"pXQ" = (
-/obj/machinery/light/small/directional/north,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/white,
-/area/station/science/robotics/augments)
-"pXS" = (
-/obj/effect/landmark/start/hangover,
-/obj/structure/broken_flooring/pile/directional/east,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/hallway/secondary/dock)
"pYi" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -47852,17 +48667,6 @@
/obj/item/shard/titanium,
/turf/open/floor/plating,
/area/station/maintenance/department/engine/atmos)
-"qac" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/science/lower)
-"qak" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/herringbone,
-/area/station/commons/dorms)
"qan" = (
/obj/structure/cable/layer3,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -47873,6 +48677,10 @@
},
/turf/open/floor/circuit/red,
/area/station/ai_monitored/turret_protected/ai)
+"qap" = (
+/obj/machinery/holopad,
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"qav" = (
/obj/machinery/atmospherics/components/binary/pump/on{
dir = 4;
@@ -47885,6 +48693,18 @@
/obj/structure/mirror/directional/north,
/turf/open/floor/iron/white/small,
/area/station/maintenance/port/aft)
+"qaO" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/siding/white{
+ dir = 8
+ },
+/obj/machinery/light/cold/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/medical/medbay/central)
"qaU" = (
/obj/effect/turf_decal/arrows/white,
/obj/effect/turf_decal/stripes/line{
@@ -47929,6 +48749,12 @@
dir = 8
},
/area/station/hallway/secondary/dock)
+"qbo" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/science/robotics/augments)
"qbq" = (
/obj/structure/chair{
dir = 1
@@ -47958,15 +48784,19 @@
/obj/item/stack/tile/catwalk_tile/iron,
/turf/open/floor/plating,
/area/station/maintenance/department/engine/atmos)
-"qbN" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/turf_decal/siding/purple{
+"qbH" = (
+/obj/effect/turf_decal/tile/red/opposingcorners{
+ dir = 1
+ },
+/obj/structure/chair/office{
dir = 4
},
-/obj/machinery/power/apc/auto_name/directional/east,
+/obj/effect/landmark/start/depsec/science,
/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/rd)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/security/checkpoint/science)
"qbP" = (
/obj/effect/turf_decal/bot,
/obj/machinery/airalarm/directional/east,
@@ -47981,17 +48811,43 @@
/obj/machinery/light_switch/directional/north,
/turf/open/floor/iron/smooth,
/area/station/engineering/break_room)
+"qbU" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/blue,
+/obj/structure/table,
+/obj/item/paper_bin{
+ pixel_x = -7;
+ pixel_y = 6
+ },
+/obj/item/pen{
+ pixel_x = 8;
+ pixel_y = 8
+ },
+/turf/open/floor/iron/dark/side,
+/area/station/hallway/primary/central/fore)
+"qcf" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/dark/side,
+/area/station/hallway/secondary/construction)
+"qco" = (
+/obj/structure/window/reinforced/spawner/directional/east,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 1
+ },
+/turf/open/floor/iron/white/side{
+ dir = 8
+ },
+/area/station/science/xenobiology)
"qcr" = (
/obj/structure/flora/bush/flowers_yw/style_random,
/mob/living/carbon/human/species/monkey,
/turf/open/floor/grass,
/area/station/medical/virology)
-"qcv" = (
-/obj/effect/landmark/navigate_destination/dockarrival,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
"qcB" = (
/obj/structure/sign/nanotrasen,
/turf/closed/wall,
@@ -48008,6 +48864,16 @@
},
/turf/open/misc/sandy_dirt,
/area/station/security/tram)
+"qdn" = (
+/obj/machinery/camera/autoname/directional/east,
+/obj/machinery/light/cold/directional/east,
+/obj/machinery/power/apc/auto_name/directional/east{
+ areastring = "/area/station/science/ordnance/burnchamber"
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/dark/visible,
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance)
"qdu" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -48018,6 +48884,24 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/department/prison)
+"qdI" = (
+/obj/machinery/door/airlock/research/glass{
+ name = "Cytology Lab"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/research,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/catwalk_floor/iron_white,
+/area/station/science/cytology)
+"qdK" = (
+/obj/machinery/firealarm/directional/south,
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 8
+ },
+/turf/open/floor/iron/smooth,
+/area/station/maintenance/solars/starboard/fore)
"qdM" = (
/obj/structure/chair/sofa/bench/left{
dir = 4
@@ -48033,17 +48917,6 @@
dir = 1
},
/area/station/hallway/primary/aft)
-"qdR" = (
-/obj/structure/toilet,
-/obj/machinery/light/small/directional/west,
-/obj/machinery/button/door/directional/east{
- id = "AuxToilet1";
- name = "Lock Control";
- normaldoorcontrol = 1;
- specialfunctions = 4
- },
-/turf/open/floor/iron/showroomfloor,
-/area/station/commons/toilet/auxiliary)
"qdS" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -48074,36 +48947,6 @@
"qei" = (
/turf/closed/wall,
/area/station/science/ordnance/storage)
-"qek" = (
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/effect/turf_decal/siding/dark{
- dir = 10
- },
-/obj/structure/window/reinforced/spawner/directional/east,
-/obj/structure/tank_dispenser/oxygen{
- pixel_x = -1;
- pixel_y = 2
- },
-/obj/structure/cable,
-/turf/open/floor/iron/dark/smooth_corner{
- dir = 4
- },
-/area/station/ai_monitored/command/storage/eva)
-"qem" = (
-/obj/effect/turf_decal/box/red/corners{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/white/line{
- dir = 5
- },
-/obj/effect/turf_decal/weather/snow/corner{
- dir = 8
- },
-/turf/open/floor/engine,
-/area/station/science/xenobiology)
"qen" = (
/obj/structure/table,
/obj/item/clothing/gloves/boxing,
@@ -48142,6 +48985,14 @@
/obj/structure/sign/departments/lawyer/directional/east,
/turf/open/floor/iron,
/area/station/hallway/secondary/recreation)
+"qfq" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/landmark/navigate_destination/aiupload,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white,
+/area/station/hallway/primary/starboard)
"qfv" = (
/obj/structure/flora/rock/pile/jungle/style_random,
/obj/structure/window/reinforced/spawner/directional/east,
@@ -48158,15 +49009,17 @@
/obj/machinery/light/small/directional/south,
/turf/open/floor/carpet/executive,
/area/station/command/heads_quarters/captain/private)
-"qfA" = (
+"qfI" = (
/obj/machinery/door/airlock{
- name = "Law Office"
+ name = "Supply Closet"
},
-/obj/effect/mapping_helpers/airlock/access/any/service/lawyer,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/textured_half,
-/area/station/service/lawoffice)
+/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
+/obj/effect/mapping_helpers/airlock/unres{
+ dir = 1
+ },
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"qfK" = (
/obj/machinery/atmospherics/components/binary/pump{
dir = 8;
@@ -48186,19 +49039,12 @@
/obj/machinery/status_display/evac/directional/east,
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
-"qgi" = (
-/obj/structure/rack,
-/obj/item/poster/random_official{
- pixel_y = 7
+"qga" = (
+/obj/structure/chair/office{
+ dir = 4
},
-/obj/item/poster/random_official{
- pixel_y = 3
- },
-/obj/item/poster/random_official,
-/obj/effect/turf_decal/bot_white,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/neutral/opposingcorners,
-/turf/open/floor/iron/dark,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/wood/large,
/area/station/maintenance/department/science/xenobiology)
"qgj" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -48208,6 +49054,12 @@
/obj/machinery/light/cold/directional/east,
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
+"qgq" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/science/lower)
"qgs" = (
/obj/structure/cable,
/obj/item/kirbyplants/random/fullysynthetic,
@@ -48227,14 +49079,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
-"qgx" = (
-/obj/machinery/door/airlock{
- name = "Law Office Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/access/any/service/lawyer,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/lesser)
"qgJ" = (
/obj/machinery/light/dim/directional/west,
/obj/machinery/duct,
@@ -48252,55 +49096,6 @@
"qgZ" = (
/turf/open/floor/carpet/lone,
/area/station/service/chapel/office)
-"qhd" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
-"qhh" = (
-/obj/structure/table/glass,
-/obj/item/book/manual/wiki/cytology{
- pixel_x = 6;
- pixel_y = 4
- },
-/obj/item/reagent_containers/dropper{
- pixel_x = -11;
- pixel_y = -4
- },
-/obj/item/biopsy_tool{
- pixel_x = -5;
- pixel_y = 2
- },
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/structure/cable,
-/turf/open/floor/iron/white,
-/area/station/science/cytology)
-"qhl" = (
-/obj/structure/rack,
-/obj/effect/spawner/random/techstorage/rnd_all,
-/obj/effect/turf_decal/tile/purple/opposingcorners,
-/obj/effect/turf_decal/bot,
-/turf/open/floor/iron/dark,
-/area/station/engineering/storage/tech)
-"qhv" = (
-/obj/structure/broken_flooring/corner/directional/south,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/hallway/secondary/dock)
-"qhF" = (
-/obj/effect/turf_decal/trimline/white/line{
- dir = 6
- },
-/obj/effect/turf_decal/trimline/white/mid_joiner{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/white/mid_joiner,
-/obj/structure/cable,
-/turf/open/floor/wood,
-/area/station/commons/fitness/recreation)
"qhR" = (
/obj/structure/table/wood,
/obj/effect/turf_decal/siding/wood/corner{
@@ -48392,6 +49187,20 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
+"qiJ" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/machinery/light/cold/directional/west,
+/turf/open/floor/iron/white/corner{
+ dir = 1
+ },
+/area/station/hallway/primary/aft)
"qiL" = (
/obj/structure/disposalpipe/segment,
/obj/structure/sign/directions/evac/directional/east{
@@ -48455,13 +49264,6 @@
/obj/item/clothing/suit/toggle/owlwings/griffinwings,
/turf/open/floor/catwalk_floor/iron_smooth,
/area/station/maintenance/port/aft)
-"qka" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 6
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/science/cytology)
"qke" = (
/obj/structure/cable,
/obj/effect/turf_decal/trimline/neutral/line{
@@ -48514,6 +49316,13 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
+"qkZ" = (
+/obj/effect/turf_decal/trimline/neutral/warning{
+ dir = 5
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/dark/small,
+/area/station/medical/morgue)
"qlc" = (
/obj/effect/turf_decal/tile/dark_red/half/contrasted{
dir = 1
@@ -48534,20 +49343,43 @@
/obj/structure/closet/emcloset,
/turf/open/floor/plating,
/area/station/maintenance/department/engine)
+"qln" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/public/glass{
+ name = "Arrivals"
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/textured_half{
+ dir = 8
+ },
+/area/station/hallway/secondary/entry)
"qlr" = (
/obj/machinery/airalarm/directional/east,
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
-"qly" = (
-/obj/effect/turf_decal/siding/thinplating_new/terracotta,
-/turf/open/floor/wood/tile,
-/area/station/command/meeting_room)
-"qlP" = (
-/obj/structure/chair{
- dir = 1
+"qlz" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/simple/dark/hidden{
+ dir = 9
},
-/turf/open/floor/wood/tile,
-/area/station/command/meeting_room)
+/turf/open/floor/circuit,
+/area/station/tcommsat/server)
+"qlS" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/item/clothing/head/cone{
+ pixel_x = 6;
+ pixel_y = -8
+ },
+/obj/effect/decal/cleanable/blood,
+/obj/machinery/light/broken/directional/north,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/dock)
"qlV" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/neutral{
@@ -48556,12 +49388,20 @@
/obj/machinery/light/cold/directional/north,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"qme" = (
-/obj/machinery/atmospherics/components/binary/volume_pump{
+"qmh" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/neutral/line{
dir = 8
},
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
+/turf/open/floor/iron,
+/area/station/hallway/primary/aft)
"qmv" = (
/obj/machinery/door/airlock/maintenance{
name = "Atmospherics Maintenance"
@@ -48569,15 +49409,6 @@
/obj/effect/mapping_helpers/airlock/access/any/engineering/general,
/turf/open/floor/plating,
/area/station/maintenance/department/engine/atmos)
-"qmy" = (
-/obj/effect/turf_decal/tile/blue,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/turf/open/floor/iron/white/corner{
- dir = 8
- },
-/area/station/hallway/secondary/dock)
"qmz" = (
/obj/structure/table/wood,
/turf/open/floor/wood,
@@ -48594,6 +49425,16 @@
},
/turf/open/floor/iron/smooth,
/area/station/service/library)
+"qmO" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/obj/machinery/light/small/directional/north,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/science/xenobiology)
"qmT" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
/obj/effect/turf_decal/caution/stand_clear,
@@ -48636,20 +49477,20 @@
},
/turf/open/floor/iron/dark/small,
/area/station/security/processing)
-"qnt" = (
-/obj/machinery/power/solar{
- id = "forestarboard";
- name = "Fore-Starboard Solar Array"
- },
-/obj/structure/cable,
-/turf/open/floor/iron/solarpanel/airless,
-/area/station/solars/starboard/fore)
-"qnJ" = (
-/obj/machinery/airalarm/directional/east,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+"qnT" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/small,
-/area/station/science/ordnance/storage)
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/structure/sign/departments/chemistry/pharmacy/directional/west,
+/turf/open/floor/iron/white/corner{
+ dir = 1
+ },
+/area/station/hallway/primary/aft)
"qnU" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -48660,16 +49501,29 @@
},
/turf/open/floor/carpet/red,
/area/station/command/heads_quarters/qm)
-"qod" = (
-/obj/effect/spawner/random/structure/crate_abandoned,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
-"qoj" = (
-/obj/structure/bodycontainer/morgue{
- dir = 8
+"qnZ" = (
+/obj/effect/turf_decal/tile/neutral,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/recreation)
+"qob" = (
+/obj/machinery/firealarm/directional/west,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side{
+ dir = 4
},
-/turf/open/floor/iron/dark/small,
-/area/station/medical/morgue)
+/area/station/science/lower)
+"qoo" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/door/airlock/public/glass{
+ name = "Dorms"
+ },
+/turf/open/floor/iron/textured_half{
+ dir = 1
+ },
+/area/station/commons/fitness/locker_room)
"qop" = (
/obj/structure/cable,
/obj/effect/spawner/structure/window/reinforced,
@@ -48683,18 +49537,27 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/commons/dorms)
-"qoA" = (
-/obj/machinery/holopad,
-/obj/effect/spawner/random/engineering/tracking_beacon,
-/obj/effect/landmark/event_spawn,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/engineering/storage/tech)
"qoD" = (
/turf/closed/wall/r_wall,
/area/station/command/corporate_showroom)
+"qoM" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/obj/item/radio/intercom/directional/south,
+/obj/machinery/atmospherics/components/trinary/mixer/flipped{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/station/science/ordnance/storage)
+"qoR" = (
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/aft)
"qpe" = (
/obj/structure/disposalpipe/trunk{
dir = 8
@@ -48770,6 +49633,18 @@
/obj/item/radio/intercom/directional/west,
/turf/open/floor/eighties/red,
/area/station/hallway/primary/central/fore)
+"qqX" = (
+/obj/structure/disposalpipe/sorting/mail/flip{
+ dir = 8
+ },
+/obj/effect/mapping_helpers/mail_sorting/science/robotics,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side{
+ dir = 6
+ },
+/area/station/science/lower)
"qrb" = (
/obj/structure/sign/warning/biohazard,
/turf/closed/wall/r_wall,
@@ -48781,32 +49656,32 @@
},
/turf/open/floor/iron/dark/small,
/area/station/command/heads_quarters/captain/private)
-"qrm" = (
-/obj/machinery/power/apc/auto_name/directional/south,
-/obj/structure/cable,
-/turf/open/floor/eighties,
-/area/station/service/abandoned_gambling_den/gaming)
-"qrB" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/science/xenobiology)
"qrJ" = (
/obj/structure/cable,
/turf/open/floor/iron/smooth,
/area/station/cargo/miningfoundry)
+"qrK" = (
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/central)
+"qrL" = (
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/maintenance/starboard/aft)
"qrW" = (
/obj/machinery/portable_atmospherics/canister/plasma,
/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
/turf/open/floor/engine/plasma,
/area/station/engineering/atmos)
-"qsg" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/power/terminal,
-/obj/structure/chair/stool/directional/east,
-/obj/structure/cable,
-/turf/open/floor/circuit,
-/area/station/tcommsat/server)
"qsj" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/yellow/opposingcorners,
@@ -48833,6 +49708,15 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/kitchen/small,
/area/station/security/prison/mess)
+"qsV" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/manifold/layer2{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
+ dir = 5
+ },
+/turf/open/floor/engine/vacuum,
+/area/station/science/ordnance/freezerchamber)
"qsY" = (
/obj/structure/chair/stool/directional/west,
/obj/effect/turf_decal/siding/wood{
@@ -48880,11 +49764,6 @@
/obj/structure/cable,
/turf/open/floor/catwalk_floor/iron_dark,
/area/station/maintenance/central/greater)
-"qug" = (
-/obj/effect/turf_decal/stripes/corner,
-/obj/structure/cable,
-/turf/open/floor/iron/dark/corner,
-/area/station/engineering/storage/tech)
"quq" = (
/obj/effect/turf_decal/stripes/line,
/obj/structure/closet/crate/cardboard,
@@ -48948,15 +49827,6 @@
/obj/machinery/light/small/directional/east,
/turf/open/floor/iron,
/area/station/security/courtroom)
-"qvF" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
"qvL" = (
/obj/effect/turf_decal/siding/wood,
/obj/item/kirbyplants/random,
@@ -48970,12 +49840,6 @@
/obj/effect/landmark/start/medical_doctor,
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
-"qwc" = (
-/obj/structure/broken_flooring/singular/directional/south,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/maintenance/starboard/greater)
"qwq" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/obj/machinery/computer/prisoner/management{
@@ -49010,6 +49874,12 @@
},
/turf/open/floor/eighties,
/area/station/hallway/primary/central/fore)
+"qwB" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/spawner/random/structure/furniture_parts,
+/obj/structure/railing/corner/end,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/station/maintenance/department/science/xenobiology)
"qwC" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/tile/dark_red/half/contrasted{
@@ -49042,14 +49912,6 @@
},
/turf/open/floor/iron/solarpanel/airless,
/area/station/solars/port)
-"qxi" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/medical/medbay/central)
"qxv" = (
/obj/structure/disposalpipe/segment,
/obj/effect/turf_decal/tile/dark_red/half/contrasted{
@@ -49068,11 +49930,6 @@
/obj/machinery/camera/autoname/directional/north,
/turf/open/floor/iron/white/textured_large,
/area/station/command/heads_quarters/cmo)
-"qxP" = (
-/obj/machinery/power/apc/auto_name/directional/south,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/lesser)
"qxX" = (
/obj/structure/window/spawner/directional/south,
/obj/structure/flora/bush/large/style_random{
@@ -49082,13 +49939,6 @@
/obj/structure/flora/bush/flowers_pp/style_random,
/turf/open/misc/sandy_dirt,
/area/station/science/research)
-"qyr" = (
-/obj/effect/turf_decal/siding/wideplating/corner{
- dir = 8
- },
-/obj/effect/turf_decal/siding/wideplating/corner,
-/turf/open/floor/wood,
-/area/station/engineering/main)
"qyx" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/chair{
@@ -49117,12 +49967,6 @@
/obj/structure/railing,
/turf/open/space/basic,
/area/space/nearstation)
-"qyO" = (
-/obj/structure/broken_flooring/corner/directional/south,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/light/small/directional/north,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"qyT" = (
/turf/closed/wall,
/area/station/hallway/secondary/exit/departure_lounge)
@@ -49238,11 +50082,23 @@
/obj/machinery/bluespace_vendor/directional/north,
/turf/open/floor/iron,
/area/station/commons/dorms)
-"qAl" = (
-/obj/structure/cable,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
+"qAk" = (
+/obj/machinery/door/airlock/research{
+ name = "Research Division Access"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "sci-entrance"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/general,
+/obj/machinery/door/firedoor,
+/obj/effect/mapping_helpers/airlock/unres{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/white/textured_half{
+ dir = 1
+ },
+/area/station/science/research)
"qAn" = (
/obj/structure/disposalpipe/segment{
dir = 6
@@ -49284,6 +50140,19 @@
/obj/machinery/firealarm/directional/north,
/turf/open/floor/iron,
/area/station/hallway/secondary/recreation)
+"qAv" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/spawner/random/trash,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/fore)
+"qAB" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron,
+/area/station/maintenance/department/science/xenobiology)
"qAJ" = (
/obj/effect/spawner/random/structure/closet_private,
/obj/machinery/light/small/directional/east,
@@ -49330,6 +50199,14 @@
/obj/machinery/light/small/directional/east,
/turf/open/floor/plating,
/area/station/cargo/boutique)
+"qBB" = (
+/obj/structure/cable,
+/obj/machinery/portable_atmospherics/canister/oxygen,
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/turf_decal/tile/dark_blue/half/contrasted,
+/obj/effect/turf_decal/siding/white,
+/turf/open/floor/iron/kitchen_coldroom,
+/area/station/medical/coldroom)
"qBG" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -49381,24 +50258,9 @@
/area/station/hallway/secondary/exit/departure_lounge)
"qCc" = (
/obj/machinery/light/cold/directional/north,
-/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/iron,
/area/station/hallway/secondary/dock)
-"qCj" = (
-/obj/machinery/airalarm/directional/south,
-/obj/item/kirbyplants/organic/applebush,
-/obj/effect/turf_decal/siding/thinplating_new/terracotta/corner{
- dir = 1
- },
-/turf/open/floor/wood/tile,
-/area/station/command/corporate_showroom)
-"qCx" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/neutral,
-/obj/machinery/airalarm/directional/east,
-/turf/open/floor/iron,
-/area/station/hallway/primary/fore)
"qCG" = (
/obj/effect/turf_decal/siding/white{
dir = 9
@@ -49427,25 +50289,6 @@
dir = 1
},
/area/station/cargo/lobby)
-"qCJ" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/siding/wood{
- dir = 1
- },
-/obj/structure/table/wood,
-/obj/item/paper/fluff/ids_for_dummies{
- pixel_x = 5
- },
-/obj/item/paper_bin/carbon{
- pixel_x = -2;
- pixel_y = 4
- },
-/obj/item/stamp/head/hop{
- pixel_x = -4;
- pixel_y = 4
- },
-/turf/open/floor/iron/large,
-/area/station/command/heads_quarters/hop)
"qCK" = (
/obj/effect/landmark/start/botanist,
/obj/effect/turf_decal/siding/thinplating_new/light{
@@ -49454,6 +50297,15 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/white/small,
/area/station/service/hydroponics)
+"qCN" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/door/poddoor/preopen{
+ id = "Xenolab";
+ name = "Test Chamber Blast Door"
+ },
+/obj/structure/cable,
+/turf/open/floor/engine,
+/area/station/science/xenobiology)
"qCT" = (
/obj/effect/turf_decal/siding/wood{
dir = 9
@@ -49475,32 +50327,28 @@
},
/turf/open/floor/iron,
/area/station/security/warden)
-"qDd" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/machinery/door/airlock{
- name = "Theater Greenroom"
- },
-/obj/effect/mapping_helpers/airlock/access/all/service/theatre,
-/obj/machinery/door/firedoor,
-/obj/structure/disposalpipe/segment{
+"qCY" = (
+/obj/effect/turf_decal/siding/wood{
dir = 4
},
-/turf/open/floor/iron/textured_half{
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 8
},
-/area/station/service/greenroom)
-"qDi" = (
-/obj/effect/turf_decal/siding/wood{
+/obj/machinery/atmospherics/pipe/smart/simple/dark/hidden{
dir = 8
},
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/simple/dark/hidden,
/turf/open/floor/wood/tile,
/area/station/tcommsat/server)
+"qDr" = (
+/obj/structure/table/reinforced,
+/obj/effect/turf_decal/tile/dark_red/fourcorners,
+/obj/item/restraints/handcuffs,
+/obj/machinery/light/small/directional/west,
+/obj/machinery/airalarm/directional/west,
+/obj/structure/cable,
+/turf/open/floor/iron/smooth,
+/area/station/security/checkpoint/customs)
"qDx" = (
/obj/structure/toilet,
/obj/structure/sign/poster/contraband/random/directional/north,
@@ -49593,9 +50441,9 @@
/turf/open/floor/iron/dark/small,
/area/station/security/checkpoint/customs)
"qEB" = (
-/obj/effect/turf_decal/siding/blue/corner,
-/turf/open/floor/iron/white/small,
-/area/station/medical/storage)
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/science/lower)
"qEO" = (
/obj/machinery/camera/autoname/directional/east,
/obj/machinery/status_display/evac/directional/east,
@@ -49620,16 +50468,15 @@
/obj/machinery/door/poddoor/shutters,
/turf/open/floor/plating,
/area/station/maintenance/department/engine/atmos)
-"qFb" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
+"qER" = (
+/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
+ dir = 1
},
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side,
-/area/station/science/lower)
+/obj/machinery/chem_dispenser,
+/obj/effect/decal/cleanable/cobweb,
+/obj/machinery/light/small/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/medical/pharmacy)
"qFc" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -49661,6 +50508,20 @@
},
/turf/open/floor/iron/dark,
/area/station/medical/chemistry)
+"qFz" = (
+/obj/structure/hedge,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/fore)
+"qFT" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/stairs,
+/area/station/hallway/primary/central/fore)
"qGc" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/door/firedoor,
@@ -49681,22 +50542,6 @@
},
/turf/open/floor/iron/small,
/area/station/hallway/primary/central/fore)
-"qGf" = (
-/obj/structure/flora/bush/flowers_pp{
- pixel_y = 3
- },
-/obj/effect/dummy/lighting_obj,
-/obj/effect/light_emitter/fake_outdoors,
-/obj/effect/turf_decal/siding/wood,
-/turf/open/floor/grass/Airless,
-/area/station/hallway/primary/central/aft)
-"qGk" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/turf/open/floor/iron/dark/diagonal,
-/area/station/ai_monitored/command/storage/eva)
"qGu" = (
/obj/effect/turf_decal/siding/dark_red,
/obj/item/radio/intercom/directional/south,
@@ -49705,17 +50550,16 @@
},
/turf/open/floor/stone,
/area/station/command/heads_quarters/hos)
-"qGB" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
+"qGw" = (
+/obj/effect/turf_decal/siding{
+ dir = 6
},
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/cleanable/glass,
-/obj/effect/decal/cleanable/blood/gibs/down,
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/dock)
+/obj/item/assembly/igniter,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/turf/open/floor/iron/white/small,
+/area/station/science/lobby)
"qGH" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -49725,6 +50569,27 @@
/obj/effect/turf_decal/siding/wideplating/dark/corner,
/turf/open/floor/iron,
/area/station/security)
+"qGV" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/turf_decal/siding/purple{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/purple/corner{
+ dir = 8
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/station/science/genetics)
+"qHe" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/turf/open/floor/iron/dark/diagonal,
+/area/station/ai_monitored/command/storage/eva)
"qHr" = (
/obj/effect/turf_decal/weather/dirt{
dir = 8
@@ -49734,6 +50599,10 @@
/obj/machinery/status_display/ai/directional/west,
/turf/open/floor/grass,
/area/station/service/chapel)
+"qHt" = (
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/maintenance/starboard/greater)
"qHH" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/firealarm/directional/south,
@@ -49748,13 +50617,11 @@
},
/turf/open/floor/iron/kitchen/small,
/area/station/security/prison/mess)
-"qHY" = (
-/obj/machinery/firealarm/directional/north,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side,
-/area/station/science/lower)
+"qHP" = (
+/obj/effect/turf_decal/siding/thinplating_new/dark/corner,
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/iron,
+/area/station/security/courtroom)
"qIb" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/door/airlock{
@@ -49777,6 +50644,7 @@
/turf/closed/wall,
/area/station/medical/cryo)
"qIk" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden,
/turf/open/floor/circuit/telecomms/mainframe,
/area/station/science/xenobiology)
"qIp" = (
@@ -49791,35 +50659,10 @@
/obj/effect/turf_decal/stripes/white/line,
/turf/open/floor/tram,
/area/station/maintenance/department/medical/central)
-"qID" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/status_display/evac/directional/north,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side,
-/area/station/science/lower)
-"qIM" = (
-/obj/machinery/firealarm/directional/east,
-/obj/effect/turf_decal/siding/corner{
- dir = 4
- },
-/obj/structure/cable,
-/turf/open/floor/iron/white,
-/area/station/science/cytology)
"qIQ" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/maintenance/starboard/greater)
-"qIZ" = (
-/obj/effect/mapping_helpers/broken_floor,
-/obj/structure/broken_flooring/pile/directional/east,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/hallway/secondary/dock)
"qJq" = (
/obj/effect/turf_decal/siding/wood{
dir = 8
@@ -49856,6 +50699,17 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/cafeteria,
/area/station/science/circuits)
+"qKl" = (
+/obj/structure/steam_vent,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/lesser)
+"qKt" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/station/science/xenobiology)
"qKx" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -49922,6 +50776,14 @@
},
/turf/open/floor/iron/dark/herringbone,
/area/station/security/courtroom)
+"qLw" = (
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/tile/neutral,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"qLA" = (
/obj/structure/chair{
dir = 4
@@ -49933,6 +50795,11 @@
/obj/effect/landmark/start/assistant,
/turf/open/floor/iron/dark/herringbone,
/area/station/security/courtroom)
+"qLB" = (
+/obj/effect/landmark/event_spawn,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/science/ordnance/testlab)
"qLD" = (
/obj/structure/chair{
name = "Defense"
@@ -49943,11 +50810,17 @@
/obj/machinery/airalarm/directional/north,
/turf/open/floor/iron,
/area/station/security/courtroom)
-"qLE" = (
+"qLJ" = (
+/obj/structure/window/reinforced/spawner/directional/west,
+/obj/structure/window/reinforced/spawner/directional/east,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/small,
-/area/station/science/ordnance/storage)
+/obj/structure/cable,
+/obj/machinery/light/floor,
+/turf/open/floor/iron/dark/textured_half{
+ dir = 1
+ },
+/area/station/engineering/storage/tech)
"qLU" = (
/obj/effect/turf_decal/tile/green/opposingcorners,
/obj/effect/turf_decal/tile/blue/opposingcorners{
@@ -49970,24 +50843,19 @@
},
/turf/open/floor/iron,
/area/station/commons/fitness/recreation/entertainment)
-"qMb" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
- },
-/obj/effect/turf_decal/tile/yellow/opposingcorners,
-/turf/open/floor/iron/dark,
-/area/station/medical/pharmacy)
"qMj" = (
/obj/effect/turf_decal/bot/right,
/turf/open/floor/engine,
/area/station/engineering/atmospherics_engine)
-"qMp" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/obj/machinery/camera/autoname/directional/north,
-/turf/open/floor/iron,
-/area/station/security/courtroom)
+"qMC" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/small,
+/area/station/commons/fitness/locker_room)
+"qMD" = (
+/turf/open/floor/wood,
+/area/station/hallway/secondary/entry)
"qMG" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/structure/cable,
@@ -50014,6 +50882,12 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/cargo/storage)
+"qMO" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/dock)
"qMP" = (
/obj/structure/closet/firecloset,
/obj/structure/sign/poster/official/random/directional/north,
@@ -50035,6 +50909,20 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
+"qNI" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/highsecurity{
+ name = "AI Upload"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/command/ai_upload,
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 1
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/textured_half,
+/area/station/ai_monitored/turret_protected/ai_upload)
"qNL" = (
/obj/machinery/computer/security{
dir = 8
@@ -50068,14 +50956,6 @@
},
/turf/open/floor/engine/n2o,
/area/station/engineering/atmos)
-"qOG" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/siding/wideplating_new/terracotta{
- dir = 1
- },
-/turf/open/floor/wood/tile,
-/area/station/maintenance/central/lesser)
"qOJ" = (
/obj/structure/disposalpipe/segment{
dir = 9
@@ -50122,15 +51002,20 @@
/obj/machinery/door/firedoor/heavy,
/turf/open/floor/iron/dark/textured,
/area/station/engineering/atmos/office)
-"qPJ" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/small,
-/area/station/science/ordnance/storage)
+"qPp" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/iron/stairs,
+/area/station/hallway/primary/central/fore)
"qPN" = (
/turf/closed/wall/r_wall,
/area/station/security/prison/safe)
+"qPV" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/structure/steam_vent,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"qQi" = (
/obj/structure/chair/stool/directional/north,
/obj/effect/turf_decal/siding/yellow{
@@ -50152,14 +51037,6 @@
},
/turf/open/misc/sandy_dirt,
/area/station/security/tram)
-"qQp" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/siding/green{
- dir = 6
- },
-/obj/machinery/airalarm/directional/south,
-/turf/open/floor/iron/dark/small,
-/area/station/medical/chemistry)
"qQv" = (
/turf/open/floor/iron,
/area/station/security/prison/rec)
@@ -50186,37 +51063,17 @@
dir = 1
},
/area/station/science/lower)
-"qQR" = (
-/obj/structure/table/wood,
-/obj/machinery/light/small/directional/south,
-/obj/machinery/computer/security/telescreen/engine/directional/west,
-/obj/machinery/status_display/evac/directional/south,
-/obj/item/radio/off{
- pixel_x = 1;
- pixel_y = 3
- },
-/turf/open/floor/wood,
-/area/station/command/heads_quarters/ce)
-"qRa" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/turf/open/floor/iron/white/small,
-/area/station/science/ordnance/storage)
"qRb" = (
/obj/effect/turf_decal/tile/brown/opposingcorners,
/obj/structure/railing,
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"qRo" = (
-/obj/machinery/door/airlock/public{
- name = "Abandoned Dock"
+"qRh" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
},
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
-/area/station/hallway/secondary/dock)
+/area/station/hallway/secondary/entry)
"qRs" = (
/obj/structure/chair/stool/directional/north,
/obj/machinery/light/small/directional/south,
@@ -50236,12 +51093,28 @@
/obj/effect/decal/cleanable/cobweb,
/turf/open/floor/iron,
/area/station/security/prison/rec)
+"qRF" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/computer/security{
+ dir = 8
+ },
+/obj/machinery/camera/directional/east,
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/structure/cable,
+/obj/machinery/light_switch/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/command/corporate_dock)
"qRN" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
/obj/machinery/holopad,
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
+"qRO" = (
+/obj/structure/cable,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"qRU" = (
/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{
dir = 8
@@ -50268,11 +51141,6 @@
/obj/machinery/firealarm/directional/east,
/turf/open/floor/carpet,
/area/station/service/library)
-"qSh" = (
-/obj/machinery/firealarm/directional/east,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/recreation)
"qSk" = (
/obj/effect/turf_decal/trimline/neutral/line,
/obj/effect/turf_decal/trimline/neutral/line{
@@ -50286,12 +51154,28 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/hallway/primary/port)
+"qSx" = (
+/obj/machinery/firealarm/directional/north,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side,
+/area/station/science/lower)
"qSC" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/white/line,
/obj/machinery/portable_atmospherics/canister/nitrogen,
/turf/open/floor/iron/smooth_large,
/area/station/science/ordnance/storage)
+"qSE" = (
+/obj/effect/turf_decal/tile/green/half/contrasted{
+ dir = 1
+ },
+/obj/structure/chair{
+ pixel_y = -2
+ },
+/turf/open/floor/iron/white,
+/area/station/medical/virology)
"qSF" = (
/obj/structure/disposalpipe/segment,
/obj/structure/cable,
@@ -50303,21 +51187,34 @@
/obj/effect/spawner/random/structure/crate,
/turf/open/floor/iron/smooth_large,
/area/station/cargo/warehouse)
+"qSO" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/red/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/red/line{
+ dir = 8
+ },
+/turf/open/floor/iron/small,
+/area/station/hallway/primary/central/aft)
"qSZ" = (
/obj/structure/hedge,
/obj/machinery/light/cold/directional/west,
/turf/open/floor/iron/smooth,
/area/station/hallway/secondary/command)
-"qTb" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/mapping_helpers/broken_floor,
-/obj/machinery/light/floor,
+"qTc" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side{
- dir = 8
+/obj/effect/turf_decal/tile/neutral,
+/obj/structure/disposalpipe/segment{
+ dir = 6
},
-/area/station/science/research)
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"qTe" = (
/obj/structure/disposalpipe/segment{
dir = 10
@@ -50329,20 +51226,6 @@
dir = 8
},
/area/station/science/research)
-"qTk" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/blue/filled/corner{
- dir = 8
- },
-/turf/open/floor/iron/white,
-/area/station/medical/treatment_center)
-"qTv" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random/structure/grille,
-/turf/open/floor/iron/dark,
-/area/station/maintenance/department/science/xenobiology)
"qTz" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/plating,
@@ -50379,16 +51262,11 @@
/obj/effect/turf_decal/loading_area,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"qUf" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/obj/item/radio/intercom/directional/east,
-/turf/open/floor/iron/white,
-/area/station/medical/medbay/central)
+"qUa" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/recreation)
"qUm" = (
/obj/structure/table/glass,
/obj/item/folder/yellow,
@@ -50416,6 +51294,9 @@
/obj/effect/landmark/start/hangover,
/turf/open/floor/iron/dark/herringbone,
/area/station/security/courtroom)
+"qUD" = (
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/station/maintenance/department/science/xenobiology)
"qUE" = (
/obj/machinery/pipedispenser/disposal/transit_tube,
/obj/effect/turf_decal/stripes/box,
@@ -50432,23 +51313,6 @@
/obj/item/kirbyplants/organic/plant24,
/turf/open/floor/iron/smooth,
/area/station/engineering/main)
-"qUL" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/central/lesser)
-"qUR" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible,
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/structure/cable,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"qUS" = (
/obj/effect/turf_decal/tile/dark_red/half/contrasted{
dir = 4
@@ -50458,22 +51322,6 @@
},
/turf/open/floor/iron/smooth,
/area/station/security/checkpoint/escape)
-"qUZ" = (
-/obj/structure/lattice/catwalk,
-/obj/structure/cable,
-/turf/open/space/basic,
-/area/station/solars/starboard/fore)
-"qVa" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random/trash,
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical/central)
"qVm" = (
/obj/effect/turf_decal/siding/thinplating{
dir = 8
@@ -50489,6 +51337,17 @@
/obj/machinery/power/apc/auto_name/directional/south,
/turf/open/floor/wood/tile,
/area/station/command/corporate_showroom)
+"qVC" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/broken_flooring/pile/directional/east,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical/central)
"qVJ" = (
/obj/item/clothing/head/cone{
pixel_x = -4;
@@ -50527,6 +51386,16 @@
"qVP" = (
/turf/closed/wall/r_wall,
/area/station/maintenance/port/lesser)
+"qVQ" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/turf/open/floor/iron/smooth,
+/area/station/command/bridge)
"qVR" = (
/turf/open/floor/wood,
/area/station/cargo/boutique)
@@ -50538,13 +51407,6 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/wood,
/area/station/cargo/boutique)
-"qWg" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/door/airlock{
- name = "Bathrooms"
- },
-/turf/open/floor/iron/textured_half,
-/area/station/commons/toilet/restrooms)
"qWh" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -50579,21 +51441,17 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"qWJ" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side,
+/area/station/science/research)
"qWL" = (
-/obj/effect/turf_decal/delivery,
-/obj/machinery/door/firedoor,
-/obj/effect/mapping_helpers/airlock/access/any/command/general,
-/obj/machinery/door/poddoor/preopen{
- id = "bridge blast";
- name = "Bridge Blast Door"
- },
-/obj/machinery/door/airlock/command{
- name = "Council Chambers"
- },
-/turf/open/floor/iron/dark/textured_half{
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 1
},
-/area/station/command/heads_quarters/hop)
+/turf/open/floor/iron/cafeteria,
+/area/station/science/breakroom)
"qWQ" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -50647,21 +51505,6 @@
/obj/effect/mapping_helpers/airlock/access/any/command/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/hallway/abandoned_command)
-"qXh" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/structure/sign/poster/official/random/directional/north,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/corner{
- dir = 1
- },
-/area/station/hallway/secondary/dock)
"qXj" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -50716,6 +51559,24 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
+"qXT" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/camera/autoname/directional/north,
+/turf/open/floor/iron,
+/area/station/security/courtroom)
+"qYb" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/aft)
"qYh" = (
/obj/structure/closet/crate/silvercrate,
/obj/effect/turf_decal/bot_white/left,
@@ -50759,12 +51620,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/small,
/area/station/hallway/secondary/service)
-"qYv" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/airalarm/directional/east,
-/obj/structure/cable,
-/turf/open/floor/iron/cafeteria,
-/area/station/science/breakroom)
"qYy" = (
/obj/structure/cable,
/obj/structure/barricade/wooden,
@@ -50851,16 +51706,6 @@
/obj/structure/sign/departments/medbay/directional/east,
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
-"qZw" = (
-/obj/structure/cable,
-/obj/machinery/door/airlock/public/glass{
- name = "Dormatories"
- },
-/obj/machinery/door/firedoor,
-/turf/open/floor/iron/textured_half{
- dir = 8
- },
-/area/station/commons/fitness/locker_room)
"qZy" = (
/obj/machinery/door/firedoor,
/obj/structure/disposalpipe/segment,
@@ -50882,6 +51727,17 @@
},
/turf/open/floor/tram,
/area/station/maintenance/port/aft)
+"qZM" = (
+/obj/effect/mapping_helpers/broken_floor,
+/obj/item/clothing/head/cone{
+ pixel_x = 6;
+ pixel_y = 1
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/dock)
"qZU" = (
/obj/machinery/portable_atmospherics/canister/plasma,
/obj/effect/turf_decal/stripes/white/line{
@@ -50956,13 +51812,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/wood,
/area/station/service/abandoned_gambling_den)
-"raZ" = (
-/obj/machinery/camera/autoname/directional/west,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/recreation)
"rbc" = (
/obj/structure/transport/linear/tram,
/obj/structure/tram,
@@ -50971,6 +51820,10 @@
},
/turf/open/floor/tram,
/area/station/security/tram)
+"rbf" = (
+/obj/structure/falsewall,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"rbj" = (
/obj/item/radio/intercom/directional/east,
/obj/structure/disposalpipe/trunk{
@@ -50983,6 +51836,14 @@
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/medical/pharmacy)
+"rbB" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"rbD" = (
/obj/machinery/door/airlock/medical/glass{
name = "Primary Treatment Centre"
@@ -50993,12 +51854,6 @@
},
/turf/open/floor/iron/white/small,
/area/station/medical/treatment_center)
-"rbH" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/dark/corner{
- dir = 1
- },
-/area/station/science/ordnance/testlab)
"rbI" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 10
@@ -51007,12 +51862,6 @@
/obj/machinery/shower/directional/east,
/turf/open/floor/iron/dark/small,
/area/station/engineering/main)
-"rbO" = (
-/obj/effect/turf_decal/trimline/blue/filled/corner{
- dir = 1
- },
-/turf/open/floor/iron/white,
-/area/station/medical/treatment_center)
"rbT" = (
/obj/effect/landmark/navigate_destination/cargo,
/obj/effect/turf_decal/tile/brown/half/contrasted{
@@ -51021,14 +51870,6 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"rbW" = (
-/obj/structure/cable,
-/obj/machinery/door/airlock{
- name = "Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/access/any/security/general,
-/turf/open/floor/plating,
-/area/station/maintenance/central/lesser)
"rce" = (
/obj/machinery/camera{
c_tag = "Xenobiology - Cell 3";
@@ -51059,14 +51900,6 @@
/obj/structure/barricade/wooden/crude,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
-"rci" = (
-/obj/machinery/portable_atmospherics/canister,
-/obj/machinery/atmospherics/components/unary/portables_connector/visible{
- dir = 1
- },
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance)
"rcl" = (
/obj/effect/turf_decal/stripes/white/line,
/turf/open/floor/engine,
@@ -51100,6 +51933,13 @@
/obj/machinery/light/small/dim/directional/east,
/turf/open/floor/iron,
/area/station/maintenance/department/engine/atmos)
+"rdm" = (
+/obj/structure/railing{
+ dir = 1
+ },
+/obj/effect/mapping_helpers/broken_floor,
+/turf/open/floor/wood/large,
+/area/station/maintenance/department/science/xenobiology)
"rds" = (
/obj/machinery/computer/slot_machine{
pixel_y = 2
@@ -51115,20 +51955,6 @@
"rdw" = (
/turf/open/floor/eighties/red,
/area/station/service/abandoned_gambling_den/gaming)
-"rdA" = (
-/obj/machinery/light/small/directional/south,
-/obj/effect/turf_decal/siding/wideplating_new/terracotta{
- dir = 6
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
-/turf/open/floor/wood/tile,
-/area/station/maintenance/central/lesser)
-"rdH" = (
-/obj/machinery/keycard_auth/wall_mounted/directional/south,
-/turf/open/floor/mineral/titanium,
-/area/station/command/heads_quarters/ce)
"rdM" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 4
@@ -51161,13 +51987,6 @@
},
/turf/open/floor/iron/white/small,
/area/station/security/warden)
-"reg" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/mapping_helpers/broken_floor,
-/obj/structure/steam_vent,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"reh" = (
/turf/closed/wall/r_wall,
/area/station/science/robotics/lab)
@@ -51182,6 +52001,19 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/recreation)
+"rer" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/side{
+ dir = 1
+ },
+/area/station/science/xenobiology)
"rev" = (
/obj/machinery/requests_console/directional/south{
department = "Security";
@@ -51205,17 +52037,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/dark/smooth_large,
/area/station/maintenance/central/lesser)
-"rez" = (
-/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{
- dir = 1
- },
-/turf/open/floor/iron/white/small,
-/area/station/science/ordnance/storage)
-"reE" = (
-/obj/machinery/holopad,
-/obj/structure/cable,
-/turf/open/floor/wood/tile,
-/area/station/command/meeting_room)
"reG" = (
/obj/effect/turf_decal/tile/yellow/half/contrasted{
dir = 1
@@ -51244,6 +52065,10 @@
"reM" = (
/turf/closed/wall/r_wall,
/area/station/security/checkpoint/escape)
+"reN" = (
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible,
+/turf/closed/wall/r_wall,
+/area/station/science/ordnance/burnchamber)
"reS" = (
/obj/effect/spawner/random/trash,
/obj/effect/decal/cleanable/dirt,
@@ -51258,10 +52083,6 @@
/obj/machinery/firealarm/directional/west,
/turf/open/floor/iron,
/area/station/security/execution/transfer)
-"rff" = (
-/obj/effect/spawner/random/trash/caution_sign,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"rfi" = (
/obj/effect/turf_decal/tile/blue{
dir = 1
@@ -51280,11 +52101,10 @@
/obj/effect/turf_decal/trimline/blue/end,
/turf/open/floor/iron/dark,
/area/station/medical/medbay/lobby)
-"rfB" = (
-/obj/item/kirbyplants/random,
-/obj/structure/sign/poster/official/random/directional/north,
-/turf/open/floor/iron,
-/area/station/commons/fitness/locker_room)
+"rfu" = (
+/obj/item/shovel,
+/turf/open/misc/dirt/station,
+/area/station/medical/morgue)
"rfD" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -51293,12 +52113,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/engine,
/area/station/science/xenobiology)
-"rfO" = (
-/obj/item/radio/intercom/directional/west,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/command/heads_quarters/rd)
"rfP" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -51310,32 +52124,48 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"rfW" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/neutral/line{
+"rfY" = (
+/obj/structure/table/glass,
+/obj/effect/turf_decal/siding/wood{
dir = 8
},
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/item/phone{
+ desc = "Supposedly a direct line to Nanotrasen Central Command. It's not even plugged in.";
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/obj/item/radio{
+ pixel_x = 6;
+ pixel_y = 5
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/grimy,
+/area/station/tcommsat/server)
+"rgb" = (
+/obj/effect/turf_decal/stripes/red/line{
+ dir = 8
+ },
+/obj/machinery/light/small/directional/west,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/turf/open/floor/iron/smooth_large,
+/area/station/science/auxlab/firing_range)
+"rgz" = (
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/machinery/light/cold/directional/north,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
+/area/station/hallway/primary/starboard)
"rgA" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/mapping_helpers/broken_floor,
/obj/effect/spawner/random/trash,
/turf/open/floor/plating,
/area/station/maintenance/department/science/xenobiology)
-"rgK" = (
-/obj/effect/turf_decal/trimline/blue/corner{
- dir = 8
- },
-/obj/item/kirbyplants/random/fullysynthetic,
-/turf/open/floor/iron/white,
-/area/station/medical/treatment_center)
"rgM" = (
/obj/structure/extinguisher_cabinet/directional/west,
/turf/open/floor/glass,
@@ -51409,12 +52239,25 @@
},
/turf/open/floor/iron,
/area/station/cargo/lobby)
-"rhL" = (
-/obj/machinery/photocopier,
+"rhH" = (
+/obj/effect/turf_decal/tile/blue,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/turf/open/floor/iron/white/corner{
+ dir = 8
+ },
+/area/station/hallway/secondary/dock)
+"rhX" = (
/obj/effect/decal/cleanable/dirt,
-/obj/machinery/airalarm/directional/north,
-/turf/open/floor/iron/grimy,
-/area/station/commons/vacant_room/office)
+/obj/effect/turf_decal/stripes/red/line{
+ dir = 4
+ },
+/obj/effect/landmark/event_spawn,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/smooth_large,
+/area/station/science/auxlab/firing_range)
"rig" = (
/obj/machinery/door/poddoor/massdriver_chapel,
/turf/open/floor/plating,
@@ -51424,43 +52267,15 @@
/obj/machinery/camera/directional/north,
/turf/open/misc/dirt/station,
/area/station/service/chapel)
-"riq" = (
-/obj/machinery/door/window/brigdoor/left/directional/east{
- name = "Secure Creature Pen";
- req_access = list("research")
- },
-/obj/machinery/atmospherics/pipe/smart/simple/general/visible{
- dir = 4
- },
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/science/xenobiology)
"rir" = (
/turf/open/floor/iron/grimy,
/area/station/commons/vacant_room/office)
-"riS" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/obj/effect/turf_decal/tile/blue/anticorner/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/white,
-/area/station/medical/medbay/lobby)
"riV" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/smooth,
/area/station/cargo/drone_bay)
-"rji" = (
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/neutral,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"rjo" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -51516,24 +52331,18 @@
},
/turf/open/floor/iron/small,
/area/station/hallway/primary/central/fore)
-"rkI" = (
-/obj/machinery/door/airlock/highsecurity{
- name = "Secure Tech Storage"
- },
-/obj/machinery/door/firedoor,
+"rkr" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/broken_floor,
/obj/effect/turf_decal/stripes/line{
- dir = 1
+ dir = 8
},
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/mapping_helpers/airlock/access/all/engineering/tech_storage,
-/obj/effect/mapping_helpers/airlock/access/all/command/eva,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/iron/smooth_half{
- dir = 1
+/turf/open/floor/iron/dark/side{
+ dir = 8
},
-/area/station/engineering/storage/tech)
+/area/station/hallway/secondary/construction)
"rkM" = (
/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
dir = 6
@@ -51541,6 +52350,31 @@
/obj/machinery/light/no_nightlight/directional/north,
/turf/open/floor/iron/small,
/area/station/engineering/atmos/pumproom)
+"rkN" = (
+/obj/machinery/atmospherics/components/binary/pump/on{
+ dir = 1;
+ name = "Engine Coolant Bypass"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
+"rkO" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/red/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/red/line{
+ dir = 4
+ },
+/turf/open/floor/iron/small,
+/area/station/hallway/primary/starboard)
"rlb" = (
/obj/item/kirbyplants/random/fullysynthetic,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
@@ -51561,11 +52395,6 @@
dir = 1
},
/area/station/commons/dorms)
-"rln" = (
-/obj/item/kirbyplants/random,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
"rlq" = (
/obj/structure/bed{
dir = 4
@@ -51584,18 +52413,17 @@
"rlr" = (
/turf/closed/wall,
/area/station/medical/storage)
+"rlH" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/construction/mining/aux_base)
"rlM" = (
/obj/effect/mapping_helpers/broken_floor,
/obj/machinery/air_sensor/ordnance_burn_chamber,
/turf/open/floor/engine/vacuum,
/area/station/science/ordnance/burnchamber)
-"rma" = (
-/obj/machinery/camera/autoname/directional/north,
-/obj/machinery/atmospherics/pipe/smart/simple/general/visible{
- dir = 6
- },
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance/testlab)
"rmc" = (
/obj/effect/turf_decal/tile/brown/half/contrasted,
/obj/structure/disposalpipe/segment,
@@ -51617,22 +52445,6 @@
dir = 8
},
/area/station/engineering/main)
-"rmX" = (
-/obj/structure/table,
-/obj/effect/turf_decal/tile/blue/fourcorners,
-/obj/item/book/manual/wiki/security_space_law,
-/turf/open/floor/iron,
-/area/station/security/courtroom)
-"rnc" = (
-/obj/structure/cable,
-/obj/item/kirbyplants/random,
-/obj/effect/turf_decal/siding/thinplating_new{
- dir = 9
- },
-/obj/machinery/power/apc/auto_name/directional/west,
-/obj/machinery/firealarm/directional/north,
-/turf/open/floor/iron/dark/herringbone,
-/area/station/security/courtroom)
"rnr" = (
/obj/effect/turf_decal/weather/dirt{
dir = 1
@@ -51670,6 +52482,18 @@
/obj/effect/turf_decal/sand/plating,
/turf/open/floor/wood/tile,
/area/station/maintenance/port/lesser)
+"roz" = (
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
+"roC" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/stairs{
+ dir = 8
+ },
+/area/station/science/xenobiology)
"roD" = (
/obj/effect/spawner/random/engineering/atmospherics_portable,
/turf/open/floor/plating,
@@ -51690,19 +52514,6 @@
},
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/rd)
-"rpc" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/side{
- dir = 1
- },
-/area/station/science/xenobiology)
"rpg" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -51783,12 +52594,6 @@
"rqw" = (
/turf/closed/wall,
/area/station/commons/dorms)
-"rqD" = (
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/commons/fitness/locker_room)
"rqF" = (
/obj/structure/flora/bush/jungle/a/style_3,
/turf/open/misc/dirt/station,
@@ -51798,20 +52603,13 @@
/obj/effect/mapping_helpers/airlock/cyclelink_helper,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
-"rrb" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/line{
+"rrg" = (
+/obj/effect/turf_decal/siding{
dir = 8
},
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 4
- },
-/turf/open/floor/iron/dark/side{
- dir = 4
- },
-/area/station/science/xenobiology)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/white/small,
+/area/station/science/lobby)
"rro" = (
/obj/structure/railing,
/obj/structure/disposalpipe/segment{
@@ -51822,13 +52620,6 @@
dir = 4
},
/area/station/engineering/main)
-"rrp" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/turf/open/floor/iron,
-/area/station/commons/fitness/locker_room)
"rrt" = (
/obj/effect/spawner/structure/window/reinforced/tinted,
/turf/open/floor/plating,
@@ -51842,6 +52633,14 @@
},
/turf/open/floor/iron/small,
/area/station/engineering/atmos/pumproom)
+"rrE" = (
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark,
+/area/station/medical/morgue)
"rrJ" = (
/obj/structure/filingcabinet/filingcabinet,
/obj/machinery/power/apc/auto_name/directional/west,
@@ -51875,35 +52674,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/department/engine)
-"rsg" = (
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/item/radio/intercom/directional/east,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark,
-/area/station/service/lawoffice)
-"rsl" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/structure/table,
-/obj/item/stock_parts/subspace/ansible,
-/obj/item/stock_parts/subspace/ansible,
-/obj/item/stock_parts/subspace/ansible,
-/obj/item/stock_parts/subspace/crystal,
-/obj/item/stock_parts/subspace/crystal,
-/obj/item/stock_parts/subspace/crystal,
-/obj/machinery/power/apc/auto_name/directional/east,
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/engineering/storage/tcomms)
-"rsr" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
- },
-/turf/open/floor/mineral/titanium,
-/area/station/command/heads_quarters/ce)
"rss" = (
/obj/machinery/portable_atmospherics/canister/plasma,
/obj/effect/turf_decal/stripes/white/line{
@@ -51934,49 +52704,11 @@
"rsL" = (
/turf/closed/wall/r_wall,
/area/station/maintenance/starboard/fore)
-"rsX" = (
-/obj/effect/turf_decal/siding{
- dir = 1
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/turf/open/floor/iron/white/small,
-/area/station/science/lab)
-"rsZ" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/small,
-/area/station/commons/fitness/locker_room)
-"rta" = (
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/aft)
"rth" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/wood/large,
/area/station/command/heads_quarters/captain)
-"rto" = (
-/obj/structure/table/glass,
-/obj/item/stock_parts/power_store/cell/high{
- pixel_x = 11;
- pixel_y = 6
- },
-/obj/item/folder/blue{
- pixel_x = -3;
- pixel_y = 2
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/carpet/executive,
-/area/station/command/meeting_room)
"rtH" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -52039,15 +52771,6 @@
dir = 4
},
/area/station/science/ordnance/testlab)
-"ruh" = (
-/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
- dir = 4
- },
-/obj/machinery/camera/directional/south{
- c_tag = "atmospherics - lower"
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"rui" = (
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt,
@@ -52058,13 +52781,17 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/security/checkpoint/engineering)
-"ruB" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
+"ruu" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
},
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/light/cold/directional/north,
+/obj/effect/landmark/start/hangover,
+/obj/machinery/power/apc/auto_name/directional/north,
/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/science/lower)
+/turf/open/floor/plating,
+/area/station/science/lobby)
"ruC" = (
/obj/structure/window/reinforced/spawner/directional/east,
/obj/effect/turf_decal/tile/green/anticorner/contrasted,
@@ -52077,6 +52804,14 @@
"ruD" = (
/turf/open/floor/plating,
/area/station/maintenance/starboard/lesser)
+"ruG" = (
+/obj/structure/broken_flooring/pile/directional/east,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/alien/weeds,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/greater)
"ruS" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -52087,9 +52822,31 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
+"ruT" = (
+/obj/structure/table/reinforced,
+/obj/machinery/door/poddoor/shutters{
+ dir = 1;
+ id = "abandoned_lab";
+ name = "Abandoned Lab Shutters"
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"ruY" = (
/turf/open/floor/plating,
/area/station/maintenance/fore/lesser)
+"rva" = (
+/obj/structure/table/reinforced,
+/obj/effect/turf_decal/tile/dark_red/fourcorners,
+/obj/machinery/recharger,
+/obj/item/radio/intercom/directional/north,
+/turf/open/floor/iron/smooth,
+/area/station/security/checkpoint/customs)
+"rvh" = (
+/obj/machinery/firealarm/directional/east,
+/obj/machinery/light/small/directional/east,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"rvp" = (
/turf/closed/mineral/random/stationside,
/area/station/maintenance/hallway/abandoned_command)
@@ -52123,6 +52880,17 @@
},
/turf/open/floor/iron/smooth,
/area/station/security/checkpoint/escape)
+"rvE" = (
+/obj/machinery/button/door/directional/east{
+ id = "AuxToilet3";
+ name = "Lock Control";
+ normaldoorcontrol = 1;
+ specialfunctions = 4
+ },
+/obj/structure/toilet,
+/obj/machinery/light/small/directional/west,
+/turf/open/floor/iron/showroomfloor,
+/area/station/maintenance/department/science/xenobiology)
"rvI" = (
/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
dir = 4
@@ -52133,6 +52901,19 @@
/obj/machinery/firealarm/directional/north,
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"rvJ" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/maintenance/department/science/xenobiology)
+"rvU" = (
+/obj/machinery/newscaster/directional/south,
+/obj/structure/table,
+/obj/item/storage/box/lights/mixed,
+/turf/open/floor/iron,
+/area/station/commons/storage/art)
"rvX" = (
/obj/structure/table/reinforced,
/obj/machinery/door/window/left/directional/south{
@@ -52154,16 +52935,19 @@
/obj/effect/turf_decal/tile/green/opposingcorners,
/turf/open/floor/iron/dark,
/area/station/medical/chemistry)
+"rwb" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/central)
"rwg" = (
/turf/open/floor/iron/white/side{
dir = 6
},
/area/station/science/research)
-"rwo" = (
-/obj/structure/reagent_dispensers/water_cooler,
-/obj/machinery/camera/directional/west,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
"rwq" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -52200,6 +52984,15 @@
/obj/machinery/camera/autoname/directional/east,
/turf/open/floor/plating,
/area/station/maintenance/department/prison)
+"rwQ" = (
+/obj/machinery/duct,
+/obj/machinery/holopad,
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/iron/white/small,
+/area/station/medical/storage)
+"rwY" = (
+/turf/open/floor/engine/bz,
+/area/station/science/xenobiology)
"rxa" = (
/obj/effect/turf_decal/siding/wood{
dir = 6
@@ -52227,19 +53020,6 @@
/obj/item/razor,
/turf/open/floor/iron/dark/small,
/area/station/security/execution/education)
-"rxB" = (
-/obj/structure/curtain/cloth/fancy/mechanical/start_closed{
- desc = "A set of curtains serving as a fancy theater backdrop. They can only be opened by a button.";
- id = "abandoned_brewery";
- name = "Abandoned Brewery"
- },
-/obj/effect/turf_decal/siding/wood{
- dir = 4
- },
-/turf/open/floor/iron/dark/side{
- dir = 4
- },
-/area/station/maintenance/department/science/xenobiology)
"rxD" = (
/obj/structure/extinguisher_cabinet/directional/south,
/obj/effect/turf_decal/tile/blue,
@@ -52285,6 +53065,15 @@
/obj/item/modular_computer/laptop,
/turf/open/floor/iron/grimy,
/area/station/science/cubicle)
+"rxW" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"rxX" = (
/obj/structure/closet{
name = "Paramedic Supplies"
@@ -52326,14 +53115,17 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/fore/lesser)
-"ryk" = (
-/obj/machinery/status_display/ai/directional/north,
+"ryn" = (
+/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side{
- dir = 1
+/obj/structure/disposalpipe/segment{
+ dir = 9
},
-/area/station/science/research)
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/spawner/random/trash,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical/central)
"ryr" = (
/obj/effect/turf_decal/stripes/line{
dir = 5
@@ -52359,6 +53151,17 @@
/obj/machinery/door/firedoor,
/turf/open/floor/iron/dark,
/area/station/medical/medbay/aft)
+"ryP" = (
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/science/xenobiology)
"ryW" = (
/obj/machinery/camera/autoname/directional/east,
/obj/effect/turf_decal/tile/neutral,
@@ -52374,6 +53177,14 @@
/obj/machinery/camera/autoname/directional/south,
/turf/open/floor/iron,
/area/station/cargo/storage)
+"rza" = (
+/obj/structure/disposalpipe/junction{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/cafeteria,
+/area/station/science/breakroom)
"rzb" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -52387,9 +53198,6 @@
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/components/binary/valve/digital{
- dir = 4
- },
/turf/open/floor/iron/white/small,
/area/station/science/ordnance/storage)
"rze" = (
@@ -52398,6 +53206,17 @@
},
/turf/open/floor/iron,
/area/station/commons/dorms)
+"rzk" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/airlock{
+ name = "Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
+/obj/effect/mapping_helpers/airlock/unres,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/central)
"rzm" = (
/obj/machinery/camera/directional/west{
c_tag = "Engineering - Decontamination B"
@@ -52407,6 +53226,18 @@
},
/turf/open/floor/iron/smooth_large,
/area/station/engineering/break_room)
+"rzq" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/obj/effect/turf_decal/tile/blue,
+/turf/open/floor/iron/white,
+/area/station/medical/medbay/aft)
+"rzI" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/effect/landmark/start/lawyer,
+/turf/open/floor/iron/dark/herringbone,
+/area/station/security/courtroom)
"rzJ" = (
/obj/structure/chair/sofa/bench/left{
dir = 4
@@ -52418,13 +53249,6 @@
dir = 1
},
/area/station/hallway/secondary/entry)
-"rzO" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"rzX" = (
/obj/structure/hedge,
/obj/machinery/status_display/supply{
@@ -52441,6 +53265,13 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/iron,
/area/station/maintenance/department/medical/central)
+"rAe" = (
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/glass,
+/turf/open/floor/iron,
+/area/station/maintenance/department/science/xenobiology)
"rAt" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -52484,6 +53315,14 @@
/obj/machinery/camera/autoname/directional/south,
/turf/open/floor/plating,
/area/station/engineering/gravity_generator)
+"rAJ" = (
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"rAR" = (
/obj/structure/cable,
/obj/machinery/door/airlock/security/glass{
@@ -52492,12 +53331,6 @@
/obj/effect/mapping_helpers/airlock/access/all/security/general,
/turf/open/floor/iron/textured_half,
/area/station/security/brig/entrance)
-"rBc" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/aft)
"rBe" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -52507,27 +53340,15 @@
/obj/structure/extinguisher_cabinet/directional/east,
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
-"rBq" = (
-/obj/structure/table/reinforced,
-/obj/effect/turf_decal/tile/dark_red/fourcorners,
-/obj/item/restraints/handcuffs,
-/obj/machinery/light/small/directional/west,
-/obj/machinery/airalarm/directional/west,
-/obj/structure/cable,
-/turf/open/floor/iron/smooth,
-/area/station/security/checkpoint/customs)
+"rBg" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/science/ordnance/testlab)
"rBy" = (
/obj/machinery/camera/autoname/directional/west,
/turf/open/floor/iron,
/area/station/security/prison)
-"rBz" = (
-/obj/effect/turf_decal/trimline/neutral/warning{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/turf/open/floor/iron/dark/small,
-/area/station/medical/morgue)
"rBE" = (
/obj/machinery/airalarm/directional/south,
/obj/effect/turf_decal/tile/dark_red/half/contrasted{
@@ -52553,15 +53374,8 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/commons/dorms)
-"rBY" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue,
-/turf/open/floor/iron/white,
-/area/station/medical/medbay/central)
"rCa" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/dark/corner{
dir = 1
},
@@ -52602,6 +53416,13 @@
dir = 4
},
/area/station/hallway/secondary/entry)
+"rDn" = (
+/obj/structure/sign/warning/engine_safety/directional/north,
+/obj/machinery/light/cold/dim/directional/north,
+/obj/structure/closet/secure_closet/engineering_personal,
+/obj/item/clothing/suit/hooded/wintercoat/engineering,
+/turf/open/floor/iron/small,
+/area/station/engineering/break_room)
"rDs" = (
/obj/machinery/door/airlock/mining/glass{
name = "Filing Room"
@@ -52620,18 +53441,18 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"rDD" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+"rDF" = (
+/obj/machinery/door/airlock/public/glass{
+ name = "Applied Sciences"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "sci-entrance"
+ },
+/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/railing{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 8
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron/white/corner,
-/area/station/commons/dorms)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/textured_half,
+/area/station/science/lobby)
"rDP" = (
/obj/item/kirbyplants/random/fullysynthetic,
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
@@ -52689,6 +53510,17 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"rEN" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/window/reinforced/spawner/directional/east,
+/obj/machinery/computer/pod/old/mass_driver_controller/ordnancedriver{
+ pixel_x = 24
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/dark/side{
+ dir = 4
+ },
+/area/station/science/ordnance/testlab)
"rEV" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -52703,17 +53535,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"rEY" = (
-/obj/effect/turf_decal/tile/blue,
-/obj/machinery/light/directional/north,
-/obj/structure/filingcabinet/chestdrawer{
- pixel_y = 2
- },
-/obj/machinery/status_display/evac/directional/north,
-/turf/open/floor/iron/dark/textured_edge{
- dir = 1
- },
-/area/station/command/heads_quarters/hop)
"rFb" = (
/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden,
/obj/effect/turf_decal/tile/yellow,
@@ -52721,6 +53542,11 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/smooth,
/area/station/engineering/main)
+"rFi" = (
+/obj/item/kirbyplants/random,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"rFm" = (
/obj/structure/disposalpipe/segment,
/obj/structure/cable,
@@ -52733,17 +53559,6 @@
/obj/machinery/status_display/evac/directional/east,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"rFp" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/window/reinforced/spawner/directional/east,
-/obj/machinery/computer/pod/old/mass_driver_controller/ordnancedriver{
- pixel_x = 24
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/dark/side{
- dir = 4
- },
-/area/station/science/ordnance/testlab)
"rFv" = (
/obj/structure/railing{
dir = 1
@@ -52773,19 +53588,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/catwalk_floor/iron_dark,
/area/station/science/xenobiology)
-"rFH" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/door/window/right/directional/east{
- name = "Research Delivery";
- req_access = list("science")
- },
-/obj/structure/cable,
-/turf/open/floor/iron/white/side{
- dir = 6
- },
-/area/station/science/research)
"rFU" = (
/obj/structure/table/wood,
/obj/item/paper_bin,
@@ -52796,16 +53598,12 @@
/obj/effect/turf_decal/trimline/blue/filled/corner,
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
-"rGp" = (
-/obj/machinery/door/airlock/research/glass{
- name = "Testing Chamber"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/ordnance,
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/small,
-/area/station/science/ordnance/storage)
+"rGu" = (
+/obj/structure/lattice/catwalk,
+/obj/item/stack/cable_coil,
+/obj/structure/cable,
+/turf/open/space/basic,
+/area/station/solars/starboard/fore)
"rGB" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -52814,21 +53612,6 @@
/obj/structure/steam_vent,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"rGI" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/green/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/white,
-/area/station/medical/virology)
-"rGO" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/table,
-/obj/item/screwdriver,
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/hallway/secondary/construction)
"rHe" = (
/obj/effect/turf_decal/tile/yellow{
dir = 1
@@ -52866,6 +53649,16 @@
},
/turf/open/floor/iron,
/area/station/maintenance/department/engine/atmos)
+"rHF" = (
+/obj/machinery/door/airlock/public/glass{
+ name = "Recreation"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/iron/textured_half,
+/area/station/commons/fitness/recreation/entertainment)
"rHH" = (
/obj/effect/turf_decal/siding/wood{
dir = 9
@@ -52881,6 +53674,14 @@
/obj/machinery/light/small/directional/west,
/turf/open/floor/iron,
/area/station/maintenance/hallway/abandoned_command)
+"rHU" = (
+/obj/machinery/light/cold/directional/west,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side{
+ dir = 4
+ },
+/area/station/science/lobby)
"rHY" = (
/obj/effect/turf_decal/siding/wideplating_new/terracotta{
dir = 1
@@ -52895,6 +53696,12 @@
/obj/structure/reagent_dispensers/wall/peppertank/directional/north,
/turf/open/floor/iron,
/area/station/security/lockers)
+"rIh" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/iron,
+/area/station/maintenance/department/engine/atmos)
"rIn" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/neutral{
@@ -52924,6 +53731,20 @@
"rIY" = (
/turf/closed/wall/r_wall,
/area/station/construction/mining/aux_base)
+"rJc" = (
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/power/smes/full,
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/hallway/secondary/construction)
+"rJk" = (
+/obj/machinery/light/cold/directional/north,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side{
+ dir = 1
+ },
+/area/station/science/research)
"rJo" = (
/obj/effect/turf_decal/siding/wood{
dir = 1
@@ -52935,13 +53756,10 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/department/prison)
-"rJw" = (
-/mob/living/carbon/human/species/monkey{
- name = "George"
- },
-/obj/structure/cable,
-/turf/open/floor/grass,
-/area/station/science/xenobiology)
+"rJz" = (
+/obj/structure/bodycontainer/morgue,
+/turf/open/floor/iron/dark/small,
+/area/station/medical/morgue)
"rJB" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -52966,6 +53784,14 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/cargo/storage)
+"rJU" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/neutral,
+/obj/machinery/light/cold/directional/east,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"rJW" = (
/obj/machinery/suit_storage_unit/hos,
/obj/effect/decal/cleanable/dirt,
@@ -52979,11 +53805,25 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"rKh" = (
+/obj/structure/reagent_dispensers/water_cooler,
+/obj/machinery/camera/directional/west,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"rKn" = (
/obj/structure/cable,
/obj/item/banner/cargo,
/turf/open/floor/iron/smooth,
/area/station/command/heads_quarters/qm)
+"rKo" = (
+/obj/structure/chair/comfy/brown{
+ buildstackamount = 0;
+ color = "#c45c57";
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/station/service/lawoffice)
"rKv" = (
/obj/structure/broken_flooring/singular/directional/east,
/turf/open/floor/iron,
@@ -52994,22 +53834,6 @@
},
/turf/open/floor/iron,
/area/station/science/cytology)
-"rKE" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side{
- dir = 1
- },
-/area/station/science/lower)
-"rKR" = (
-/obj/effect/turf_decal/tile/yellow{
- dir = 1
- },
-/obj/structure/cable,
-/turf/open/floor/iron/smooth,
-/area/station/engineering/main)
"rKZ" = (
/obj/structure/railing,
/obj/machinery/light/small/dim/directional/north,
@@ -53027,16 +53851,6 @@
},
/turf/open/floor/iron/small,
/area/station/engineering/break_room)
-"rLk" = (
-/obj/effect/mapping_helpers/broken_floor,
-/obj/effect/turf_decal/box/corners{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/white/line{
- dir = 10
- },
-/turf/open/floor/engine,
-/area/station/science/explab)
"rLp" = (
/obj/structure/disposalpipe/segment,
/obj/structure/disposalpipe/segment{
@@ -53048,14 +53862,17 @@
/obj/machinery/door/poddoor/incinerator_ordmix,
/turf/open/floor/engine/vacuum,
/area/station/science/ordnance/burnchamber)
-"rLt" = (
-/obj/structure/rack,
-/obj/effect/spawner/random/techstorage/medical_all,
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/obj/effect/turf_decal/bot,
-/obj/structure/extinguisher_cabinet/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/engineering/storage/tech)
+"rLu" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/door/airlock/research{
+ name = "Xenobiology Secure Lab"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/xenobio,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/science/xenobiology)
"rLx" = (
/obj/effect/turf_decal/siding/thinplating/terracotta,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -53079,11 +53896,6 @@
},
/turf/open/floor/iron/dark/herringbone,
/area/station/ai_monitored/command/nuke_storage)
-"rMb" = (
-/obj/effect/landmark/generic_maintenance_landmark,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/turf/open/floor/iron/grimy,
-/area/station/commons/vacant_room/office)
"rMf" = (
/obj/structure/table,
/obj/machinery/computer/arcade/orion_trail{
@@ -53120,6 +53932,22 @@
},
/turf/open/space/basic,
/area/space/nearstation)
+"rMq" = (
+/obj/machinery/door/airlock/highsecurity{
+ name = "Secure Tech Storage"
+ },
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/mapping_helpers/airlock/access/all/engineering/tech_storage,
+/obj/effect/mapping_helpers/airlock/access/all/command/general,
+/obj/structure/cable,
+/turf/open/floor/iron/smooth_half{
+ dir = 1
+ },
+/area/station/engineering/storage/tech)
"rMt" = (
/obj/structure/flora/bush/flowers_br/style_random,
/obj/structure/flora/rock/pile/style_random,
@@ -53147,14 +53975,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/diagonal,
/area/station/engineering/lobby)
-"rNd" = (
-/obj/machinery/door/airlock{
- name = "Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/general,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/central)
"rNn" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -53165,6 +53985,23 @@
/obj/machinery/digital_clock/directional/north,
/turf/open/floor/iron,
/area/station/security)
+"rNt" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/airalarm/directional/east,
+/obj/machinery/duct,
+/turf/open/floor/iron/white/small,
+/area/station/commons/toilet/restrooms)
+"rNx" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/blue,
+/obj/structure/disposalpipe/junction/flip,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/dark/side{
+ dir = 4
+ },
+/area/station/hallway/primary/fore)
"rNB" = (
/obj/machinery/light/small/directional/west,
/turf/open/floor/catwalk_floor/iron_smooth,
@@ -53187,6 +54024,16 @@
/obj/effect/spawner/random/entertainment/arcade,
/turf/open/floor/iron/cafeteria,
/area/station/security/prison/mess)
+"rNK" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/side,
+/area/station/science/xenobiology)
"rNL" = (
/obj/effect/turf_decal/siding/wood{
dir = 4
@@ -53194,6 +54041,12 @@
/obj/structure/displaycase/trophy,
/turf/open/floor/wood/parquet,
/area/station/service/library)
+"rNM" = (
+/obj/effect/turf_decal/siding,
+/obj/machinery/airalarm/directional/south,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/small,
+/area/station/science/lab)
"rNN" = (
/obj/effect/landmark/start/hangover,
/obj/effect/turf_decal/tile/neutral{
@@ -53222,11 +54075,18 @@
/obj/structure/sign/poster/official/random/directional/north,
/turf/open/floor/wood,
/area/station/commons/fitness/recreation)
-"rOW" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/science/server)
+"rOL" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/door/airlock/research{
+ name = "Augment Corridor"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/robotics,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/catwalk_floor/iron_white,
+/area/station/science/robotics/augments)
"rOX" = (
/turf/closed/wall,
/area/station/science/robotics/augments)
@@ -53328,25 +54188,26 @@
/obj/structure/flora/bush/flowers_br/style_random,
/turf/open/floor/grass,
/area/station/service/chapel)
+"rPZ" = (
+/obj/effect/turf_decal/siding/dark/corner{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/textured_half{
+ dir = 1
+ },
+/area/station/command/bridge)
"rQi" = (
/turf/closed/wall/r_wall,
/area/station/engineering/main)
-"rQr" = (
-/obj/structure/table/wood,
-/obj/effect/turf_decal/siding/wood{
- dir = 4
- },
-/obj/effect/spawner/random/entertainment/dice,
-/turf/open/floor/wood/large,
-/area/station/maintenance/department/science/xenobiology)
-"rQw" = (
-/obj/machinery/light/small/directional/north,
-/turf/open/floor/engine/bz,
-/area/station/science/xenobiology)
"rQC" = (
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/service/chapel/office)
+"rQD" = (
+/obj/machinery/suit_storage_unit/standard_unit,
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/iron/dark/smooth_large,
+/area/station/ai_monitored/command/storage/eva)
"rQF" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -53375,6 +54236,18 @@
dir = 1
},
/area/station/hallway/secondary/exit/departure_lounge)
+"rQX" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light/floor,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/simple/dark/hidden{
+ dir = 9
+ },
+/turf/open/floor/iron/dark,
+/area/station/tcommsat/server)
"rRa" = (
/obj/effect/spawner/random/trash,
/obj/effect/decal/cleanable/dirt,
@@ -53404,6 +54277,13 @@
},
/turf/open/floor/carpet/red,
/area/station/command/heads_quarters/qm)
+"rRm" = (
+/obj/structure/window/reinforced/spawner/directional/south,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/science/xenobiology)
"rRq" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
@@ -53432,17 +54312,31 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/security/courtroom)
+"rRZ" = (
+/obj/effect/turf_decal/weather/snow,
+/obj/machinery/light/small/directional/north,
+/obj/machinery/icecream_vat,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 6
+ },
+/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+/area/station/service/kitchen/coldroom)
+"rSe" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/obj/effect/turf_decal/siding/dark{
+ dir = 10
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/dark/textured,
+/area/station/command/meeting_room)
"rSi" = (
/obj/effect/turf_decal/tile/dark_red{
dir = 8
},
/turf/open/floor/iron/smooth,
/area/station/security/checkpoint/escape)
-"rSt" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/small,
-/area/station/medical/morgue)
"rSy" = (
/obj/machinery/door/airlock{
id_tag = "CabinS";
@@ -53450,15 +54344,6 @@
},
/turf/open/floor/carpet/green,
/area/station/commons/dorms)
-"rSz" = (
-/obj/structure/chair/comfy/brown{
- buildstackamount = 0;
- color = "#c45c57";
- dir = 1
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron/dark,
-/area/station/service/lawoffice)
"rSB" = (
/obj/structure/railing{
dir = 8
@@ -53552,28 +54437,15 @@
/obj/item/assembly/mousetrap/armed,
/turf/open/floor/stone,
/area/station/service/abandoned_gambling_den)
-"rUI" = (
-/obj/item/radio/intercom/directional/west,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side{
- dir = 4
+"rVf" = (
+/obj/structure/disposalpipe/segment{
+ dir = 9
},
-/area/station/science/lobby)
-"rUR" = (
-/obj/effect/spawner/random/structure/grille,
-/turf/open/floor/iron/dark,
-/area/station/maintenance/department/science/xenobiology)
-"rUV" = (
-/obj/machinery/navbeacon{
- codes_txt = "patrol;next_patrol=7.0-Arrivals-Pharmacy";
- location = "6.3-Arrivals"
- },
-/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/neutral,
+/obj/structure/extinguisher_cabinet/directional/east,
/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
+/area/station/hallway/primary/central/fore)
"rVj" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/machinery/light/cold/directional/north,
@@ -53612,6 +54484,15 @@
},
/turf/open/floor/iron/dark/textured_large,
/area/station/service/kitchen)
+"rVy" = (
+/obj/effect/turf_decal/stripes/red/line{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 8
+ },
+/turf/open/floor/iron/smooth_large,
+/area/station/science/auxlab/firing_range)
"rVH" = (
/obj/effect/turf_decal/tile/blue/fourcorners,
/obj/structure/table/glass,
@@ -53637,6 +54518,24 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"rVM" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/broken_flooring/singular/directional/south,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical/central)
+"rVN" = (
+/obj/machinery/computer/security/telescreen/entertainment/directional/west,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"rVT" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
@@ -53644,24 +54543,33 @@
},
/turf/open/floor/iron/dark,
/area/station/security/processing)
+"rVX" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/dock)
"rWa" = (
/obj/structure/closet,
/obj/machinery/camera/autoname/directional/east,
/turf/open/floor/iron/smooth,
/area/station/cargo/lobby)
-"rWm" = (
-/obj/machinery/camera/directional/west,
+"rWd" = (
+/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side{
- dir = 4
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/research{
+ name = "Chemistry Lab"
},
-/area/station/science/lobby)
-"rWr" = (
-/obj/structure/table,
-/obj/item/flatpack/flatpacker,
-/turf/open/floor/iron/dark,
-/area/station/science/lab)
+/obj/effect/turf_decal/delivery/red,
+/obj/effect/mapping_helpers/airlock/access/all/medical/chemistry,
+/turf/open/floor/iron/dark/small,
+/area/station/medical/chemistry)
"rWs" = (
/obj/effect/turf_decal/siding/brown{
dir = 5
@@ -53744,13 +54652,6 @@
/obj/effect/turf_decal/delivery/white,
/turf/open/floor/iron/dark/side,
/area/station/cargo/sorting)
-"rWS" = (
-/obj/item/kirbyplants/random,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/turf/open/floor/iron/white,
-/area/station/science/cytology)
"rWU" = (
/obj/structure/rack,
/obj/effect/spawner/random/maintenance,
@@ -53764,14 +54665,9 @@
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
"rXv" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/iron/smooth,
-/area/station/hallway/secondary/command)
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/turf/open/floor/iron,
+/area/station/construction/mining/aux_base)
"rXw" = (
/obj/structure/reagent_dispensers/watertank,
/turf/open/floor/plating,
@@ -53782,6 +54678,12 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
+"rXD" = (
+/obj/effect/turf_decal/siding/thinplating_new/terracotta,
+/obj/machinery/computer/security/telescreen/entertainment/directional/north,
+/obj/item/kirbyplants/organic/applebush,
+/turf/open/floor/iron/dark/smooth_large,
+/area/station/command/meeting_room)
"rXW" = (
/obj/structure/flora/bush/flowers_yw,
/obj/machinery/door/window/left/directional/west{
@@ -53822,13 +54724,6 @@
/obj/structure/flora/bush/flowers_yw/style_3,
/turf/open/floor/grass,
/area/station/service/chapel)
-"rYx" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/siding/wideplating/dark,
-/turf/open/floor/iron/small,
-/area/station/service/barber)
"rYD" = (
/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/air_input,
/turf/open/floor/engine/air,
@@ -53889,16 +54784,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/department/electrical)
-"rZw" = (
-/obj/structure/table/glass,
-/obj/effect/mapping_helpers/broken_floor,
-/obj/machinery/light/small/directional/south,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/service/lawoffice)
"rZz" = (
/obj/structure/cable,
/obj/effect/turf_decal/trimline/neutral/line,
@@ -53950,43 +54835,38 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
-"saA" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white,
-/area/station/science/cytology)
"saL" = (
/obj/effect/turf_decal/siding/wood,
/obj/machinery/light/small/directional/west,
/turf/open/floor/wood/parquet,
/area/station/service/library)
"saY" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/science/robotics/augments)
"sbq" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/closed/wall/r_wall,
/area/station/science/ordnance/freezerchamber)
-"sbx" = (
-/obj/structure/chair/sofa/bench/right{
- dir = 8
- },
-/obj/machinery/newscaster/directional/north,
-/obj/effect/turf_decal/tile/red{
- dir = 4
- },
-/obj/machinery/airalarm/directional/east,
-/turf/open/floor/iron/cafeteria,
-/area/station/hallway/secondary/exit/departure_lounge)
+"sbr" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/structure/cable,
+/turf/open/floor/engine,
+/area/station/science/cytology)
"sbN" = (
/obj/machinery/rnd/server,
/turf/open/floor/circuit,
/area/station/science/server)
+"sbS" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/wood/tile,
+/area/station/command/meeting_room)
"sbU" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -54020,6 +54900,11 @@
/obj/effect/landmark/start/research_director,
/turf/open/floor/iron/grimy,
/area/station/science/cubicle)
+"scc" = (
+/obj/machinery/firealarm/directional/west,
+/obj/structure/urinal/directional/south,
+/turf/open/floor/iron/showroomfloor,
+/area/station/commons/toilet/auxiliary)
"scj" = (
/turf/closed/wall/r_wall,
/area/station/science/lower)
@@ -54088,13 +54973,11 @@
/obj/machinery/light_switch/directional/east,
/turf/open/floor/iron/dark,
/area/station/security/interrogation)
-"sdm" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/mapping_helpers/broken_floor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+"sdE" = (
+/obj/structure/hedge,
+/obj/effect/decal/cleanable/cobweb/cobweb2,
/turf/open/floor/plating,
-/area/station/maintenance/starboard/aft)
+/area/station/command/heads_quarters/hop)
"sdZ" = (
/obj/machinery/portable_atmospherics/canister,
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
@@ -54106,12 +54989,10 @@
/obj/effect/turf_decal/tile/dark/fourcorners,
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"sea" = (
-/obj/effect/turf_decal/siding/white/corner,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/small,
-/area/station/science/xenobiology)
+"seb" = (
+/obj/effect/landmark/start/roboticist,
+/turf/open/floor/iron/smooth_large,
+/area/station/science/robotics/mechbay)
"seq" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/turf/open/floor/plating,
@@ -54145,19 +55026,26 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/maintenance/fore/greater)
+"seV" = (
+/obj/structure/transit_tube/horizontal,
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/space/basic,
+/area/space/nearstation)
"sfk" = (
/obj/structure/disposalpipe/segment,
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/secondary/recreation)
-"sfq" = (
-/obj/machinery/light/cold/directional/north,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side{
- dir = 1
+"sfp" = (
+/obj/machinery/door/poddoor/shutters{
+ dir = 8;
+ id = "mechbay";
+ name = "Mech Bay Shutters"
},
-/area/station/science/research)
+/obj/structure/cable,
+/turf/open/floor/catwalk_floor/iron_smooth,
+/area/station/science/robotics/mechbay)
"sfu" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/obj/structure/disposalpipe/segment,
@@ -54213,22 +55101,50 @@
/obj/structure/extinguisher_cabinet/directional/west,
/turf/open/floor/iron,
/area/station/cargo/sorting)
+"sfZ" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/door/airlock/public/glass{
+ name = "Research Wing"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "sci-entrance"
+ },
+/obj/machinery/door/firedoor,
+/obj/machinery/door/poddoor/shutters/preopen{
+ dir = 8;
+ id = "rdrnd";
+ name = "Research and Development Shutters"
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/white/textured_half{
+ dir = 1
+ },
+/area/station/hallway/primary/starboard)
+"sgd" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/central/lesser)
"sge" = (
/obj/structure/reagent_dispensers/beerkeg,
/obj/item/clothing/head/costume/festive,
/turf/open/floor/plating,
/area/station/maintenance/starboard/greater)
-"sgm" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+"sgk" = (
+/obj/structure/closet/secure_closet/brig,
+/obj/item/radio/intercom/directional/west,
/turf/open/floor/iron,
-/area/station/maintenance/starboard/greater)
-"sgt" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/structure/transit_tube/horizontal,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/area/station/security/execution/transfer)
+"sgo" = (
+/obj/structure/broken_flooring/corner,
/turf/open/floor/plating,
-/area/station/maintenance/starboard/greater)
+/area/station/maintenance/department/science/xenobiology)
"sgw" = (
/obj/machinery/mass_driver/ordnance{
dir = 1
@@ -54241,17 +55157,20 @@
/obj/machinery/light/small/directional/west,
/turf/open/floor/iron/showroomfloor,
/area/station/commons/toilet/auxiliary)
-"sgJ" = (
-/obj/effect/turf_decal/tile/blue,
-/obj/effect/spawner/random/vending/snackvend,
-/turf/open/floor/iron/dark/side,
-/area/station/hallway/primary/central/fore)
"sgO" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/dark/smooth_edge{
dir = 1
},
/area/station/maintenance/starboard/greater)
+"sgW" = (
+/obj/machinery/light_switch/directional/south,
+/obj/machinery/camera/autoname/directional/south,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/turf/open/floor/iron/smooth,
+/area/station/maintenance/solars/starboard/fore)
"sgY" = (
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
@@ -54260,18 +55179,23 @@
/obj/machinery/vending/coffee,
/turf/open/floor/plating,
/area/station/hallway/secondary/recreation)
-"shm" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/broken_flooring/singular/directional/east,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/aft)
"shD" = (
/turf/closed/wall,
/area/station/hallway/secondary/recreation)
+"shE" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/extinguisher_cabinet/directional/north,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side,
+/area/station/science/lower)
+"shG" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/recreation)
"shL" = (
/obj/machinery/door/airlock/external{
name = "Escape Pod One";
@@ -54290,11 +55214,6 @@
/obj/machinery/light/small/directional/north,
/turf/open/floor/grass,
/area/station/service/chapel)
-"sib" = (
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/hallway/secondary/construction)
"sip" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/item/robot_suit,
@@ -54304,6 +55223,12 @@
"sis" = (
/turf/open/floor/grass,
/area/station/security/prison/garden)
+"siC" = (
+/obj/machinery/firealarm/directional/east,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"siG" = (
/obj/machinery/atmospherics/pipe/smart/manifold/general/visible{
dir = 1
@@ -54342,6 +55267,16 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
+"sjs" = (
+/obj/machinery/door/window/brigdoor/left/directional/north{
+ name = "Command Desk";
+ req_access = list("command")
+ },
+/obj/effect/turf_decal/siding/dark,
+/turf/open/floor/iron/dark/textured_half{
+ dir = 1
+ },
+/area/station/command/bridge)
"sjw" = (
/obj/machinery/door/airlock/external{
name = "Atmospherics External Access"
@@ -54439,10 +55374,6 @@
},
/turf/open/floor/iron/white/small,
/area/station/security/warden)
-"skT" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/rd)
"skU" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -54474,6 +55405,15 @@
"slw" = (
/turf/closed/wall,
/area/station/cargo/drone_bay)
+"slA" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/white/side{
+ dir = 8
+ },
+/area/station/science/lobby)
"slG" = (
/obj/docking_port/stationary{
dir = 2;
@@ -54522,20 +55462,6 @@
/obj/machinery/camera/autoname/directional/south,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"smh" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/navbeacon{
- codes_txt = "patrol;next_patrol=23.4-Evac";
- location = "23.3-Evac"
- },
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
-"smk" = (
-/obj/effect/turf_decal/siding/thinplating_new/light,
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/turf/open/floor/iron/smooth_large,
-/area/station/science/robotics/mechbay)
"smH" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 1
@@ -54566,11 +55492,6 @@
/obj/machinery/rnd/experimentor,
/turf/open/floor/engine,
/area/station/science/explab)
-"sny" = (
-/obj/machinery/holopad,
-/obj/effect/spawner/random/engineering/tracking_beacon,
-/turf/open/floor/iron,
-/area/station/security/courtroom)
"snB" = (
/obj/structure/transport/linear/tram,
/obj/structure/chair{
@@ -54579,17 +55500,6 @@
/obj/structure/thermoplastic,
/turf/open/floor/tram,
/area/station/security/tram)
-"snJ" = (
-/obj/effect/turf_decal/stripes/corner,
-/obj/machinery/light/small/directional/south,
-/obj/item/kirbyplants/fern,
-/turf/open/floor/iron/white,
-/area/station/science/cytology)
-"snK" = (
-/obj/effect/turf_decal/siding/thinplating_new/dark/corner,
-/obj/effect/landmark/event_spawn,
-/turf/open/floor/iron,
-/area/station/security/courtroom)
"snW" = (
/obj/structure/chair/sofa/bench/right{
dir = 1
@@ -54600,21 +55510,6 @@
"snZ" = (
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
-"sok" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/machinery/light/cold/directional/north,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/corner{
- dir = 1
- },
-/area/station/hallway/secondary/dock)
"sor" = (
/obj/machinery/computer/exoscanner_control{
dir = 1
@@ -54656,6 +55551,12 @@
},
/turf/open/floor/iron,
/area/station/security/courtroom)
+"soG" = (
+/obj/effect/turf_decal/siding/wood,
+/obj/machinery/vending/wardrobe/jani_wardrobe,
+/obj/machinery/camera/autoname/directional/north,
+/turf/open/floor/iron/small,
+/area/station/service/janitor)
"soO" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -54680,13 +55581,6 @@
/obj/effect/mapping_helpers/airlock/access/any/security/court,
/turf/open/floor/plating,
/area/station/maintenance/central/lesser)
-"spi" = (
-/obj/structure/chair{
- pixel_y = -2
- },
-/obj/machinery/light/small/directional/west,
-/turf/open/floor/iron/dark/small,
-/area/station/security/checkpoint/customs/auxiliary)
"spk" = (
/obj/machinery/camera/directional/east,
/obj/machinery/light/small/directional/east,
@@ -54726,19 +55620,6 @@
/obj/machinery/door/firedoor,
/turf/open/floor/iron/small,
/area/station/service/bar)
-"spK" = (
-/obj/effect/turf_decal/tile/purple/opposingcorners,
-/obj/structure/cable,
-/turf/open/floor/iron/cafeteria,
-/area/station/science/circuits)
-"spP" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/obj/effect/turf_decal/tile/red/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/smooth,
-/area/station/security/checkpoint/customs/auxiliary)
"sqa" = (
/obj/effect/turf_decal/tile/blue,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
@@ -54791,13 +55672,10 @@
},
/turf/open/floor/iron/smooth,
/area/station/security/checkpoint/customs/auxiliary)
-"sqV" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/chair/sofa/bench/left{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/maintenance/department/medical/central)
+"sqC" = (
+/obj/effect/spawner/random/maintenance,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/station/maintenance/department/science/xenobiology)
"sqY" = (
/obj/structure/flora/bush/large/style_random{
pixel_x = -20;
@@ -54825,15 +55703,31 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
-"srl" = (
-/obj/machinery/firealarm/directional/east,
-/obj/machinery/vending/cigarette,
-/turf/open/floor/iron/smooth,
-/area/station/hallway/secondary/command)
"srn" = (
/obj/structure/disposalpipe/segment,
/turf/closed/wall,
/area/station/maintenance/port/greater)
+"srp" = (
+/obj/machinery/door/window/right/directional/south{
+ name = "Jetpack Storage"
+ },
+/obj/item/tank/jetpack/carbondioxide{
+ pixel_x = -4;
+ pixel_y = 1
+ },
+/obj/item/tank/jetpack/carbondioxide,
+/obj/item/tank/jetpack/carbondioxide{
+ pixel_x = 4;
+ pixel_y = -1
+ },
+/obj/structure/rack,
+/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/obj/effect/turf_decal/siding/dark,
+/turf/open/floor/iron/dark/smooth_edge,
+/area/station/ai_monitored/command/storage/eva)
"srx" = (
/obj/machinery/power/port_gen/pacman,
/obj/effect/turf_decal/bot{
@@ -54856,32 +55750,6 @@
/obj/structure/window/spawner/directional/west,
/turf/open/floor/iron,
/area/station/hallway/secondary/recreation)
-"srE" = (
-/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms,
-/obj/machinery/door/airlock/command/glass{
- name = "Telecommunications Server Room"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "comms-entrance-south"
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/simple/dark/hidden,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/catwalk_floor/iron_dark,
-/area/station/tcommsat/server)
-"srH" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/heat_exchanging/junction{
- dir = 8
- },
-/turf/open/floor/plating,
-/area/station/tcommsat/server)
"srK" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -54912,14 +55780,6 @@
"ssz" = (
/turf/closed/wall/r_wall,
/area/station/maintenance/department/science/xenobiology)
-"ssY" = (
-/obj/structure/kitchenspike,
-/obj/effect/turf_decal/weather/snow,
-/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
- dir = 10
- },
-/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
-/area/station/service/kitchen/coldroom)
"sta" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/stripes/corner{
@@ -54939,22 +55799,6 @@
dir = 4
},
/area/station/hallway/primary/central/fore)
-"stj" = (
-/obj/machinery/door/airlock/highsecurity{
- name = "Secure Tech Storage"
- },
-/obj/machinery/door/firedoor,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/mapping_helpers/airlock/access/all/engineering/tech_storage,
-/obj/effect/mapping_helpers/airlock/access/all/command/general,
-/obj/structure/cable,
-/turf/open/floor/iron/smooth_half{
- dir = 1
- },
-/area/station/engineering/storage/tech)
"stH" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/tile/brown/half,
@@ -54963,15 +55807,13 @@
},
/turf/open/floor/iron/textured_half,
/area/station/cargo/miningoffice)
-"stV" = (
-/obj/machinery/firealarm/directional/west,
-/obj/effect/turf_decal/tile/neutral{
+"stP" = (
+/obj/effect/turf_decal/siding{
dir = 1
},
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/turf/open/floor/iron/white/small,
+/area/station/science/lab)
"stX" = (
/obj/effect/landmark/start/chief_medical_officer,
/turf/open/floor/wood/parquet,
@@ -55010,11 +55852,32 @@
/obj/machinery/holopad,
/turf/open/floor/iron/white/small,
/area/station/science/lab)
+"suu" = (
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/structure/table,
+/obj/item/reagent_containers/cup/beaker/large{
+ pixel_x = 4;
+ pixel_y = 4
+ },
+/obj/item/storage/medkit{
+ pixel_y = -2
+ },
+/turf/open/floor/iron,
+/area/station/maintenance/department/science/xenobiology)
"suw" = (
/obj/effect/decal/cleanable/dirt,
/obj/item/radio/intercom/directional/south,
/turf/open/floor/iron/checker,
/area/station/command/heads_quarters/hos)
+"suy" = (
+/obj/structure/rack,
+/obj/effect/spawner/random/techstorage/rnd_all,
+/obj/effect/turf_decal/tile/purple/opposingcorners,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/iron/dark,
+/area/station/engineering/storage/tech)
"suM" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/firealarm/directional/south,
@@ -55024,24 +55887,12 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"suU" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/recreation)
"svd" = (
/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
dir = 4
},
/turf/open/floor/iron/small,
/area/station/engineering/atmos/pumproom)
-"svh" = (
-/obj/machinery/door/airlock{
- name = "Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/lesser)
"svo" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/machinery/dna_scannernew,
@@ -55069,17 +55920,6 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/iron/dark,
/area/station/science/genetics)
-"svz" = (
-/obj/machinery/door/airlock/research{
- name = "Xenobiology Secure Lab"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/xenobio,
-/obj/machinery/door/firedoor,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/science/xenobiology)
"svD" = (
/obj/structure/window/reinforced/spawner/directional/east,
/obj/structure/flora/bush/flowers_yw,
@@ -55134,47 +55974,15 @@
},
/turf/open/floor/plating,
/area/station/maintenance/starboard/central)
-"swh" = (
-/obj/structure/table/wood,
-/obj/machinery/computer/pod/old{
- dir = 8
- },
-/turf/open/floor/iron/grimy,
-/area/station/commons/vacant_room/office)
-"swk" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/maintenance/department/medical/central)
-"swn" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden,
-/turf/open/floor/circuit/telecomms/mainframe,
-/area/station/science/xenobiology)
"swu" = (
/turf/open/floor/wood,
/area/station/security/detectives_office)
-"swB" = (
+"swH" = (
+/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
-/obj/machinery/door/firedoor,
-/obj/effect/turf_decal/stripes/red/line,
-/obj/effect/turf_decal/stripes/red/line{
- dir = 1
- },
-/turf/open/floor/iron/small,
-/area/station/hallway/primary/starboard)
-"swF" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 6
- },
-/obj/machinery/light/small/directional/south,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/science/xenobiology)
+/turf/open/floor/iron/dark,
+/area/station/hallway/secondary/construction)
"swJ" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -55198,6 +56006,16 @@
/obj/machinery/camera/directional/north,
/turf/open/floor/grass,
/area/station/service/chapel)
+"swQ" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/obj/machinery/door/poddoor/shutters{
+ dir = 1;
+ id = "aibridge"
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/department/engine)
"swT" = (
/obj/machinery/door/airlock/maintenance_hatch{
name = "Engineering Maintenance"
@@ -55220,9 +56038,34 @@
/obj/effect/spawner/random/vending/colavend,
/turf/open/floor/wood/tile,
/area/station/service/bar)
+"sxj" = (
+/obj/machinery/holopad,
+/obj/structure/cable,
+/turf/open/floor/iron/smooth_large,
+/area/station/science/robotics/mechbay)
+"sxl" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/effect/turf_decal/trimline/neutral/line,
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/aft)
"sxm" = (
/turf/closed/wall,
/area/station/tcommsat/server)
+"sxo" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/department/engine)
"sxu" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/door/airlock/external{
@@ -55248,21 +56091,23 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"sxF" = (
-/obj/structure/disposalpipe/junction/flip{
- dir = 2
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side{
- dir = 8
- },
-/area/station/science/research)
"sxH" = (
/obj/machinery/atmospherics/pipe/smart/simple/orange,
/obj/structure/lattice,
/turf/open/space/basic,
/area/space/nearstation)
+"sxK" = (
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/sink/directional/south,
+/obj/structure/mirror/directional/north,
+/turf/open/floor/iron,
+/area/station/maintenance/department/science/xenobiology)
"sxQ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -55323,25 +56168,23 @@
"syk" = (
/turf/closed/wall,
/area/station/security/warden)
-"sys" = (
-/obj/structure/broken_flooring/side/directional/south,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
-"syA" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/door/airlock/public/glass{
- name = "Dorms"
- },
-/turf/open/floor/iron/textured_half{
- dir = 1
- },
-/area/station/commons/fitness/locker_room)
"syC" = (
/obj/structure/window/spawner/directional/west,
/obj/structure/flora/bush/flowers_yw/style_random,
/turf/open/misc/sandy_dirt,
/area/station/medical/medbay/lobby)
+"syK" = (
+/obj/effect/turf_decal/box/red/corners{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/white/line{
+ dir = 5
+ },
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 8
+ },
+/turf/open/floor/engine,
+/area/station/science/xenobiology)
"syN" = (
/obj/effect/spawner/random/trash,
/turf/open/floor/plating,
@@ -55361,6 +56204,12 @@
},
/turf/open/floor/plating,
/area/station/engineering/supermatter)
+"szo" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical/central)
"szC" = (
/obj/effect/turf_decal/siding/wood{
dir = 10
@@ -55370,6 +56219,12 @@
},
/turf/open/floor/wood,
/area/station/service/chapel)
+"sAc" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/reagent_dispensers/fueltank,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/maintenance/starboard/aft)
"sAy" = (
/obj/structure/railing{
dir = 1
@@ -55384,13 +56239,6 @@
},
/turf/open/floor/iron/dark,
/area/station/cargo/storage)
-"sBc" = (
-/obj/structure/window/reinforced/spawner/directional/south,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/ai_monitored/turret_protected/ai_upload)
"sBm" = (
/obj/structure/transport/linear/tram,
/obj/structure/fluff/tram_rail/floor,
@@ -55408,18 +56256,12 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/cargo/sorting)
-"sBq" = (
-/obj/effect/turf_decal/siding/wood,
-/obj/structure/closet/l3closet/janitor,
-/obj/item/clothing/gloves/color/orange,
-/obj/item/clothing/shoes/galoshes,
-/obj/structure/sign/poster/official/random/directional/north,
-/turf/open/floor/iron/small,
-/area/station/service/janitor)
-"sBA" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden,
-/turf/closed/wall/r_wall,
-/area/station/science/ordnance/testlab)
+"sBw" = (
+/obj/structure/cable,
+/obj/machinery/holopad,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/iron/smooth,
+/area/station/hallway/secondary/command)
"sBL" = (
/obj/structure/sign/directions/science{
dir = 4;
@@ -55450,6 +56292,14 @@
/obj/effect/spawner/structure/window/reinforced/tinted,
/turf/open/floor/plating,
/area/station/service/lawoffice)
+"sCh" = (
+/obj/structure/sign/poster/official/random/directional/north,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/white,
+/area/station/hallway/primary/starboard)
"sCi" = (
/turf/closed/wall,
/area/station/service/lawoffice)
@@ -55473,6 +56323,10 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/iron/dark,
/area/station/maintenance/department/engine/atmos)
+"sCn" = (
+/obj/effect/spawner/random/structure/steam_vent,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"sCp" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -55556,11 +56410,6 @@
/obj/structure/hedge,
/turf/open/floor/wood/tile,
/area/station/command/corporate_showroom)
-"sDs" = (
-/obj/item/kirbyplants/random,
-/obj/effect/turf_decal/siding/wideplating/dark,
-/turf/open/floor/iron,
-/area/station/commons/dorms)
"sDA" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 4
@@ -55570,34 +56419,12 @@
},
/turf/open/floor/iron/dark,
/area/station/science/ordnance/testlab)
-"sDE" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/cleanable/glass,
-/obj/machinery/button/curtain{
- id = "abandoned_brewery";
- name = "curtain control";
- pixel_y = -24
- },
-/turf/open/floor/wood/large,
-/area/station/maintenance/department/science/xenobiology)
-"sDZ" = (
+"sDM" = (
/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/trimline/neutral/line{
+/turf/open/floor/iron/dark/side{
dir = 4
},
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 8
- },
-/obj/machinery/navbeacon{
- codes_txt = "patrol;next_patrol=15.0-CentralStarboard-CentralFore";
- location = "14.0-Dormatories-CentralStarboard"
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
+/area/station/science/lab)
"sEd" = (
/obj/effect/turf_decal/stripes/line,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -55628,6 +56455,11 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/grimy,
/area/station/commons/vacant_room/office)
+"sED" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/obj/machinery/light_switch/directional/north,
+/turf/open/floor/iron,
+/area/station/commons/fitness/locker_room)
"sES" = (
/obj/machinery/door/airlock/hatch{
name = "Creature Pen"
@@ -55642,6 +56474,15 @@
},
/turf/open/floor/plating,
/area/station/maintenance/department/prison)
+"sFm" = (
+/obj/structure/closet/emcloset,
+/obj/machinery/newscaster/directional/west,
+/obj/effect/turf_decal/tile/red/opposingcorners{
+ dir = 1
+ },
+/obj/item/radio/intercom/directional/north,
+/turf/open/floor/iron/cafeteria,
+/area/station/hallway/secondary/exit/departure_lounge)
"sFs" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -55663,13 +56504,6 @@
},
/turf/open/floor/engine,
/area/station/science/xenobiology)
-"sGk" = (
-/obj/effect/turf_decal/weather/dirt{
- dir = 6
- },
-/obj/structure/flora/bush/flowers_yw,
-/turf/open/floor/grass,
-/area/station/service/chapel)
"sGp" = (
/obj/structure/flora/rock/pile/style_random,
/obj/structure/window/reinforced/spawner/directional/west,
@@ -55682,26 +56516,29 @@
/obj/structure/closet/crate/freezer/surplus_limbs,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/surgery/theatre)
-"sGE" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
+"sGz" = (
+/obj/structure/table/wood,
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
},
-/obj/effect/mapping_helpers/broken_floor,
-/obj/machinery/atmospherics/components/unary/portables_connector/visible,
-/turf/open/floor/plating,
-/area/station/science/ordnance/storage)
-"sGH" = (
-/obj/effect/turf_decal/siding/blue{
- dir = 8
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/effect/decal/cleanable/dirt,
+/obj/item/flashlight/lamp/green{
+ pixel_x = 1;
+ pixel_y = 5
},
-/obj/machinery/door/window/right/directional/west{
- name = "Medical Supplies";
- req_access = list("medical")
+/obj/structure/cable,
+/turf/open/floor/wood/tile,
+/area/station/service/lawoffice)
+"sGI" = (
+/obj/structure/disposalpipe/segment{
+ dir = 6
},
-/obj/effect/mapping_helpers/airlock/red_alert_access,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/turf/open/floor/iron/white/small,
-/area/station/medical/storage)
+/obj/effect/decal/cleanable/cobweb,
+/obj/item/radio/intercom/directional/north,
+/obj/machinery/smartfridge/organ,
+/turf/open/floor/iron/white,
+/area/station/science/cytology)
"sGN" = (
/obj/machinery/modular_computer/preset/cargochat/service{
dir = 8
@@ -55736,6 +56573,22 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/department/engine)
+"sHl" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/aft)
+"sHv" = (
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/structure/broken_flooring/singular/directional/east,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/aft)
"sHH" = (
/obj/effect/turf_decal/stripes/line,
/obj/machinery/portable_atmospherics/canister/plasma,
@@ -55771,6 +56624,14 @@
},
/turf/open/floor/plating/elevatorshaft,
/area/station/engineering/main)
+"sHT" = (
+/obj/effect/turf_decal/siding/dark_blue/corner{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark,
+/area/station/medical/morgue)
"sHV" = (
/obj/structure/reagent_dispensers/watertank,
/turf/open/floor/plating,
@@ -55785,14 +56646,18 @@
/obj/machinery/camera/autoname/directional/north,
/turf/open/floor/engine,
/area/station/science/cytology)
-"sIj" = (
+"sIq" = (
+/obj/machinery/photocopier,
+/obj/structure/sign/poster/official/random/directional/north,
+/obj/machinery/camera/autoname/directional/north,
+/obj/machinery/airalarm/directional/east,
+/turf/open/floor/wood/tile,
+/area/station/command/heads_quarters/hop)
+"sIt" = (
+/obj/machinery/power/apc/auto_name/directional/north,
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/medical/medbay/lobby)
+/turf/open/floor/plating,
+/area/station/maintenance/aft)
"sIA" = (
/obj/structure/disposalpipe/segment{
dir = 10
@@ -55817,25 +56682,10 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/grimy,
/area/station/commons/vacant_room/office)
-"sJg" = (
-/obj/machinery/door/airlock/command{
- name = "Research Division Server Room"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/rd,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/catwalk_floor/iron_white,
-/area/station/science/server)
"sJi" = (
/obj/effect/landmark/start/depsec/medical,
/turf/open/floor/iron/smooth,
/area/station/security/checkpoint/customs/auxiliary)
-"sJr" = (
-/obj/machinery/holopad,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/smooth_large,
-/area/station/science/auxlab/firing_range)
"sJv" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -55847,14 +56697,14 @@
/obj/effect/landmark/start/hangover,
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"sJw" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/holopad,
+"sJA" = (
+/obj/structure/disposalpipe/junction/flip{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding,
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark,
-/area/station/engineering/storage/tcomms)
+/turf/open/floor/iron/white/small,
+/area/station/science/lobby)
"sJE" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/item/kirbyplants/random/fullysynthetic,
@@ -55870,24 +56720,6 @@
},
/turf/open/floor/iron/dark/textured_large,
/area/station/service/kitchen)
-"sJN" = (
-/obj/effect/turf_decal/siding,
-/obj/machinery/airalarm/directional/south,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/small,
-/area/station/science/lab)
-"sJO" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 8
- },
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/primary/fore)
"sJR" = (
/turf/open/floor/plating,
/area/station/maintenance/fore/greater)
@@ -55922,17 +56754,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
-"sKm" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/door/firedoor,
-/obj/effect/turf_decal/stripes/red/line,
-/obj/effect/turf_decal/stripes/red/line{
- dir = 1
- },
-/turf/open/floor/iron/small,
-/area/station/hallway/primary/central/fore)
"sKq" = (
/obj/structure/chair/comfy/brown{
dir = 8
@@ -55955,18 +56776,6 @@
},
/turf/open/floor/grass,
/area/station/science/genetics)
-"sKB" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/hallway/primary/aft)
"sKE" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/turf/open/floor/iron/white/small,
@@ -55989,6 +56798,16 @@
},
/turf/open/floor/iron,
/area/station/cargo/office)
+"sKQ" = (
+/obj/machinery/light/cold/directional/north,
+/obj/machinery/newscaster/directional/north,
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/side{
+ dir = 9
+ },
+/area/station/science/ordnance/testlab)
"sKS" = (
/obj/structure/sign/poster/official/pda_ad/directional/north,
/obj/structure/tank_holder/extinguisher,
@@ -55996,6 +56815,17 @@
/obj/effect/gibspawner,
/turf/open/floor/wood,
/area/station/maintenance/starboard/greater)
+"sLi" = (
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/turf/open/floor/iron/dark/textured,
+/area/station/command/heads_quarters/hop)
+"sLq" = (
+/obj/effect/turf_decal/trimline/dark/filled/warning,
+/turf/open/floor/iron/dark/small,
+/area/station/maintenance/department/science/xenobiology)
"sLB" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -56034,23 +56864,6 @@
/obj/structure/holosign/barrier/atmos/tram,
/turf/open/floor/tram,
/area/station/security/tram)
-"sMh" = (
-/obj/machinery/door/airlock/research{
- name = "Research Division Access"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "sci-entrance"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/general,
-/obj/machinery/door/firedoor,
-/obj/effect/mapping_helpers/airlock/unres{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/white/textured_half{
- dir = 1
- },
-/area/station/science/research)
"sMj" = (
/obj/effect/turf_decal/siding/wood/corner,
/obj/effect/turf_decal/siding/wood{
@@ -56148,6 +56961,18 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
+"sOa" = (
+/obj/effect/mapping_helpers/airlock/access/all/service/kitchen,
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden,
+/obj/machinery/door/airlock{
+ name = "Maintenance"
+ },
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/plating,
+/area/station/maintenance/central/greater)
"sOi" = (
/obj/effect/turf_decal/siding/wood/end{
dir = 1
@@ -56173,19 +56998,6 @@
/obj/effect/spawner/structure/window/reinforced/tinted,
/turf/open/floor/plating,
/area/station/engineering/gravity_generator)
-"sOt" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/chair/sofa/bench{
- dir = 1
- },
-/obj/machinery/newscaster/directional/south,
-/obj/effect/landmark/start/hangover,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/dock)
"sOy" = (
/obj/structure/window/spawner/directional/west,
/turf/open/floor/iron/dark,
@@ -56215,6 +57027,15 @@
/obj/effect/landmark/navigate_destination,
/turf/open/floor/iron/textured_half,
/area/station/commons/storage/art)
+"sPa" = (
+/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
+/obj/machinery/door/airlock/grunge{
+ name = "St. Brendan's"
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark,
+/area/station/maintenance/starboard/greater)
"sPb" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 1
@@ -56232,6 +57053,13 @@
dir = 4
},
/area/station/engineering/main)
+"sPr" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white,
+/area/station/science/cytology)
"sPx" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/broken_flooring/pile/directional/east,
@@ -56258,6 +57086,18 @@
},
/turf/open/space/basic,
/area/space/nearstation)
+"sQo" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/green{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/turf/open/floor/iron/white,
+/area/station/medical/virology)
"sQv" = (
/obj/effect/turf_decal/sand/plating,
/obj/effect/spawner/random/structure/closet_empty/crate,
@@ -56310,6 +57150,11 @@
},
/turf/open/floor/iron/dark/textured_corner,
/area/station/command/heads_quarters/hop)
+"sQO" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/wood/large,
+/area/station/maintenance/department/science/xenobiology)
"sQP" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -56332,6 +57177,15 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/engine,
/area/station/science/explab)
+"sQX" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/components/binary/valve/digital{
+ dir = 4
+ },
+/turf/open/floor/iron/white/small,
+/area/station/science/ordnance/storage)
"sRf" = (
/obj/machinery/power/turbine/inlet_compressor{
dir = 8
@@ -56354,6 +57208,16 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/cargo/storage)
+"sRB" = (
+/obj/machinery/door/airlock/research/glass{
+ name = "Break Room"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/general,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/catwalk_floor/iron_white,
+/area/station/science/research)
"sRD" = (
/obj/machinery/shower/directional/west,
/obj/effect/turf_decal/siding/thinplating/dark{
@@ -56373,14 +57237,6 @@
"sRL" = (
/turf/closed/wall,
/area/station/service/janitor)
-"sRN" = (
-/obj/effect/mapping_helpers/broken_floor,
-/obj/machinery/door/airlock{
- id_tag = "AuxToilet2";
- name = "Unit 2"
- },
-/turf/open/floor/iron/showroomfloor,
-/area/station/maintenance/department/science/xenobiology)
"sRT" = (
/obj/machinery/disposal/bin,
/obj/effect/turf_decal/siding/thinplating{
@@ -56409,12 +57265,27 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/recreation)
+"sSm" = (
+/obj/structure/closet/crate/trashcart/filled,
+/obj/structure/spider/stickyweb,
+/obj/effect/spawner/random/maintenance/four,
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/structure/cable,
+/turf/open/floor/stone,
+/area/station/service/abandoned_gambling_den)
"sSq" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/tile/blue,
/turf/open/floor/iron/white,
/area/station/medical/medbay/aft)
+"sSt" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/neutral,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/hallway/primary/fore)
"sSB" = (
/turf/open/floor/catwalk_floor,
/area/station/engineering/break_room)
@@ -56453,30 +57324,56 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
-"sTi" = (
-/obj/item/clothing/head/cone{
- pixel_x = -8;
- pixel_y = 17
+"sTf" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/firealarm/directional/east,
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/red{
+ dir = 4
},
-/obj/structure/broken_flooring/singular/directional/south,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
-/area/station/hallway/secondary/dock)
-"sTp" = (
-/obj/effect/turf_decal/trimline/dark/line{
+/area/station/hallway/primary/fore)
+"sTg" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 8
},
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron/dark/small,
-/area/station/maintenance/department/science/xenobiology)
+/turf/open/floor/iron/white,
+/area/station/medical/treatment_center)
"sTq" = (
/obj/structure/railing{
dir = 10
},
/turf/open/space/basic,
/area/space/nearstation)
+"sTs" = (
+/obj/effect/turf_decal/tile/blue,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/corner{
+ dir = 8
+ },
+/area/station/hallway/secondary/dock)
+"sTz" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/aft)
+"sTD" = (
+/obj/machinery/door/window/brigdoor/left/directional/south{
+ name = "Creature Pen";
+ req_access = list("research")
+ },
+/obj/machinery/door/window/brigdoor/left/directional/north{
+ name = "Creature Pen";
+ req_access = list("research")
+ },
+/obj/structure/cable,
+/turf/open/floor/catwalk_floor/iron,
+/area/station/science/xenobiology)
"sTJ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
/obj/effect/turf_decal/stripes/line{
@@ -56499,33 +57396,10 @@
/obj/machinery/airalarm/directional/west,
/turf/open/floor/iron/grimy,
/area/station/service/library/private)
-"sTR" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/mapping_helpers/airlock/access/all/medical/general,
-/obj/machinery/door/airlock/medical/glass{
- name = "Medical Cold Room"
- },
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/iron/white/small,
-/area/station/medical/coldroom)
"sUe" = (
-/obj/structure/table/reinforced/rglass,
-/obj/machinery/coffeemaker/impressa{
- pixel_x = 2
- },
-/obj/effect/turf_decal/tile/blue/opposingcorners{
- dir = 8
- },
-/turf/open/floor/iron/checker,
-/area/station/command/bridge)
-"sUg" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/security/courtroom)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/wood,
+/area/station/commons/fitness/recreation)
"sUr" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 8
@@ -56591,6 +57465,11 @@
/obj/structure/cable,
/turf/open/floor/iron/textured_half,
/area/station/security)
+"sVk" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/maintenance/starboard/greater)
"sVp" = (
/obj/structure/table,
/obj/structure/sign/poster/official/corporate_perks_vacation/directional/east,
@@ -56618,13 +57497,6 @@
/obj/effect/spawner/random/vending/colavend,
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
-"sVG" = (
-/obj/machinery/power/apc/auto_name/directional/west,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/recreation)
"sVN" = (
/turf/closed/wall/r_wall,
/area/station/security/prison/workout)
@@ -56666,21 +57538,36 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/grimy,
/area/station/maintenance/starboard/greater)
-"sWQ" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/recreation)
-"sXc" = (
-/obj/structure/table/reinforced,
-/obj/machinery/door/poddoor/shutters{
- dir = 1;
- id = "abandoned_lab";
- name = "Abandoned Lab Shutters"
+"sWE" = (
+/obj/effect/turf_decal/trimline/dark/corner{
+ dir = 8
},
-/turf/open/floor/iron,
+/obj/effect/turf_decal/trimline/dark/line{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark/small,
/area/station/maintenance/department/science/xenobiology)
+"sXd" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
+ dir = 4
+ },
+/obj/structure/rack,
+/obj/item/book/manual/wiki/chemistry{
+ pixel_x = -4;
+ pixel_y = 4
+ },
+/obj/item/book/manual/wiki/grenades,
+/obj/item/book/manual/wiki/plumbing{
+ pixel_x = 4;
+ pixel_y = -4
+ },
+/obj/item/plunger,
+/turf/open/floor/iron,
+/area/station/medical/chemistry)
"sXi" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/white,
@@ -56696,12 +57583,6 @@
},
/turf/open/floor/iron,
/area/station/maintenance/department/engine/atmos)
-"sXo" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"sXq" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -56734,12 +57615,12 @@
/obj/machinery/telecomms/receiver/preset_left,
/turf/open/floor/circuit,
/area/station/tcommsat/server)
-"sXD" = (
-/obj/effect/turf_decal/siding/wood,
-/obj/machinery/power/apc/auto_name/directional/east,
-/obj/structure/cable,
-/turf/open/floor/wood/parquet,
-/area/station/service/library)
+"sXz" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/turf/open/floor/iron/white,
+/area/station/science/cytology)
"sXE" = (
/mob/living/basic/bot/firebot,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -56747,19 +57628,16 @@
/obj/machinery/holopad,
/turf/open/floor/iron/smooth_large,
/area/station/engineering/storage_shared)
-"sXG" = (
-/obj/effect/turf_decal/stripes/red/line{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/simple/general/visible{
- dir = 4
- },
-/turf/open/floor/engine,
-/area/station/science/cytology)
"sXI" = (
/obj/structure/frame/machine,
/turf/open/floor/tram,
/area/station/maintenance/department/medical/central)
+"sXL" = (
+/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
+ dir = 4
+ },
+/turf/open/floor/iron/white/small,
+/area/station/science/ordnance/storage)
"sXO" = (
/obj/structure/chair{
dir = 4
@@ -56785,17 +57663,6 @@
"sYa" = (
/turf/closed/wall/r_wall,
/area/station/science/robotics/augments)
-"sYb" = (
-/obj/effect/turf_decal/stripes/red/line{
- dir = 4
- },
-/obj/machinery/light/small/directional/east,
-/obj/machinery/atmospherics/components/unary/outlet_injector{
- dir = 8;
- pixel_x = -4
- },
-/turf/open/floor/engine,
-/area/station/science/cytology)
"sYg" = (
/obj/structure/lattice,
/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
@@ -56803,15 +57670,6 @@
},
/turf/open/space/basic,
/area/space/nearstation)
-"sYo" = (
-/obj/effect/spawner/random/entertainment/arcade,
-/obj/machinery/airalarm/directional/north,
-/obj/effect/turf_decal/tile/red/opposingcorners{
- dir = 1
- },
-/obj/machinery/camera/autoname/directional/north,
-/turf/open/floor/iron/cafeteria,
-/area/station/hallway/secondary/exit/departure_lounge)
"sYs" = (
/obj/structure/closet/firecloset,
/obj/effect/turf_decal/tile/red/opposingcorners{
@@ -56819,19 +57677,6 @@
},
/turf/open/floor/iron/cafeteria,
/area/station/hallway/secondary/exit/departure_lounge)
-"sYt" = (
-/obj/structure/table/reinforced,
-/obj/machinery/newscaster/directional/east,
-/obj/item/storage/toolbox/electrical{
- pixel_x = 1;
- pixel_y = -1
- },
-/obj/item/clothing/gloves/color/yellow,
-/obj/item/t_scanner,
-/turf/open/floor/iron/dark/side{
- dir = 4
- },
-/area/station/engineering/storage/tech)
"sYw" = (
/obj/structure/chair{
pixel_y = -2
@@ -56864,10 +57709,6 @@
},
/turf/open/floor/iron/dark/textured_large,
/area/station/service/kitchen)
-"sZh" = (
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/recreation)
"sZo" = (
/obj/effect/turf_decal/siding/thinplating_new/light{
dir = 10
@@ -56877,19 +57718,26 @@
},
/turf/open/floor/iron/white/small,
/area/station/service/hydroponics)
-"sZx" = (
-/obj/structure/disposalpipe/trunk{
+"sZw" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 1
},
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/disposal/bin,
-/obj/effect/turf_decal/bot,
-/obj/effect/turf_decal/siding/purple{
- dir = 9
+/obj/effect/turf_decal/tile/blue{
+ dir = 1
+ },
+/obj/item/radio/intercom/directional/south,
+/turf/open/floor/iron/white,
+/area/station/medical/medbay/central)
+"sZy" = (
+/obj/effect/turf_decal/trimline/neutral/warning{
+ dir = 4
+ },
+/obj/effect/mapping_helpers/dead_body_placer{
+ bodycount = 2
},
/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/rd)
+/turf/open/floor/iron/dark/small,
+/area/station/medical/morgue)
"sZA" = (
/obj/structure/flora/bush/flowers_br/style_random,
/obj/structure/flora/bush/flowers_pp/style_2,
@@ -56968,16 +57816,6 @@
},
/turf/open/floor/iron/dark/small,
/area/station/security/checkpoint/customs/auxiliary)
-"taL" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/door/airlock{
- name = "Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/central)
"taT" = (
/obj/machinery/door/airlock/maintenance{
name = "Maintenance"
@@ -57005,15 +57843,6 @@
/obj/effect/mapping_helpers/airlock/access/all/security/general,
/turf/open/floor/iron/textured_half,
/area/station/security/execution/transfer)
-"tbk" = (
-/obj/machinery/door/airlock/hatch{
- name = "Experimentation Chamber"
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/catwalk_floor/iron,
-/area/station/science/explab)
"tbr" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/mapping_helpers/airlock/abandoned,
@@ -57029,6 +57858,14 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/science/explab)
+"tbv" = (
+/obj/structure/bonfire,
+/obj/item/storage/box/matches{
+ pixel_x = -4;
+ pixel_y = -6
+ },
+/turf/open/misc/dirt/station,
+/area/station/medical/morgue)
"tbB" = (
/obj/structure/table/reinforced,
/obj/effect/mapping_helpers/broken_floor,
@@ -57050,6 +57887,18 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/science/lab)
+"tbI" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance)
+"tbK" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"tbS" = (
/obj/structure/disposalpipe/segment,
/obj/effect/turf_decal/tile/neutral/fourcorners,
@@ -57058,11 +57907,13 @@
},
/turf/open/floor/iron/dark,
/area/station/science/genetics)
-"tcz" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/obj/effect/turf_decal/trimline/blue/filled/corner,
-/turf/open/floor/iron/white,
-/area/station/medical/treatment_center)
+"tci" = (
+/obj/machinery/atmospherics/components/trinary/filter/atmos/co2{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark,
+/area/station/medical/cryo)
"tcC" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -57071,6 +57922,12 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/dark,
/area/station/security/processing)
+"tcF" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"tdb" = (
/turf/open/floor/wood,
/area/station/engineering/main)
@@ -57111,13 +57968,6 @@
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/station/security/lockers)
-"tdE" = (
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/maintenance/starboard/aft)
"tdF" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -57138,32 +57988,12 @@
},
/turf/open/floor/iron/smooth_large,
/area/station/maintenance/department/medical/central)
-"tdS" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/box/corners{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/white/line{
- dir = 8
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/engine,
-/area/station/science/explab)
"tdY" = (
/obj/structure/closet/emcloset,
/obj/effect/decal/cleanable/dirt,
/obj/machinery/light/small/directional/east,
/turf/open/floor/plating/rust,
/area/station/maintenance/department/electrical)
-"tec" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/mapping_helpers/broken_floor,
-/obj/structure/steam_vent,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/central)
"teo" = (
/obj/machinery/door/airlock/atmos/glass{
name = "Distro Access"
@@ -57221,6 +58051,11 @@
},
/turf/open/floor/iron,
/area/station/science/ordnance/testlab)
+"teF" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/aft)
"teG" = (
/obj/structure/chair/sofa/bench{
dir = 4
@@ -57233,6 +58068,16 @@
dir = 1
},
/area/station/hallway/secondary/entry)
+"teP" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/door/airlock{
+ name = "Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
+/turf/open/floor/plating,
+/area/station/maintenance/central/lesser)
"teV" = (
/obj/structure/cable,
/obj/effect/turf_decal/trimline/yellow/filled/line{
@@ -57246,22 +58091,6 @@
/obj/structure/extinguisher_cabinet/directional/west,
/turf/open/floor/stone,
/area/station/service/abandoned_gambling_den)
-"tff" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/table,
-/obj/machinery/reagentgrinder{
- pixel_x = -9;
- pixel_y = 8
- },
-/obj/item/stock_parts/matter_bin{
- pixel_x = 6;
- pixel_y = 7
- },
-/obj/item/stock_parts/matter_bin{
- pixel_x = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/science/lab)
"tfh" = (
/obj/effect/turf_decal/siding/wood{
dir = 6
@@ -57303,14 +58132,13 @@
/obj/item/clipboard,
/turf/open/floor/iron/white/small,
/area/station/science/server)
-"tfH" = (
-/obj/effect/turf_decal/tile/blue,
+"tfG" = (
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/corner{
- dir = 8
- },
-/area/station/hallway/secondary/dock)
+/turf/open/floor/iron/white/small,
+/area/station/science/cubicle)
"tfM" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/tile/neutral,
@@ -57319,9 +58147,29 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
+"tfQ" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/construction)
"tgl" = (
/turf/closed/wall,
/area/station/service/greenroom)
+"tgm" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/airlock{
+ name = "Cytology Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/research,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/fore)
"tgp" = (
/obj/structure/table/reinforced,
/obj/item/folder{
@@ -57355,13 +58203,6 @@
/obj/structure/extinguisher_cabinet/directional/south,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"tgJ" = (
-/obj/machinery/cryo_cell,
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/turf/open/floor/iron/small,
-/area/station/medical/cryo)
"thb" = (
/obj/structure/chair/stool/directional/south,
/obj/effect/turf_decal/siding/yellow{
@@ -57370,15 +58211,6 @@
/obj/effect/landmark/start/station_engineer,
/turf/open/floor/wood,
/area/station/engineering/break_room)
-"the" = (
-/obj/machinery/camera/autoname/directional/north,
-/obj/machinery/firealarm/directional/north,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side{
- dir = 1
- },
-/area/station/science/research)
"thw" = (
/obj/machinery/atmospherics/components/binary/pump/layer4{
dir = 8;
@@ -57390,6 +58222,13 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/commons/fitness/locker_room)
+"thL" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/station/science/xenobiology)
"thM" = (
/obj/effect/turf_decal/tile/brown/opposingcorners,
/obj/structure/closet/secure_closet/miner,
@@ -57417,11 +58256,6 @@
},
/turf/open/misc/sandy_dirt,
/area/station/security/tram)
-"tis" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side,
-/area/station/science/research)
"tit" = (
/obj/effect/turf_decal/stripes/line,
/obj/machinery/portable_atmospherics/canister/air,
@@ -57449,11 +58283,6 @@
/obj/structure/alien/weeds,
/turf/open/misc/asteroid,
/area/station/maintenance/starboard/greater)
-"tiQ" = (
-/obj/machinery/rnd/production/protolathe/department/science,
-/obj/machinery/camera/autoname/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/science/lab)
"tiW" = (
/obj/structure/chair{
pixel_y = -2
@@ -57484,13 +58313,35 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/engineering/lobby)
-"tje" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/siding/wideplating/dark{
- dir = 8
+"tjf" = (
+/obj/structure/cable,
+/obj/structure/table/bronze,
+/obj/effect/turf_decal/siding/thinplating_new/terracotta{
+ dir = 4
},
-/turf/open/floor/iron,
-/area/station/commons/fitness/locker_room)
+/obj/item/reagent_containers/cup/glass/bottle/beer{
+ pixel_x = 7;
+ pixel_y = 11
+ },
+/obj/item/reagent_containers/cup/glass/bottle/beer{
+ pixel_x = -1;
+ pixel_y = 11
+ },
+/obj/item/reagent_containers/cup/glass/bottle/beer{
+ pixel_x = 3;
+ pixel_y = 7
+ },
+/obj/item/reagent_containers/cup/glass/bottle/beer{
+ pixel_x = -7;
+ pixel_y = 7
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/dark/smooth_large,
+/area/station/command/meeting_room)
"tjg" = (
/obj/machinery/atmospherics/components/binary/pump/off{
name = "O2 To Pure"
@@ -57503,15 +58354,6 @@
"tjj" = (
/turf/closed/wall/r_wall,
/area/station/ai_monitored/turret_protected/ai_upload)
-"tjm" = (
-/obj/machinery/status_display/evac/directional/north,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side{
- dir = 1
- },
-/area/station/science/research)
"tjs" = (
/obj/machinery/airalarm/directional/west,
/obj/effect/spawner/random/entertainment/arcade{
@@ -57523,6 +58365,13 @@
/obj/machinery/light/small/dim/directional/west,
/turf/open/floor/eighties/red,
/area/station/hallway/primary/central/fore)
+"tjC" = (
+/obj/structure/hedge,
+/obj/effect/turf_decal/siding/thinplating_new/terracotta/corner{
+ dir = 8
+ },
+/turf/open/floor/wood/tile,
+/area/station/command/corporate_showroom)
"tjT" = (
/obj/machinery/chem_master/condimaster,
/obj/effect/turf_decal/siding/wood/end{
@@ -57548,6 +58397,13 @@
/obj/effect/mapping_helpers/airlock/access/all/supply/general,
/turf/open/floor/plating,
/area/station/cargo/warehouse)
+"tkj" = (
+/obj/structure/chair/wood{
+ dir = 8
+ },
+/obj/machinery/light/floor,
+/turf/open/floor/stone,
+/area/station/service/bar)
"tkm" = (
/obj/structure/window/spawner/directional/west,
/obj/structure/flora/bush/large/style_random{
@@ -57627,13 +58483,6 @@
},
/turf/open/floor/iron/dark/small,
/area/station/engineering/storage_shared)
-"tmr" = (
-/obj/structure/bed/medical/emergency,
-/obj/machinery/iv_drip,
-/obj/effect/turf_decal/bot_white,
-/obj/machinery/light/small/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/medical/morgue)
"tms" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
@@ -57646,14 +58495,6 @@
/obj/machinery/light/floor,
/turf/open/floor/grass,
/area/station/service/hydroponics)
-"tmI" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/public/glass{
- name = "Recreation"
- },
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/recreation)
"tmK" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -57697,13 +58538,6 @@
},
/turf/open/floor/iron/small,
/area/station/maintenance/port/lesser)
-"tmV" = (
-/obj/machinery/door/airlock{
- name = "Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/access/all/medical/coroner,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"tnb" = (
/turf/open/floor/plating,
/area/station/maintenance/central/lesser)
@@ -57727,6 +58561,12 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/engine,
/area/station/science/explab)
+"tnv" = (
+/obj/machinery/holopad,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/small,
+/area/station/science/cubicle)
"tnx" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -57759,6 +58599,30 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/maintenance/department/engine/atmos)
+"tnK" = (
+/obj/structure/cable,
+/obj/machinery/door/poddoor/preopen{
+ id = "bridge blast";
+ name = "Bridge Blast Door"
+ },
+/obj/effect/spawner/structure/window/reinforced,
+/turf/open/floor/plating,
+/area/station/command/bridge)
+"tnL" = (
+/obj/machinery/door/airlock{
+ name = "Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/general,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
+"tnT" = (
+/obj/machinery/light/floor,
+/obj/effect/turf_decal/siding/dark{
+ dir = 4
+ },
+/turf/open/floor/iron/dark/smooth_large,
+/area/station/command/bridge)
"tnZ" = (
/obj/structure/bookcase/random,
/obj/structure/sign/poster/official/random/directional/west,
@@ -57767,14 +58631,6 @@
},
/turf/open/floor/wood/parquet,
/area/station/service/library)
-"tob" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/turf/open/floor/iron/dark/smooth_edge{
- dir = 8
- },
-/area/station/maintenance/starboard/greater)
"tof" = (
/turf/closed/wall/rust,
/area/station/ai_monitored/turret_protected/ai)
@@ -57850,6 +58706,11 @@
},
/turf/open/floor/plating/airless,
/area/station/hallway/secondary/dock)
+"toS" = (
+/turf/open/floor/iron/dark/textured_corner{
+ dir = 8
+ },
+/area/station/command/heads_quarters/hop)
"toT" = (
/obj/structure/flora/rock/pile/jungle/style_random,
/obj/structure/window/reinforced/spawner/directional/west,
@@ -57858,17 +58719,18 @@
},
/turf/open/misc/sandy_dirt,
/area/station/security/tram)
-"toU" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/neutral,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/iron,
-/area/station/hallway/primary/fore)
"toX" = (
/obj/effect/turf_decal/trimline/yellow/filled/line,
/obj/machinery/light/no_nightlight/directional/south,
/turf/open/floor/iron,
/area/station/engineering/atmos/project)
+"tph" = (
+/obj/machinery/suit_storage_unit/standard_unit,
+/obj/effect/turf_decal/delivery,
+/obj/structure/sign/poster/official/random/directional/west,
+/obj/machinery/firealarm/directional/north,
+/turf/open/floor/iron/dark/smooth_large,
+/area/station/ai_monitored/command/storage/eva)
"tpk" = (
/obj/machinery/vending/wardrobe/law_wardrobe,
/obj/effect/turf_decal/siding/wood{
@@ -57879,15 +58741,8 @@
/area/station/service/lawoffice)
"tpl" = (
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/siding/dark{
- dir = 1
- },
-/turf/open/floor/iron/dark/textured_half{
- dir = 1
- },
-/area/station/command/bridge)
+/turf/open/floor/iron/grimy,
+/area/station/science/cubicle)
"tpm" = (
/obj/structure/window/reinforced/spawner/directional/west,
/turf/open/floor/noslip,
@@ -57957,18 +58812,14 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"tqs" = (
-/obj/structure/window/reinforced/spawner/directional/north,
-/obj/machinery/door/window/right/directional/east{
- name = "Corpse Arrivals"
+"tqA" = (
+/obj/effect/turf_decal/siding/white{
+ dir = 8
},
-/turf/open/floor/plating,
-/area/station/medical/morgue)
-"tqD" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/ai_monitored/turret_protected/ai_upload)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/small,
+/area/station/science/xenobiology)
"tqF" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/tile/blue/fourcorners,
@@ -57986,47 +58837,29 @@
/obj/effect/landmark/navigate_destination/dockaux,
/turf/open/floor/iron,
/area/station/hallway/secondary/dock)
-"tqX" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/corner{
- dir = 1
- },
-/area/station/hallway/secondary/dock)
"tri" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/wood,
/area/station/maintenance/hallway/abandoned_recreation)
-"trl" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/construction/mining/aux_base)
"trp" = (
/turf/closed/wall,
/area/station/maintenance/port/aft)
-"trz" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/status_display/ai/directional/west,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/aft)
"trB" = (
/turf/open/floor/glass,
/area/station/hallway/primary/central/aft)
+"trC" = (
+/obj/effect/turf_decal/stripes/red/line{
+ dir = 4
+ },
+/obj/machinery/light/small/directional/east,
+/obj/machinery/atmospherics/components/unary/outlet_injector{
+ dir = 8;
+ pixel_x = -4
+ },
+/turf/open/floor/engine,
+/area/station/science/cytology)
"trI" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -58049,12 +58882,6 @@
/obj/machinery/computer/atmos_control/plasma_tank,
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"tsb" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/structure/sign/departments/aiupload/directional/south,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white,
-/area/station/hallway/primary/starboard)
"tsk" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -58077,27 +58904,14 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/textured_half,
/area/station/service/chapel/office)
-"tst" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/door/poddoor/preopen{
- id = "Xenolab";
- name = "Test Chamber Blast Door"
- },
-/obj/machinery/atmospherics/pipe/smart/simple/general/visible{
- dir = 4
- },
-/turf/open/floor/catwalk_floor/iron,
-/area/station/science/xenobiology)
-"tsA" = (
-/obj/effect/turf_decal/siding/wood{
+"tsw" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/siding/wideplating/dark/corner{
dir = 1
},
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/hidden,
-/turf/open/floor/iron/grimy,
-/area/station/tcommsat/server)
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/commons/fitness/locker_room)
"tsB" = (
/obj/effect/turf_decal/tile/brown/opposingcorners{
dir = 1
@@ -58170,6 +58984,13 @@
},
/turf/open/floor/iron/white/small,
/area/station/security/execution/education)
+"tuh" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow/opposingcorners,
+/turf/open/floor/iron/dark,
+/area/station/medical/pharmacy)
"tuk" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/obj/structure/chair/sofa/bench/right{
@@ -58178,14 +58999,6 @@
/obj/machinery/light/cold/directional/west,
/turf/open/floor/iron,
/area/station/security/processing)
-"tum" = (
-/obj/machinery/door/airlock{
- name = "Abandoned Brewery"
- },
-/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"tuu" = (
/obj/structure/table,
/obj/item/stack/sheet/glass/fifty,
@@ -58227,14 +59040,6 @@
"tuT" = (
/turf/closed/wall,
/area/station/hallway/secondary/entry)
-"tuW" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/obj/machinery/vending/cigarette,
-/obj/effect/turf_decal/tile/blue/opposingcorners{
- dir = 8
- },
-/turf/open/floor/iron/checker,
-/area/station/command/bridge)
"tuY" = (
/obj/effect/spawner/random/structure/closet_private,
/obj/machinery/light/small/directional/west,
@@ -58243,6 +59048,15 @@
"tuZ" = (
/turf/closed/wall,
/area/station/security/brig/entrance)
+"tvq" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/public/glass{
+ name = "Recreation"
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/recreation)
"tvx" = (
/obj/structure/disposalpipe/trunk{
dir = 4
@@ -58301,19 +59115,22 @@
/obj/effect/landmark/start/hangover,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"twf" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/fore)
"twg" = (
/obj/structure/railing{
dir = 5
},
/turf/open/space/basic,
/area/space/nearstation)
-"twi" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/steam_vent,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/central)
"twm" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -58401,6 +59218,28 @@
/obj/machinery/firealarm/directional/north,
/turf/open/floor/iron/white,
/area/station/hallway/primary/starboard)
+"txv" = (
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side{
+ dir = 8
+ },
+/area/station/science/research)
+"txz" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/table/glass,
+/obj/machinery/fax{
+ fax_name = "Research Director's Office";
+ name = "Research Director's Fax Machine";
+ pixel_y = 9
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/rd)
"txC" = (
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt,
@@ -58409,10 +59248,18 @@
"txN" = (
/turf/closed/wall,
/area/station/security/prison/workout)
-"txV" = (
-/obj/structure/cable,
+"txS" = (
+/obj/effect/mapping_helpers/broken_floor,
+/obj/structure/table/wood,
+/obj/item/reagent_containers/cup/glass/shaker{
+ pixel_x = -6
+ },
+/obj/item/reagent_containers/cup/glass/bottle/wine/unlabeled{
+ pixel_x = 6;
+ pixel_y = 4
+ },
/turf/open/floor/plating,
-/area/station/maintenance/starboard/central)
+/area/station/maintenance/department/science/xenobiology)
"txW" = (
/obj/structure/window/reinforced/spawner/directional/north,
/obj/structure/window/reinforced/spawner/directional/south,
@@ -58555,10 +59402,27 @@
/obj/structure/flora/bush/large/style_random,
/turf/open/floor/grass,
/area/station/service/chapel)
+"tzU" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/spawner/random/trash,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/fore)
"tzZ" = (
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/commons/fitness/locker_room)
+"tAd" = (
+/obj/effect/turf_decal/siding/wood,
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/structure/cable,
+/turf/open/floor/wood/parquet,
+/area/station/service/library)
"tAm" = (
/obj/effect/turf_decal/tile/brown/opposingcorners,
/obj/effect/decal/cleanable/dirt,
@@ -58589,16 +59453,6 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
-"tAr" = (
-/obj/effect/turf_decal/siding/wood/corner{
- dir = 8
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/mapping_helpers/broken_floor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/wood,
-/area/station/service/abandoned_gambling_den)
"tAs" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -58644,28 +59498,6 @@
},
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
-"tAP" = (
-/obj/effect/turf_decal/trimline/neutral/warning{
- dir = 10
- },
-/obj/effect/mapping_helpers/dead_body_placer{
- bodycount = 2
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/small,
-/area/station/medical/morgue)
-"tAQ" = (
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/mapping_helpers/broken_floor,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/central)
"tAS" = (
/turf/open/floor/iron/dark,
/area/station/medical/chemistry)
@@ -58753,12 +59585,18 @@
/obj/structure/disposalpipe/segment,
/turf/open/space/basic,
/area/space/nearstation)
-"tCZ" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
+"tCG" = (
+/obj/structure/cable,
+/turf/open/floor/catwalk_floor/iron_smooth,
+/area/station/science/robotics/mechbay)
+"tCL" = (
+/obj/structure/cable,
+/obj/machinery/door/airlock{
+ name = "Maintenance"
},
-/turf/open/floor/iron/white,
-/area/station/medical/treatment_center)
+/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
+/turf/open/floor/plating,
+/area/station/maintenance/central/lesser)
"tDb" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/door/firedoor,
@@ -58770,16 +59608,24 @@
},
/turf/open/floor/iron/small,
/area/station/hallway/secondary/exit/departure_lounge)
-"tDd" = (
-/obj/effect/turf_decal/tile/yellow/half/contrasted{
+"tDg" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/siding/wideplating_new/terracotta{
dir = 4
},
-/obj/machinery/shower/directional/west,
-/turf/open/floor/iron/dark,
-/area/station/medical/pharmacy)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/wood/tile,
+/area/station/maintenance/central/lesser)
"tDn" = (
/turf/closed/wall/r_wall,
/area/station/maintenance/department/prison)
+"tDo" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/airalarm/directional/east,
+/obj/structure/cable,
+/turf/open/floor/iron/cafeteria,
+/area/station/science/breakroom)
"tDu" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/delivery,
@@ -58870,26 +59716,6 @@
/obj/machinery/airalarm/directional/east,
/turf/open/floor/iron,
/area/station/security/tram)
-"tEC" = (
-/obj/machinery/door/airlock/research{
- name = "Robotics Lab"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/robotics,
-/obj/machinery/door/firedoor,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/catwalk_floor/iron_white,
-/area/station/science/robotics/lab)
-"tEL" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"tFs" = (
/obj/structure/table/glass,
/obj/item/storage/medkit/regular{
@@ -58902,6 +59728,22 @@
/obj/structure/extinguisher_cabinet/directional/south,
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
+"tFA" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/door/airlock/grunge{
+ name = "Morgue"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/medical/morgue,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/door/firedoor,
+/turf/open/floor/iron/dark/textured_half{
+ dir = 1
+ },
+/area/station/medical/morgue)
"tFH" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -58924,10 +59766,24 @@
/obj/machinery/chem_master,
/turf/open/floor/iron,
/area/station/medical/chemistry)
-"tGp" = (
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/engine/bz,
-/area/station/science/xenobiology)
+"tGa" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/obj/structure/rack,
+/obj/item/food/grown/grapes{
+ pixel_y = 4;
+ pixel_x = -5
+ },
+/obj/item/food/grown/grapes{
+ pixel_y = 4
+ },
+/obj/item/food/grown/grapes{
+ pixel_y = 2;
+ pixel_x = 5
+ },
+/turf/open/floor/wood/large,
+/area/station/maintenance/department/science/xenobiology)
"tGq" = (
/turf/closed/wall,
/area/station/service/kitchen/coldroom)
@@ -58940,25 +59796,10 @@
/obj/machinery/transport/destination_sign/indicator/directional/north,
/turf/open/floor/noslip,
/area/station/security/tram)
-"tGB" = (
-/obj/machinery/light_switch/directional/south,
-/obj/machinery/camera/autoname/directional/south,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/turf/open/floor/iron/smooth,
-/area/station/maintenance/solars/starboard/fore)
"tGF" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/smooth_large,
/area/station/engineering/break_room)
-"tGI" = (
-/obj/machinery/door/airlock{
- name = "Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"tGJ" = (
/obj/effect/turf_decal/tile/dark_red/fourcorners,
/obj/machinery/computer/records/security,
@@ -58974,6 +59815,11 @@
dir = 4
},
/area/station/hallway/secondary/entry)
+"tGY" = (
+/obj/structure/alien/weeds,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/maintenance/starboard/greater)
"tHa" = (
/obj/effect/turf_decal/stripes/line,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
@@ -58986,6 +59832,13 @@
/mob/living/carbon/human/species/monkey/punpun,
/turf/open/floor/stone,
/area/station/service/abandoned_gambling_den)
+"tHm" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/effect/landmark/start/chief_medical_officer,
+/turf/open/floor/iron/white,
+/area/station/medical/medbay/lobby)
"tHo" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -58999,21 +59852,18 @@
/obj/machinery/light/small/directional/east,
/turf/open/floor/iron,
/area/station/security/tram)
-"tHy" = (
-/obj/structure/cable,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron,
-/area/station/maintenance/department/science/xenobiology)
"tHK" = (
/turf/closed/wall,
/area/station/security/prison/shower)
-"tHL" = (
-/obj/machinery/door/firedoor,
+"tHO" = (
+/obj/structure/disposalpipe/junction/flip{
+ dir = 8
+ },
+/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/catwalk_floor,
-/area/station/hallway/secondary/entry)
+/turf/open/floor/iron/white/side,
+/area/station/science/lower)
"tIa" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/obj/structure/chair{
@@ -59022,6 +59872,18 @@
/obj/machinery/light/small/directional/west,
/turf/open/floor/iron,
/area/station/security/brig/entrance)
+"tIy" = (
+/obj/machinery/door/airlock/hatch{
+ name = "Secure Pen"
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/general/visible{
+ dir = 4
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/white/textured_half{
+ dir = 1
+ },
+/area/station/science/cytology)
"tIz" = (
/obj/structure/chair/wood{
dir = 8
@@ -59029,18 +59891,12 @@
/obj/effect/landmark/blobstart,
/turf/open/floor/wood,
/area/station/service/chapel/funeral)
-"tIB" = (
-/obj/effect/turf_decal/stripes/corner,
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+"tIM" = (
+/obj/machinery/ntnet_relay,
+/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
-/turf/open/floor/iron/dark/side{
- dir = 4
- },
-/area/station/engineering/storage/tech)
+/turf/open/floor/circuit,
+/area/station/tcommsat/server)
"tIN" = (
/obj/structure/table/reinforced,
/obj/item/folder/yellow{
@@ -59078,17 +59934,6 @@
/obj/machinery/firealarm/directional/south,
/turf/open/floor/iron,
/area/station/commons/fitness/recreation/entertainment)
-"tJw" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/door/airlock/research{
- name = "Xenobiology Secure Lab"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/xenobio,
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/science/xenobiology)
"tJz" = (
/obj/structure/cable,
/obj/effect/spawner/structure/window/reinforced,
@@ -59098,11 +59943,6 @@
},
/turf/open/floor/plating,
/area/station/security/brig/entrance)
-"tJC" = (
-/obj/machinery/light/cold/directional/north,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/dock)
"tJF" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/structure/rack,
@@ -59147,17 +59987,16 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
+"tKm" = (
+/obj/effect/turf_decal/sand/plating,
+/obj/machinery/power/floodlight,
+/obj/structure/alien/weeds,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/greater)
"tKn" = (
/turf/open/floor/iron/small,
/area/station/engineering/atmos/pumproom)
-"tKD" = (
-/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
- dir = 4
- },
-/obj/structure/extinguisher_cabinet/directional/south,
-/obj/machinery/light/no_nightlight/directional/south,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"tKG" = (
/obj/effect/turf_decal/stripes/line,
/obj/effect/mapping_helpers/broken_floor,
@@ -59192,22 +60031,6 @@
/obj/effect/mapping_helpers/mail_sorting/service/hydroponics,
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
-"tLc" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/white,
-/area/station/hallway/primary/starboard)
-"tLj" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 10
- },
-/obj/machinery/light/small/broken/directional/south,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/wood,
-/area/station/service/abandoned_gambling_den)
"tLn" = (
/obj/effect/turf_decal/siding{
dir = 1
@@ -59235,24 +60058,10 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
-"tMh" = (
-/obj/machinery/door/window/brigdoor/left/directional/north{
- name = "Command Desk";
- req_access = list("command")
- },
-/obj/effect/turf_decal/siding/dark,
-/turf/open/floor/iron/dark/textured_half{
- dir = 1
- },
-/area/station/command/bridge)
-"tMs" = (
-/obj/machinery/telecomms/server/presets/service,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
- dir = 10
- },
-/turf/open/floor/circuit,
-/area/station/tcommsat/server)
+"tMr" = (
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/maintenance/department/science/xenobiology)
"tMS" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -59279,17 +60088,6 @@
/obj/structure/cable,
/turf/open/floor/wood,
/area/station/engineering/atmos/pumproom)
-"tNn" = (
-/obj/machinery/door/airlock{
- name = "Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
-/obj/effect/mapping_helpers/airlock/unres{
- dir = 4
- },
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/lesser)
"tNs" = (
/obj/structure/cable,
/turf/open/floor/plating,
@@ -59311,26 +60109,6 @@
/obj/machinery/light/cold/directional/west,
/turf/open/floor/engine,
/area/station/science/xenobiology)
-"tNy" = (
-/obj/machinery/door/airlock/research{
- name = "Gun Lab"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/general,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/catwalk_floor/iron_white,
-/area/station/science/auxlab/firing_range)
-"tNz" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/mapping_helpers/broken_floor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/central)
"tNA" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -59348,10 +60126,30 @@
},
/turf/open/floor/iron/dark,
/area/station/medical/medbay/aft)
+"tNL" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/structure/closet/firecloset,
+/turf/open/floor/iron,
+/area/station/hallway/primary/fore)
"tNT" = (
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/iron/kitchen/small,
/area/station/maintenance/aft)
+"tNU" = (
+/obj/structure/table,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/item/storage/dice,
+/obj/machinery/newscaster/directional/north,
+/turf/open/floor/iron,
+/area/station/security/prison/rec)
"tNV" = (
/obj/structure/closet/secure_closet/engineering_welding,
/obj/effect/turf_decal/bot,
@@ -59379,15 +60177,22 @@
},
/turf/open/floor/iron/white/small,
/area/station/commons/toilet/restrooms)
-"tOk" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/effect/decal/cleanable/dirt,
+"tOm" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/recreation)
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron/white/corner{
+ dir = 1
+ },
+/area/station/hallway/primary/aft)
"tOu" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/mapping_helpers/broken_floor,
@@ -59416,58 +60221,16 @@
/obj/machinery/light/small/directional/west,
/turf/open/misc/sandy_dirt,
/area/station/service/lawoffice)
-"tOZ" = (
-/obj/machinery/light/cold/directional/north,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/white,
-/area/station/hallway/primary/starboard)
"tPf" = (
/obj/machinery/light/small/directional/east,
/turf/open/floor/iron/dark,
/area/station/security/interrogation)
-"tPm" = (
-/obj/structure/sign/poster/official/random/directional/north,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/white,
-/area/station/hallway/primary/starboard)
"tPE" = (
/obj/structure/table,
/obj/item/soap,
/obj/machinery/camera/autoname/directional/east,
/turf/open/floor/iron/showroomfloor,
/area/station/service/barber)
-"tPF" = (
-/obj/structure/window/reinforced/spawner/directional/west,
-/obj/structure/window/reinforced/spawner/directional/east,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/machinery/light/floor,
-/turf/open/floor/iron/dark/textured_half{
- dir = 1
- },
-/area/station/engineering/storage/tech)
-"tPH" = (
-/obj/machinery/airalarm/directional/south,
-/obj/structure/cable,
-/turf/open/floor/wood,
-/area/station/commons/fitness/recreation)
-"tPM" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/neutral,
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"tPP" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -59524,30 +60287,40 @@
/obj/structure/reagent_dispensers/fueltank,
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
-"tQA" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/obj/effect/turf_decal/tile/green{
- dir = 8
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/turf/open/floor/iron/white,
-/area/station/medical/virology)
-"tQM" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/line,
+"tQC" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/side{
- dir = 1
+/obj/machinery/door/airlock/command/glass{
+ name = "Bridge"
},
-/area/station/science/xenobiology)
+/obj/machinery/door/firedoor,
+/obj/effect/mapping_helpers/airlock/access/any/command/general,
+/obj/machinery/door/poddoor/preopen{
+ id = "bridge blast";
+ name = "Bridge Blast Door"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/catwalk_floor/iron_smooth,
+/area/station/command/bridge)
+"tQP" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/door/airlock{
+ name = "Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
+/obj/effect/mapping_helpers/airlock/unres{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/central/lesser)
"tQR" = (
/obj/machinery/door/airlock/engineering{
name = "Engine Airlock"
@@ -59589,10 +60362,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"tRn" = (
-/obj/structure/closet/crate/grave/filled,
-/turf/open/misc/dirt/station,
-/area/station/medical/morgue)
"tRw" = (
/obj/structure/disposalpipe/trunk{
dir = 8
@@ -59603,6 +60372,20 @@
dir = 4
},
/area/station/science/research)
+"tRx" = (
+/obj/structure/fermenting_barrel,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/wood/large,
+/area/station/maintenance/department/science/xenobiology)
+"tRy" = (
+/obj/effect/mapping_helpers/airlock/access/all/medical/coroner,
+/obj/machinery/door/airlock/grunge{
+ name = "On-Station Burial Site"
+ },
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating,
+/area/station/medical/morgue)
"tRE" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -59627,16 +60410,6 @@
dir = 1
},
/area/station/security/prison/safe)
-"tSq" = (
-/obj/machinery/telecomms/processor/preset_three,
-/obj/structure/cable,
-/turf/open/floor/circuit,
-/area/station/tcommsat/server)
-"tSu" = (
-/obj/effect/landmark/start/hangover,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/white,
-/area/station/hallway/primary/starboard)
"tSv" = (
/obj/effect/decal/cleanable/glass,
/obj/structure/chair/stool/directional/east,
@@ -59652,25 +60425,11 @@
},
/turf/open/floor/iron/kitchen/small,
/area/station/security/prison/mess)
-"tSH" = (
-/obj/structure/table/reinforced,
-/obj/machinery/computer/records/medical/laptop{
- dir = 8;
- pixel_y = 1
- },
-/obj/machinery/light/small/directional/east,
-/obj/effect/turf_decal/trimline/dark_blue/filled/corner{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/medical/morgue)
-"tSI" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/broken_flooring/singular/directional/south,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/maintenance/starboard/aft)
+"tSS" = (
+/obj/effect/spawner/xmastree,
+/obj/structure/flora/tree/jungle/style_3,
+/turf/open/floor/grass,
+/area/station/service/chapel)
"tTg" = (
/obj/structure/table,
/obj/item/trash/cheesie{
@@ -59681,19 +60440,13 @@
/obj/item/storage/fancy/donut_box,
/turf/open/floor/iron/checker,
/area/station/security/breakroom)
-"tTp" = (
-/obj/effect/turf_decal/caution/stand_clear/red{
- dir = 8
- },
-/obj/effect/turf_decal/stripes{
- dir = 4
- },
+"tTk" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/cable,
-/obj/machinery/atmospherics/components/binary/pump{
- dir = 4
- },
-/turf/open/floor/iron/white,
-/area/station/science/cytology)
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/aft)
"tTx" = (
/obj/structure/disposalpipe/segment{
dir = 6
@@ -59701,14 +60454,11 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/white,
/area/station/hallway/primary/starboard)
-"tTA" = (
-/obj/structure/chair/office{
- dir = 1
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/light/very_dim/directional/east,
-/turf/open/floor/iron/grimy,
-/area/station/commons/vacant_room/office)
+"tTJ" = (
+/obj/structure/fermenting_barrel,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/wood/large,
+/area/station/maintenance/department/science/xenobiology)
"tTT" = (
/turf/open/floor/iron/white/corner{
dir = 1
@@ -59726,17 +60476,6 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/iron,
/area/station/security/execution/transfer)
-"tUa" = (
-/obj/structure/window/spawner/directional/east,
-/obj/structure/window/spawner/directional/south,
-/obj/structure/flora/rock/pile/jungle/style_random,
-/obj/structure/sign/departments/restroom/directional/west,
-/turf/open/misc/sandy_dirt,
-/area/station/hallway/secondary/entry)
-"tUc" = (
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/iron/stairs,
-/area/station/hallway/primary/central/fore)
"tUj" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -59747,16 +60486,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
-"tUo" = (
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/effect/turf_decal/siding{
- dir = 9
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/white/small,
-/area/station/science/lobby)
"tUz" = (
/obj/structure/disposalpipe/trunk{
dir = 4
@@ -59768,22 +60497,6 @@
/obj/machinery/disposal/bin,
/turf/open/floor/iron/dark,
/area/station/medical/pharmacy)
-"tUH" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/central)
-"tUZ" = (
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/aft)
"tVc" = (
/obj/machinery/door/airlock/external{
name = "Escape Pod One";
@@ -59795,6 +60508,14 @@
"tVe" = (
/turf/open/floor/carpet/red,
/area/station/command/heads_quarters/hos)
+"tVg" = (
+/obj/structure/rack,
+/obj/effect/spawner/random/techstorage/medical_all,
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/obj/effect/turf_decal/bot,
+/obj/structure/extinguisher_cabinet/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/engineering/storage/tech)
"tVp" = (
/obj/structure/table/wood,
/obj/effect/turf_decal/siding/wood{
@@ -59850,14 +60571,6 @@
/obj/effect/spawner/random/engineering/tracking_beacon,
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
-"tWG" = (
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/turf/open/floor/iron/cafeteria,
-/area/station/science/breakroom)
"tWQ" = (
/obj/machinery/door/airlock/public/glass{
name = "Departure Lounge"
@@ -59879,6 +60592,23 @@
/obj/structure/table/bronze,
/turf/open/floor/wood/tile,
/area/station/maintenance/port/lesser)
+"tXp" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/navbeacon{
+ codes_txt = "patrol;next_patrol=23.4-Evac";
+ location = "23.3-Evac"
+ },
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit/departure_lounge)
+"tXs" = (
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/obj/effect/turf_decal/siding/dark/corner{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/dark/textured,
+/area/station/command/meeting_room)
"tXy" = (
/obj/structure/flora/tree/jungle/small/style_3,
/obj/effect/turf_decal/weather/dirt,
@@ -59897,13 +60627,10 @@
/obj/effect/turf_decal/siding/wideplating,
/turf/open/floor/wood,
/area/station/engineering/atmospherics_engine)
-"tXG" = (
-/obj/structure/chair{
- dir = 8
- },
-/obj/machinery/light/small/directional/north,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
+"tXI" = (
+/obj/machinery/holopad/secure,
+/turf/open/floor/iron/dark,
+/area/station/ai_monitored/turret_protected/ai)
"tXL" = (
/obj/machinery/power/apc/auto_name/directional/north,
/obj/structure/cable,
@@ -59920,6 +60647,17 @@
},
/turf/open/floor/iron/dark,
/area/station/medical/chemistry)
+"tXV" = (
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/machinery/status_display/evac/directional/north,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"tYj" = (
/obj/item/exodrone,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
@@ -59928,6 +60666,16 @@
"tYq" = (
/turf/closed/wall,
/area/station/security/execution/transfer)
+"tYv" = (
+/obj/structure/window/reinforced/spawner/directional/south,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/station/science/xenobiology)
"tYx" = (
/obj/machinery/firealarm/directional/east,
/obj/effect/turf_decal/tile/red/opposingcorners{
@@ -59957,6 +60705,10 @@
},
/turf/open/floor/tram,
/area/station/security/tram)
+"tYN" = (
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/dock)
"tYT" = (
/turf/open/misc/asteroid/airless,
/area/space/nearstation)
@@ -59964,6 +60716,24 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/hallway/primary/central/aft)
+"tZe" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/turf_decal/siding/purple{
+ dir = 4
+ },
+/obj/machinery/camera/autoname/directional/east,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/rd)
+"tZh" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 9
+ },
+/obj/structure/filingcabinet,
+/obj/machinery/atmospherics/pipe/smart/simple/dark/hidden{
+ dir = 8
+ },
+/turf/open/floor/iron/grimy,
+/area/station/tcommsat/server)
"tZi" = (
/obj/structure/sign/poster/contraband/got_wood/directional/north,
/turf/open/floor/light/colour_cycle/dancefloor_b,
@@ -59989,6 +60759,15 @@
/obj/machinery/light/small/dim/directional/east,
/turf/open/floor/plating,
/area/station/maintenance/fore/lesser)
+"tZr" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/machinery/computer/security/telescreen/entertainment/directional/west,
+/turf/open/floor/iron,
+/area/station/hallway/primary/aft)
"tZt" = (
/obj/machinery/light/small/broken{
dir = 4
@@ -60005,6 +60784,13 @@
},
/turf/open/floor/wood,
/area/station/maintenance/starboard/greater)
+"tZD" = (
+/obj/structure/sign/warning/no_smoking/circle/directional/north,
+/obj/machinery/atmospherics/components/unary/thermomachine/freezer{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance)
"tZE" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -60039,6 +60825,12 @@
/obj/machinery/light/cold/dim/directional/east,
/turf/open/floor/iron,
/area/station/engineering/main)
+"tZY" = (
+/obj/structure/hedge,
+/obj/machinery/status_display/evac/directional/west,
+/obj/machinery/light/small/directional/south,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"uaa" = (
/obj/effect/turf_decal/siding/wood{
dir = 8
@@ -60060,26 +60852,6 @@
/obj/machinery/smartfridge/chemistry/virology/preloaded,
/turf/open/floor/iron/white,
/area/station/medical/virology)
-"uax" = (
-/obj/structure/chair/office{
- dir = 8
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/smooth,
-/area/station/security/checkpoint/customs)
-"uaF" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/chair/sofa/bench/right{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/dock)
"uaT" = (
/obj/effect/turf_decal/tile/yellow{
dir = 1
@@ -60121,45 +60893,17 @@
/obj/machinery/light_switch/directional/north,
/turf/open/floor/iron/dark,
/area/station/medical/medbay/lobby)
-"ubk" = (
+"ubn" = (
+/obj/structure/extinguisher_cabinet/directional/west,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/maintenance/starboard/greater)
-"ubl" = (
-/obj/machinery/newscaster/directional/south,
-/obj/structure/table,
-/obj/item/storage/box/lights/mixed,
-/turf/open/floor/iron,
-/area/station/commons/storage/art)
+/turf/open/floor/iron/white/side{
+ dir = 4
+ },
+/area/station/science/lobby)
"uby" = (
/turf/closed/wall,
/area/station/security/prison/garden)
-"ubK" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/camera/autoname/directional/north,
-/obj/machinery/firealarm/directional/north,
-/turf/open/floor/iron/dark/corner{
- dir = 1
- },
-/area/station/hallway/primary/central/fore)
-"ubT" = (
-/obj/item/radio/intercom/directional/south,
-/obj/effect/turf_decal/tile/blue,
-/obj/machinery/disposal/bin,
-/obj/structure/disposalpipe/trunk{
- dir = 8
- },
-/obj/effect/turf_decal/bot,
-/obj/structure/cable,
-/turf/open/floor/iron/dark/side{
- dir = 4
- },
-/area/station/hallway/primary/fore)
"ubV" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/machinery/recharge_station,
@@ -60167,15 +60911,16 @@
/obj/machinery/airalarm/directional/south,
/turf/open/floor/iron/dark,
/area/station/medical/medbay/central)
-"uch" = (
-/obj/effect/mapping_helpers/broken_floor,
-/obj/machinery/power/apc/auto_name/directional/west,
-/obj/effect/turf_decal/stripes/white/line{
- dir = 5
+"ucj" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/red{
+ dir = 4
},
-/obj/structure/cable,
-/turf/open/floor/engine,
-/area/station/science/explab)
+/obj/machinery/camera/autoname/directional/north,
+/turf/open/floor/iron/white/corner{
+ dir = 1
+ },
+/area/station/hallway/secondary/exit/departure_lounge)
"ucm" = (
/obj/machinery/power/apc/auto_name/directional/north,
/obj/structure/cable,
@@ -60190,6 +60935,10 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos/project)
+"ucx" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/turf/open/floor/iron,
+/area/station/construction/mining/aux_base)
"ucy" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/siding/red{
@@ -60240,22 +60989,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos/project)
-"ucY" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/mapping_helpers/broken_floor,
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/side{
- dir = 8
- },
-/area/station/hallway/secondary/construction)
-"udd" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/turf/open/floor/iron/white,
-/area/station/science/cytology)
"ude" = (
/obj/structure/disposalpipe/trunk{
dir = 4
@@ -60264,6 +60997,31 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
+"udg" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/disposal/bin,
+/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/siding/purple{
+ dir = 9
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/rd)
+"udl" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/door/airlock/research/glass{
+ name = "Gun Range"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/general,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/smooth_half{
+ dir = 1
+ },
+/area/station/science/auxlab/firing_range)
"udv" = (
/obj/machinery/telecomms/receiver/preset_right,
/turf/open/floor/circuit,
@@ -60310,28 +61068,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"udK" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 1
- },
-/obj/effect/turf_decal/trimline/neutral/line,
-/obj/machinery/navbeacon{
- codes_txt = "patrol;next_patrol=4.0-TechStorage-AftHall";
- location = "3.0-StarboardHall-TechStorage"
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
-"udO" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"udW" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -60422,26 +61158,9 @@
/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/monitored/air_output,
/turf/open/floor/engine/air,
/area/station/engineering/atmos)
-"ueT" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/white,
-/area/station/science/cytology)
"ueX" = (
/turf/closed/wall/rust,
/area/station/maintenance/port/fore)
-"ufb" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/smooth_half,
-/area/station/hallway/primary/central/fore)
-"ufd" = (
-/obj/effect/turf_decal/trimline/dark/end{
- dir = 2
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/light/small/directional/east,
-/turf/open/floor/iron/dark/small,
-/area/station/maintenance/department/science/xenobiology)
"ufe" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -60461,31 +61180,6 @@
"ufn" = (
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
-"ufE" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/yellow{
- dir = 8
- },
-/turf/open/floor/iron/white/corner{
- dir = 1
- },
-/area/station/hallway/primary/aft)
-"ufF" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 1
- },
-/obj/effect/turf_decal/trimline/neutral/line,
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
"ugb" = (
/obj/machinery/door/airlock/security/glass{
id_tag = "outerbrig";
@@ -60512,6 +61206,29 @@
},
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/rd)
+"ugv" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/corner{
+ dir = 1
+ },
+/area/station/hallway/secondary/dock)
+"ugx" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
"ugA" = (
/obj/effect/turf_decal/siding/yellow{
dir = 1
@@ -60521,6 +61238,15 @@
},
/turf/open/floor/wood,
/area/station/engineering/break_room)
+"ugC" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
"ugF" = (
/obj/machinery/power/emitter,
/obj/effect/turf_decal/stripes/line{
@@ -60528,27 +61254,10 @@
},
/turf/open/floor/iron/dark/small,
/area/station/engineering/storage_shared)
-"ugH" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 4
- },
-/obj/effect/turf_decal/siding/thinplating_new{
- dir = 8
- },
-/turf/open/floor/iron/dark/herringbone,
-/area/station/security/courtroom)
"ugI" = (
/obj/structure/flora/tree/jungle/style_3,
/turf/open/floor/grass,
/area/station/service/chapel)
-"ugJ" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/turf/open/floor/wood/parquet,
-/area/station/medical/psychology)
"uhe" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/machinery/conveyor{
@@ -60567,11 +61276,6 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
-"uhk" = (
-/obj/machinery/smartfridge/organ,
-/obj/machinery/door/firedoor,
-/turf/open/floor/iron/dark/small,
-/area/station/medical/morgue)
"uhq" = (
/obj/structure/chair/bronze,
/turf/open/floor/wood/tile,
@@ -60621,15 +61325,6 @@
/obj/machinery/airalarm/directional/north,
/turf/open/floor/iron/dark/small,
/area/station/medical/chemistry)
-"uid" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/firealarm/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/medical/medbay/central)
"uij" = (
/obj/docking_port/stationary{
dheight = 4;
@@ -60649,13 +61344,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"uiB" = (
-/obj/effect/turf_decal/siding{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/white/small,
-/area/station/science/lobby)
"uiK" = (
/obj/machinery/atmospherics/pipe/layer_manifold/supply/visible{
dir = 4
@@ -60681,6 +61369,18 @@
/obj/item/radio/intercom/directional/south,
/turf/open/floor/wood,
/area/station/maintenance/hallway/abandoned_recreation)
+"uiP" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/effect/turf_decal/trimline/neutral/corner{
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 5
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/aft)
"uiU" = (
/obj/effect/spawner/structure/window,
/obj/structure/disposalpipe/segment{
@@ -60688,18 +61388,6 @@
},
/turf/open/floor/plating,
/area/station/cargo/office)
-"uiY" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 1
- },
-/obj/effect/turf_decal/trimline/neutral/line,
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
"ujq" = (
/obj/structure/disposalpipe/segment,
/obj/structure/closet/emcloset,
@@ -60751,30 +61439,20 @@
/obj/effect/spawner/random/structure/crate,
/turf/open/floor/plating,
/area/station/hallway/secondary/construction)
-"ujT" = (
-/obj/machinery/door/airlock{
- name = "Sec Post Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/access/all/security/general,
+"ujP" = (
/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/central)
-"ujX" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/segment,
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
-"ujZ" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 4
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 1
},
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/grimy,
-/area/station/tcommsat/server)
+/obj/effect/turf_decal/trimline/neutral/line,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/aft)
"ukf" = (
/obj/effect/turf_decal/bot,
/turf/open/floor/engine,
@@ -60783,52 +61461,26 @@
/obj/structure/disposalpipe/segment,
/turf/closed/wall,
/area/station/cargo/miningfoundry)
-"ukk" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/turf/open/floor/iron/white/side{
- dir = 1
- },
-/area/station/science/lower)
-"uku" = (
-/obj/machinery/computer/crew{
- dir = 8
- },
-/obj/effect/turf_decal/tile/blue/fourcorners,
-/obj/machinery/light_switch/directional/south,
-/obj/machinery/camera/autoname/directional/east,
-/obj/machinery/light/small/directional/east,
-/turf/open/floor/iron/white,
-/area/station/medical/medbay/lobby)
"ukA" = (
/obj/machinery/pipedispenser/disposal,
/obj/structure/spider/stickyweb,
/turf/open/floor/iron/dark,
/area/station/maintenance/department/engine/atmos)
-"ukB" = (
-/obj/effect/turf_decal/weather/dirt{
- dir = 10
- },
-/obj/structure/flora/bush/flowers_br/style_random,
-/turf/open/floor/grass,
-/area/station/medical/morgue)
"ukI" = (
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
+"ukN" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/science/lower)
"ukP" = (
/obj/effect/spawner/structure/window/reinforced/plasma,
/turf/open/floor/plating,
/area/station/engineering/atmos)
-"ukQ" = (
-/obj/machinery/airalarm/directional/north,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side{
- dir = 1
- },
-/area/station/science/research)
"ukV" = (
/obj/machinery/computer/security{
dir = 8
@@ -60862,6 +61514,20 @@
/obj/structure/chair/stool/directional/north,
/turf/open/floor/iron,
/area/station/security/prison/workout)
+"uly" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"ulC" = (
/obj/structure/closet/secure_closet/atmospherics,
/obj/effect/turf_decal/bot{
@@ -60879,12 +61545,15 @@
/obj/effect/mapping_helpers/mail_sorting/service/kitchen,
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
-"ulK" = (
-/obj/machinery/ntnet_relay,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/turf/open/floor/circuit,
-/area/station/tcommsat/server)
+"ulI" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue/anticorner/contrasted{
+ dir = 1
+ },
+/turf/open/floor/iron/white,
+/area/station/medical/medbay/lobby)
"ulO" = (
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
@@ -60900,13 +61569,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"umr" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/white/line{
- dir = 4
- },
-/turf/open/floor/engine,
-/area/station/science/explab)
"ums" = (
/turf/closed/wall/r_wall,
/area/station/security/checkpoint/engineering)
@@ -60928,22 +61590,24 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
-"umL" = (
-/obj/structure/disposalpipe/segment,
+"umX" = (
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
/obj/structure/cable,
-/obj/effect/turf_decal/tile/brown/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/cargo/office)
-"unc" = (
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/recreation)
+/turf/open/floor/iron/white/corner{
+ dir = 1
+ },
+/area/station/hallway/secondary/entry)
+"umY" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/item/toy/plush/slimeplushie{
+ name = "Nanners"
+ },
+/turf/open/floor/engine/bz,
+/area/station/science/xenobiology)
"unf" = (
/obj/effect/turf_decal/tile/red/anticorner/contrasted,
/obj/machinery/computer/records/security{
@@ -60951,6 +61615,16 @@
},
/turf/open/floor/iron/smooth,
/area/station/security/checkpoint/customs/auxiliary)
+"uny" = (
+/obj/effect/turf_decal/siding/thinplating_new/terracotta{
+ dir = 1
+ },
+/obj/machinery/modular_computer/preset/engineering{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/yellow,
+/turf/open/floor/wood/tile,
+/area/station/command/bridge)
"unG" = (
/obj/machinery/power/apc/auto_name/directional/north,
/obj/structure/cable,
@@ -60961,17 +61635,6 @@
/obj/structure/reagent_dispensers/fueltank,
/turf/open/floor/plating,
/area/station/maintenance/fore/greater)
-"unT" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/turf_decal/siding/purple{
- dir = 8
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/rd)
"uoh" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/tile/neutral,
@@ -61003,13 +61666,15 @@
},
/turf/open/floor/grass,
/area/station/service/chapel)
-"upe" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
+"upc" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
},
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/central)
+/obj/structure/sign/departments/medbay/alt/directional/west,
+/turf/open/floor/iron,
+/area/station/hallway/primary/aft)
"upg" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/door/firedoor,
@@ -61021,22 +61686,6 @@
},
/turf/open/floor/iron/small,
/area/station/hallway/primary/port)
-"upr" = (
-/obj/machinery/firealarm/directional/north,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side{
- dir = 1
- },
-/area/station/science/research)
-"upy" = (
-/obj/machinery/status_display/evac/directional/north,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side{
- dir = 1
- },
-/area/station/science/research)
"upz" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -61070,26 +61719,20 @@
},
/turf/open/floor/iron,
/area/station/cargo/sorting)
-"upP" = (
-/obj/machinery/light/small/directional/north,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side{
- dir = 5
- },
-/area/station/science/research)
"upV" = (
/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
dir = 4
},
/turf/open/floor/iron,
/area/station/security/courtroom)
-"uqc" = (
-/obj/effect/spawner/random/trash,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/central)
+"uqa" = (
+/obj/structure/rack,
+/obj/effect/spawner/random/techstorage/command_all,
+/obj/effect/turf_decal/siding/dark{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/storage/tech)
"uqe" = (
/obj/structure/lattice,
/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
@@ -61115,10 +61758,24 @@
/obj/machinery/light/small/directional/north,
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
+"uqn" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/science/lower)
"uqq" = (
/obj/structure/table,
/turf/open/floor/iron/dark/small,
/area/station/maintenance/central/lesser)
+"uqt" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/fore)
"uqw" = (
/turf/closed/wall/r_wall,
/area/station/commons/fitness/recreation)
@@ -61129,13 +61786,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"uqH" = (
-/obj/machinery/firealarm/directional/north,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/cafeteria,
-/area/station/science/breakroom)
"uqL" = (
/obj/effect/mapping_helpers/broken_floor,
/obj/effect/spawner/random/trash,
@@ -61144,23 +61794,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
-"uqO" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical/central)
-"uqU" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/trap/stun,
-/obj/structure/alien/weeds,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/maintenance/starboard/greater)
"uqV" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -61170,6 +61803,11 @@
},
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
+"urc" = (
+/obj/structure/alien/weeds,
+/obj/structure/cable,
+/turf/open/misc/asteroid,
+/area/station/maintenance/starboard/greater)
"urd" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -61220,8 +61858,9 @@
/obj/structure/disposalpipe/junction{
dir = 1
},
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/cafeteria,
/area/station/science/breakroom)
"urm" = (
@@ -61277,12 +61916,6 @@
},
/turf/open/floor/iron,
/area/station/security)
-"ury" = (
-/obj/structure/transit_tube/horizontal,
-/obj/structure/lattice/catwalk,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/space/basic,
-/area/space/nearstation)
"urz" = (
/obj/structure/cable,
/turf/closed/wall/r_wall,
@@ -61308,6 +61941,10 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/herringbone,
/area/station/commons/dorms)
+"urL" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/herringbone,
+/area/station/commons/dorms)
"urM" = (
/obj/effect/turf_decal/tile/dark_red/fourcorners,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
@@ -61328,6 +61965,15 @@
/obj/effect/spawner/random/trash,
/turf/open/floor/plating,
/area/station/maintenance/fore/greater)
+"usj" = (
+/obj/structure/rack,
+/obj/item/aicard,
+/obj/item/clothing/gloves/color/yellow,
+/obj/item/ai_module/reset,
+/obj/effect/turf_decal/siding/dark,
+/obj/machinery/light/small/directional/north,
+/turf/open/floor/iron,
+/area/station/engineering/storage/tech)
"usF" = (
/obj/effect/mapping_helpers/broken_floor,
/obj/structure/easel,
@@ -61360,6 +62006,22 @@
/obj/machinery/status_display/ai/directional/south,
/turf/open/floor/iron/white,
/area/station/hallway/primary/starboard)
+"utq" = (
+/obj/machinery/door/airlock/command/glass{
+ name = "E.V.A. Storage"
+ },
+/obj/effect/turf_decal/delivery,
+/obj/machinery/door/firedoor,
+/obj/effect/mapping_helpers/airlock/access/all/command/eva,
+/obj/effect/turf_decal/stripes/corner,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/mapping_helpers/airlock/red_alert_access,
+/turf/open/floor/iron/smooth_half{
+ dir = 1
+ },
+/area/station/ai_monitored/command/storage/eva)
"utD" = (
/obj/machinery/light_switch/directional/west,
/obj/effect/turf_decal/stripes/corner{
@@ -61369,15 +62031,6 @@
dir = 8
},
/area/station/hallway/secondary/construction)
-"utF" = (
-/obj/machinery/door/poddoor/preopen{
- id = "bridge blast";
- name = "Bridge Blast Door"
- },
-/obj/effect/spawner/structure/window/reinforced,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/command/meeting_room)
"utP" = (
/obj/structure/table/reinforced/plastitaniumglass,
/obj/item/paper_bin/carbon{
@@ -61392,6 +62045,19 @@
/obj/effect/landmark/navigate_destination/dockescpod,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
+"uub" = (
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
+"uul" = (
+/obj/item/kirbyplants/organic/applebush,
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/obj/effect/turf_decal/siding/dark{
+ dir = 8
+ },
+/obj/machinery/light_switch/directional/east,
+/turf/open/floor/iron/dark/textured,
+/area/station/command/meeting_room)
"uur" = (
/obj/structure/table/wood/fancy/green,
/obj/item/storage/wallet{
@@ -61430,20 +62096,6 @@
/obj/structure/cable,
/turf/open/floor/wood,
/area/station/engineering/break_room)
-"uuY" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/door/airlock/research/glass{
- name = "Gun Lab"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/general,
-/obj/machinery/door/firedoor,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/catwalk_floor/iron_white,
-/area/station/science/auxlab/firing_range)
"uvb" = (
/obj/structure/dresser,
/turf/open/floor/wood,
@@ -61457,6 +62109,12 @@
},
/turf/open/floor/iron/dark,
/area/station/security/office)
+"uvi" = (
+/obj/machinery/sparker/directional/north{
+ id = "Xenobio"
+ },
+/turf/open/floor/engine/bz,
+/area/station/science/xenobiology)
"uvx" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -61474,23 +62132,63 @@
"uvA" = (
/turf/closed/wall/r_wall,
/area/station/command/gateway)
+"uvC" = (
+/obj/machinery/door/poddoor/shutters{
+ id = "evashutter";
+ name = "E.V.A. Storage Shutter";
+ dir = 8
+ },
+/obj/effect/turf_decal/delivery,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/turf/open/floor/iron/smooth_half{
+ dir = 1
+ },
+/area/station/ai_monitored/command/storage/eva)
"uvG" = (
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/obj/effect/spawner/random/entertainment/arcade,
/turf/open/floor/iron,
/area/station/commons/fitness/recreation/entertainment)
+"uvS" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/table,
+/obj/item/stack/cable_coil,
+/obj/item/multitool,
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/obj/machinery/light/small/directional/east,
+/turf/open/floor/engine/bz,
+/area/station/science/xenobiology)
+"uvX" = (
+/obj/effect/turf_decal/siding/white{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/small,
+/area/station/science/xenobiology)
"uwB" = (
/obj/effect/turf_decal/tile/dark_red/half/contrasted{
dir = 4
},
/turf/open/floor/iron,
/area/station/security/execution/transfer)
-"uwI" = (
-/obj/effect/landmark/transport/nav_beacon/tram/nav/immovable_rod,
+"uwF" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/closed/wall/r_wall,
+/area/station/command/corporate_dock)
+"uwM" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/airalarm/directional/west,
+/obj/effect/landmark/navigate_destination/tcomms,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
+/area/station/science/lower)
"uwO" = (
/obj/machinery/door/airlock/hatch{
name = "Tool Supply Corridor"
@@ -61499,16 +62197,19 @@
/obj/effect/mapping_helpers/airlock/unres,
/turf/open/floor/catwalk_floor/iron_dark,
/area/station/commons/storage/tools)
-"uxd" = (
-/obj/machinery/suit_storage_unit/standard_unit,
-/obj/effect/turf_decal/delivery,
-/obj/machinery/button/door/directional/west{
- name = "E.V.A Shutters";
- req_access = list("command");
- id = "evashutter"
+"uxe" = (
+/obj/machinery/light/small/directional/west,
+/turf/open/floor/iron/large,
+/area/station/hallway/primary/central/fore)
+"uxi" = (
+/obj/machinery/door/poddoor/preopen{
+ id = "bridge blast";
+ name = "Bridge Blast Door"
},
-/turf/open/floor/iron/dark/smooth_large,
-/area/station/ai_monitored/command/storage/eva)
+/obj/effect/spawner/structure/window/reinforced,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/command/meeting_room)
"uxJ" = (
/obj/machinery/smartfridge/chemistry/preloaded,
/obj/machinery/door/firedoor,
@@ -61524,19 +62225,17 @@
/obj/structure/trap/stun,
/turf/open/floor/plating,
/area/station/maintenance/starboard/greater)
+"uya" = (
+/obj/structure/cable,
+/obj/effect/spawner/structure/window/reinforced,
+/turf/open/floor/plating,
+/area/station/engineering/storage/tech)
"uyA" = (
/obj/structure/disposalpipe/segment,
/obj/effect/decal/cleanable/dirt,
/obj/structure/broken_flooring/singular/directional/south,
/turf/open/floor/iron,
/area/station/maintenance/starboard/aft)
-"uyF" = (
-/obj/effect/turf_decal/tile/yellow/opposingcorners,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/construction)
"uyH" = (
/obj/structure/cable,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
@@ -61560,9 +62259,31 @@
/obj/structure/reagent_dispensers/watertank,
/turf/open/floor/plating,
/area/station/maintenance/aft)
+"uzu" = (
+/obj/structure/chair/wood{
+ dir = 4
+ },
+/turf/open/floor/wood/large,
+/area/station/maintenance/department/science/xenobiology)
+"uzA" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/obj/structure/disposalpipe/sorting/mail{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/medical/medbay/lobby)
"uzJ" = (
/turf/open/floor/iron,
/area/station/cargo/storage)
+"uzK" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/turf/open/floor/iron/white/side{
+ dir = 1
+ },
+/area/station/science/lower)
"uzY" = (
/obj/effect/turf_decal/tile/blue{
dir = 4
@@ -61572,17 +62293,6 @@
dir = 1
},
/area/station/hallway/secondary/dock)
-"uzZ" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/aft)
"uAi" = (
/obj/structure/table/wood,
/turf/open/floor/carpet/lone,
@@ -61614,14 +62324,6 @@
/obj/machinery/airalarm/directional/west,
/turf/open/floor/wood/tile,
/area/station/command/bridge)
-"uAX" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/light/floor,
-/turf/open/floor/plating,
-/area/station/maintenance/department/engine)
"uAY" = (
/turf/open/floor/plating,
/area/station/maintenance/department/bridge)
@@ -61646,17 +62348,6 @@
},
/turf/open/floor/iron/dark,
/area/station/medical/medbay/aft)
-"uBo" = (
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/machinery/light/floor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/corner{
- dir = 1
- },
-/area/station/hallway/secondary/entry)
"uBu" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -61712,6 +62403,14 @@
/obj/machinery/airalarm/directional/north,
/turf/open/floor/iron/dark/small,
/area/station/command/heads_quarters/captain/private)
+"uBU" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
+ dir = 9
+ },
+/obj/effect/landmark/start/medical_doctor,
+/turf/open/floor/iron/dark,
+/area/station/medical/cryo)
"uBY" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white/side,
@@ -61739,6 +62438,15 @@
/obj/machinery/firealarm/directional/south,
/turf/open/floor/iron/white/side,
/area/station/hallway/primary/starboard)
+"uCA" = (
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/dock)
"uCH" = (
/obj/machinery/portable_atmospherics/canister/nitrogen,
/obj/effect/turf_decal/stripes/line{
@@ -61748,17 +62456,45 @@
/obj/structure/sign/poster/official/random/directional/north,
/turf/open/floor/plating,
/area/station/engineering/atmos/storage/gas)
-"uDg" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/line,
+"uCS" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
+"uCX" = (
+/obj/structure/table/reinforced,
+/obj/machinery/newscaster/directional/east,
+/obj/item/storage/toolbox/electrical{
+ pixel_x = 1;
+ pixel_y = -1
+ },
+/obj/item/clothing/gloves/color/yellow,
+/obj/item/t_scanner,
/turf/open/floor/iron/dark/side{
+ dir = 4
+ },
+/area/station/engineering/storage/tech)
+"uDi" = (
+/obj/effect/turf_decal/stripes/line{
dir = 1
},
-/area/station/science/xenobiology)
+/obj/structure/extinguisher_cabinet/directional/north,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/white,
+/area/station/hallway/primary/starboard)
+"uDj" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/catwalk_floor/iron,
+/area/station/science/lobby)
"uDm" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/effect/turf_decal/stripes/corner{
@@ -61816,12 +62552,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
-"uDI" = (
-/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance)
"uDQ" = (
/obj/structure/cable,
/obj/machinery/power/apc/auto_name/directional/east,
@@ -61851,6 +62581,16 @@
/obj/item/radio/intercom/directional/south,
/turf/open/floor/stone,
/area/station/command/corporate_suite)
+"uEk" = (
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/fore)
"uEC" = (
/obj/structure/window/reinforced/spawner/directional/east,
/obj/effect/turf_decal/box/red/corners{
@@ -61881,13 +62621,6 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/central/lesser)
-"uEQ" = (
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
"uES" = (
/obj/machinery/door/window/brigdoor/right/directional/west{
id = "Cell 3";
@@ -61900,6 +62633,14 @@
},
/turf/open/floor/iron/dark/small,
/area/station/security/brig)
+"uEX" = (
+/obj/structure/kitchenspike,
+/obj/effect/turf_decal/weather/snow,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 10
+ },
+/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+/area/station/service/kitchen/coldroom)
"uEZ" = (
/obj/effect/turf_decal/siding/wideplating,
/obj/effect/turf_decal/siding/wideplating{
@@ -61907,6 +62648,12 @@
},
/turf/open/floor/wood,
/area/station/engineering/atmospherics_engine)
+"uFc" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/aft)
"uFe" = (
/obj/effect/turf_decal/arrows/red{
dir = 4;
@@ -61930,16 +62677,6 @@
dir = 1
},
/area/station/command/bridge)
-"uFt" = (
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/fore)
"uFw" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/door/firedoor,
@@ -61950,17 +62687,6 @@
/obj/structure/cable,
/turf/open/floor/iron/textured_half,
/area/station/security/lockers)
-"uFA" = (
-/obj/machinery/door/airlock/public/glass{
- name = "Research Wing"
- },
-/obj/machinery/door/firedoor,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/textured_half{
- dir = 1
- },
-/area/station/hallway/primary/starboard)
"uFQ" = (
/obj/structure/closet/crate/coffin,
/obj/structure/window/spawner/directional/south,
@@ -61971,12 +62697,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2,
/turf/open/floor/engine/vacuum,
/area/station/maintenance/disposal/incinerator)
-"uFZ" = (
-/obj/effect/turf_decal/siding/wood,
-/obj/machinery/vending/wardrobe/jani_wardrobe,
-/obj/machinery/camera/autoname/directional/north,
-/turf/open/floor/iron/small,
-/area/station/service/janitor)
"uGj" = (
/obj/effect/turf_decal/tile/green/half/contrasted,
/obj/structure/table/glass,
@@ -61987,27 +62707,6 @@
/obj/effect/mapping_helpers/requests_console/ore_update,
/turf/open/floor/iron/white,
/area/station/medical/virology)
-"uGA" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/door/airlock/public/glass{
- name = "Research Wing"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "sci-entrance"
- },
-/obj/machinery/door/firedoor,
-/obj/machinery/door/poddoor/shutters/preopen{
- dir = 8;
- id = "rdrnd";
- name = "Research and Development Shutters"
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/textured_half{
- dir = 1
- },
-/area/station/hallway/primary/starboard)
"uGF" = (
/obj/machinery/portable_atmospherics/canister/air,
/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
@@ -62030,17 +62729,6 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/starboard/central)
-"uGN" = (
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/obj/effect/turf_decal/siding{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/small,
-/area/station/science/lobby)
"uGO" = (
/obj/structure/bed,
/obj/effect/turf_decal/siding/red{
@@ -62051,25 +62739,24 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/small,
/area/station/security/brig)
-"uGT" = (
+"uGW" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/turf_decal/siding{
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/white/side,
+/area/station/science/research)
+"uGX" = (
+/obj/structure/disposalpipe/segment{
dir = 4
},
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/small,
-/area/station/science/lobby)
-"uGU" = (
-/obj/effect/mapping_helpers/mail_sorting/science/research,
-/obj/structure/disposalpipe/sorting/mail/flip{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side{
- dir = 10
- },
+/obj/structure/cable,
+/turf/open/floor/iron/white/side,
/area/station/science/research)
"uHc" = (
/obj/structure/frame/machine,
@@ -62079,14 +62766,6 @@
"uHd" = (
/turf/closed/wall,
/area/station/science/robotics/lab)
-"uHf" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/sign/departments/rndserver/directional/south,
-/obj/structure/cable,
-/turf/open/floor/iron/white/side,
-/area/station/science/research)
"uHo" = (
/obj/machinery/light/small/directional/east,
/obj/machinery/computer/records/security{
@@ -62094,6 +62773,19 @@
},
/turf/open/floor/iron/dark,
/area/station/security/checkpoint/science)
+"uHr" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/structure/table/glass,
+/obj/item/folder/red{
+ pixel_y = 7;
+ pixel_x = 7
+ },
+/obj/machinery/cell_charger{
+ pixel_x = -1;
+ pixel_y = -1
+ },
+/turf/open/floor/iron/smooth,
+/area/station/command/bridge)
"uHv" = (
/obj/structure/rack,
/obj/item/pipe_dispenser,
@@ -62142,12 +62834,6 @@
dir = 1
},
/area/station/service/chapel/office)
-"uHR" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random/trash,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/lesser)
"uIj" = (
/obj/structure/disposalpipe/segment,
/obj/structure/cable,
@@ -62169,6 +62855,20 @@
},
/turf/open/floor/iron/dark,
/area/station/engineering/atmos/office)
+"uIv" = (
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/item/radio/intercom/directional/east,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark,
+/area/station/service/lawoffice)
+"uIy" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/recreation)
"uIA" = (
/obj/effect/turf_decal/siding/thinplating_new/light{
dir = 9
@@ -62185,20 +62885,6 @@
/obj/structure/extinguisher_cabinet/directional/south,
/turf/open/floor/iron/dark/side,
/area/station/cargo/lobby)
-"uIP" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/red/opposingcorners,
-/obj/effect/turf_decal/tile/blue/opposingcorners{
- dir = 8
- },
-/obj/machinery/firealarm/directional/north,
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/turf/open/floor/iron/smooth,
-/area/station/service/greenroom)
"uIT" = (
/obj/effect/turf_decal/sand/plating,
/obj/effect/decal/cleanable/dirt,
@@ -62211,18 +62897,6 @@
},
/turf/open/floor/iron/dark,
/area/station/maintenance/department/engine/atmos)
-"uJc" = (
-/obj/machinery/door/airlock/public/glass{
- name = "Applied Sciences"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "sci-entrance"
- },
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/textured_half,
-/area/station/science/lobby)
"uJi" = (
/obj/effect/turf_decal/tile/green/opposingcorners,
/obj/effect/turf_decal/tile/blue/opposingcorners{
@@ -62232,6 +62906,12 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/service/hydroponics)
+"uJm" = (
+/obj/effect/turf_decal/tile/yellow/opposingcorners,
+/obj/effect/landmark/event_spawn,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/construction)
"uJq" = (
/obj/effect/spawner/random/structure/crate_abandoned,
/turf/open/floor/plating,
@@ -62261,6 +62941,14 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/cargo/storage)
+"uJP" = (
+/obj/effect/landmark/blobstart,
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/grimy,
+/area/station/maintenance/starboard/central)
"uJV" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -62309,15 +62997,6 @@
/obj/item/soap,
/turf/open/floor/iron,
/area/station/commons/dorms)
-"uKH" = (
-/obj/machinery/camera/directional/north,
-/obj/machinery/status_display/ai/directional/north,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side{
- dir = 1
- },
-/area/station/science/research)
"uKN" = (
/obj/machinery/camera/autoname/directional/east,
/turf/open/floor/iron,
@@ -62336,6 +63015,15 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating/rust,
/area/station/engineering/main)
+"uLx" = (
+/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms,
+/obj/machinery/door/airlock/command/glass{
+ name = "Telecommunications Server Room"
+ },
+/obj/structure/cable,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/station/tcommsat/server)
"uLz" = (
/obj/structure/disposalpipe/segment{
dir = 10
@@ -62345,17 +63033,14 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"uLD" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 4
+"uLA" = (
+/obj/effect/turf_decal/trimline/dark/end{
+ dir = 2
},
-/obj/machinery/duct,
/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating,
-/area/station/maintenance/central/lesser)
+/obj/machinery/light/small/directional/east,
+/turf/open/floor/iron/dark/small,
+/area/station/maintenance/department/science/xenobiology)
"uLO" = (
/obj/item/stack/sheet/cardboard{
amount = 14
@@ -62389,23 +63074,19 @@
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/hallway/secondary/service)
-"uMl" = (
-/obj/machinery/cryo_cell,
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/turf/open/floor/iron/small,
-/area/station/medical/cryo)
"uMu" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/turf/open/floor/iron,
/area/station/security/tram)
-"uME" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/white,
-/area/station/hallway/primary/starboard)
+"uMC" = (
+/obj/machinery/door/airlock/public{
+ name = "Locker Room"
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/textured_half,
+/area/station/commons/fitness/recreation)
"uMF" = (
/obj/machinery/atmospherics/components/binary/pump{
dir = 8;
@@ -62448,12 +63129,12 @@
/obj/machinery/light_switch/directional/south,
/turf/open/floor/iron/cafeteria,
/area/station/science/breakroom)
-"uNe" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/showroomfloor,
-/area/station/commons/toilet/auxiliary)
+"uNq" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/turf/closed/wall,
+/area/station/medical/morgue)
"uNz" = (
/obj/structure/cable,
/obj/effect/turf_decal/siding/dark_red{
@@ -62462,19 +63143,27 @@
/obj/machinery/airalarm/directional/north,
/turf/open/floor/stone,
/area/station/command/heads_quarters/hos)
-"uNK" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden,
-/turf/open/floor/iron/dark,
-/area/station/science/server)
-"uNR" = (
-/obj/structure/chair{
- dir = 4;
- pixel_y = -2
- },
+"uNO" = (
/obj/structure/cable,
-/turf/open/floor/iron/cafeteria,
-/area/station/science/breakroom)
+/obj/machinery/airalarm/directional/north,
+/obj/item/kirbyplants/random,
+/obj/effect/turf_decal/tile/brown/opposingcorners{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/cargo/office)
+"uNT" = (
+/obj/effect/turf_decal/siding{
+ dir = 6
+ },
+/obj/machinery/firealarm/directional/south,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/small,
+/area/station/science/lab)
"uNX" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -62487,6 +63176,21 @@
},
/turf/open/floor/iron/white/corner,
/area/station/hallway/primary/aft)
+"uOc" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/white/line{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/station/science/explab)
+"uOe" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light_switch/directional/west,
+/obj/effect/landmark/event_spawn,
+/obj/machinery/portable_atmospherics/pump/lil_pump,
+/obj/machinery/atmospherics/pipe/smart/simple/purple/visible,
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance)
"uOk" = (
/obj/effect/turf_decal/siding/wood,
/obj/structure/window/spawner/directional/south,
@@ -62494,6 +63198,12 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/iron,
/area/station/engineering/main)
+"uOn" = (
+/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance)
"uOt" = (
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
dir = 1
@@ -62512,9 +63222,6 @@
},
/turf/open/floor/wood/tile,
/area/station/maintenance/central/lesser)
-"uOH" = (
-/turf/open/misc/dirt/station,
-/area/station/medical/morgue)
"uPf" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -62541,23 +63248,31 @@
},
/turf/open/floor/tram,
/area/station/security/tram)
-"uPJ" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/obj/structure/cable,
+"uPx" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 1
+/obj/machinery/airalarm/directional/north,
+/obj/item/clothing/head/cone{
+ pixel_x = 6;
+ pixel_y = 1
},
-/obj/effect/turf_decal/trimline/neutral/line,
+/obj/structure/cable,
/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
+/area/station/hallway/secondary/dock)
"uPM" = (
/obj/structure/urinal/directional/east,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/white/small,
/area/station/commons/toilet/restrooms)
+"uPN" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/turf/open/floor/iron/dark/side{
+ dir = 6
+ },
+/area/station/engineering/storage/tech)
"uPW" = (
/obj/structure/flora/bush/flowers_pp/style_2,
/obj/structure/flora/bush/large/style_3,
@@ -62569,13 +63284,17 @@
},
/turf/open/space/basic,
/area/space/nearstation)
-"uQb" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 5
+"uQa" = (
+/obj/effect/turf_decal/tile/red/opposingcorners{
+ dir = 1
},
-/obj/machinery/atmospherics/components/unary/portables_connector/visible,
-/turf/open/floor/plating,
-/area/station/science/ordnance/storage)
+/obj/machinery/firealarm/directional/north,
+/obj/effect/landmark/start/depsec/science,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/security/checkpoint/science)
"uQc" = (
/obj/machinery/smartfridge/chemistry/preloaded,
/obj/machinery/door/firedoor,
@@ -62623,6 +63342,13 @@
/obj/machinery/airalarm/directional/east,
/turf/open/floor/iron,
/area/station/commons/fitness/locker_room)
+"uQH" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/chair/sofa/bench/left{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/maintenance/department/medical/central)
"uQI" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -62695,20 +63421,6 @@
},
/turf/open/floor/iron/dark/small,
/area/station/security/execution/education)
-"uRP" = (
-/obj/structure/rack,
-/obj/effect/spawner/random/techstorage/arcade_boards,
-/obj/effect/turf_decal/tile/green/opposingcorners,
-/obj/effect/turf_decal/bot,
-/obj/machinery/firealarm/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/engineering/storage/tech)
-"uRR" = (
-/obj/structure/table,
-/obj/item/plant_analyzer,
-/obj/machinery/light/small/directional/north,
-/turf/open/floor/iron,
-/area/station/security/prison/garden)
"uRW" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -62734,33 +63446,19 @@
},
/turf/open/floor/wood/parquet,
/area/station/service/library)
-"uSi" = (
-/obj/machinery/holopad,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark,
-/area/station/ai_monitored/turret_protected/ai_upload_foyer)
"uSj" = (
/turf/closed/wall/r_wall,
/area/station/medical/medbay/central)
-"uSo" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/railing/corner{
- dir = 4
- },
-/turf/open/floor/iron,
+"uSx" = (
+/obj/structure/bodycontainer/morgue,
+/obj/machinery/camera/autoname/directional/west,
+/turf/open/floor/iron/dark/small,
+/area/station/medical/morgue)
+"uSI" = (
+/obj/structure/chair/stool/directional/east,
+/obj/effect/landmark/start/hangover,
+/turf/open/floor/iron/herringbone,
/area/station/commons/dorms)
-"uSB" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/airalarm/directional/west,
-/obj/effect/landmark/navigate_destination/tcomms,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/science/lower)
"uSM" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -62785,11 +63483,26 @@
},
/turf/open/floor/iron/textured_half,
/area/station/commons/storage/art)
-"uTb" = (
-/obj/structure/table/glass,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/turf/open/floor/iron/dark,
-/area/station/service/lawoffice)
+"uTi" = (
+/obj/structure/closet/crate/freezer/blood,
+/obj/effect/turf_decal/tile/dark_blue/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/white{
+ dir = 1
+ },
+/turf/open/floor/iron/kitchen_coldroom,
+/area/station/medical/coldroom)
+"uTo" = (
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/fore)
"uTz" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -62832,39 +63545,18 @@
},
/turf/open/floor/engine/n2o,
/area/station/engineering/atmos)
-"uTO" = (
-/obj/effect/spawner/structure/window/reinforced,
+"uTV" = (
/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/security/checkpoint/science)
-"uTR" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/siding/white/corner{
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/small,
-/area/station/science/xenobiology)
+/turf/open/floor/iron/dark,
+/area/station/medical/medbay/central)
"uUe" = (
-/obj/effect/turf_decal/siding/thinplating_new/terracotta,
-/obj/machinery/computer/security/telescreen/entertainment/directional/north,
-/obj/item/kirbyplants/organic/applebush,
-/turf/open/floor/iron/dark/smooth_large,
-/area/station/command/meeting_room)
-"uUf" = (
-/obj/effect/turf_decal/siding{
- dir = 1
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/white/small,
-/area/station/science/lobby)
-"uUj" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/closed/wall/r_wall,
+/area/station/command/corporate_dock)
"uUq" = (
/obj/structure/table/wood,
/obj/item/folder/yellow{
@@ -62907,6 +63599,13 @@
},
/turf/open/floor/stone,
/area/station/service/bar)
+"uUG" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/steam_vent,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/central)
"uUS" = (
/obj/machinery/door/airlock/research/glass{
name = "Cubicle"
@@ -62926,18 +63625,6 @@
/obj/effect/turf_decal/tile/red/fourcorners,
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"uVo" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"uVB" = (
/obj/item/kirbyplants/organic/plant17,
/obj/structure/cable,
@@ -62954,6 +63641,12 @@
/obj/machinery/airalarm/directional/east,
/turf/open/floor/iron/dark,
/area/station/hallway/secondary/construction)
+"uVE" = (
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/commons/fitness/locker_room)
"uVH" = (
/obj/machinery/modular_computer/preset/civilian{
dir = 4
@@ -62961,6 +63654,13 @@
/obj/machinery/status_display/evac/directional/west,
/turf/open/floor/circuit/red,
/area/station/ai_monitored/turret_protected/ai)
+"uVO" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/aft)
"uVT" = (
/turf/closed/wall/r_wall,
/area/station/command/heads_quarters/hop)
@@ -62986,18 +63686,17 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/science/robotics/augments)
-"uWn" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white,
-/area/station/hallway/primary/starboard)
"uWo" = (
/turf/closed/wall,
/area/station/medical/paramedic)
+"uWr" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/purple/opposingcorners,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/turf/open/floor/iron/cafeteria,
+/area/station/science/circuits)
"uWv" = (
/obj/structure/window/reinforced/spawner/directional/east,
/obj/structure/flora/bush/flowers_pp/style_random,
@@ -63015,22 +63714,24 @@
},
/area/station/security/prison/safe)
"uWz" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/obj/machinery/light_switch/directional/west,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/closed/wall/r_wall,
-/area/station/command/corporate_dock)
+/turf/open/floor/iron,
+/area/station/commons/fitness/recreation/entertainment)
"uWG" = (
/obj/structure/closet/firecloset,
/obj/machinery/status_display/ai/directional/south,
/turf/open/floor/iron/white,
/area/station/hallway/primary/starboard)
-"uWQ" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/obj/structure/disposalpipe/sorting/mail{
+"uWJ" = (
+/obj/effect/turf_decal/siding/thinplating_new/light{
dir = 4
},
-/turf/open/floor/iron/dark,
-/area/station/medical/medbay/lobby)
+/obj/structure/cable,
+/turf/open/floor/iron/smooth_large,
+/area/station/science/robotics/mechbay)
"uWZ" = (
/obj/machinery/door/airlock/public,
/obj/effect/decal/cleanable/dirt,
@@ -63053,18 +63754,6 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/aft)
-"uXV" = (
-/obj/machinery/door/window/brigdoor/left/directional/south{
- name = "Creature Pen";
- req_access = list("research")
- },
-/obj/machinery/door/window/brigdoor/left/directional/north{
- name = "Creature Pen";
- req_access = list("research")
- },
-/obj/structure/cable,
-/turf/open/floor/catwalk_floor/iron,
-/area/station/science/xenobiology)
"uXY" = (
/turf/closed/wall/r_wall,
/area/station/ai_monitored/command/nuke_storage)
@@ -63103,14 +63792,6 @@
},
/turf/open/floor/iron/dark/textured_large,
/area/station/service/kitchen)
-"uYO" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/item/radio/intercom/directional/south,
-/obj/structure/broken_flooring/singular/directional/south,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/dock)
"uYY" = (
/obj/structure/closet/wardrobe/grey,
/obj/effect/turf_decal/siding/wideplating/dark{
@@ -63123,14 +63804,6 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/iron,
/area/station/security/courtroom)
-"uZf" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side{
- dir = 8
- },
-/area/station/science/research)
"uZk" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/obj/structure/chair{
@@ -63163,6 +63836,13 @@
},
/turf/open/floor/plating,
/area/station/maintenance/central/lesser)
+"uZX" = (
+/obj/machinery/door/airlock/public{
+ name = "Locker Room"
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/textured_half,
+/area/station/commons/fitness/recreation)
"uZY" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -63178,6 +63858,13 @@
/obj/machinery/status_display/ai/directional/south,
/turf/open/floor/iron/white,
/area/station/hallway/primary/starboard)
+"vai" = (
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/aft)
"vam" = (
/obj/structure/flora/bush/large/style_random{
pixel_x = -20;
@@ -63193,52 +63880,15 @@
/obj/structure/railing,
/turf/open/space/basic,
/area/space/nearstation)
-"vaw" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/neutral/opposingcorners,
-/obj/item/radio/intercom/directional/west,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/commons/fitness/recreation/entertainment)
-"vaR" = (
-/obj/structure/chair/wood{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/wood/large,
-/area/station/maintenance/department/science/xenobiology)
-"vba" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 4
- },
-/obj/effect/turf_decal/tile/yellow{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/medical/chemistry)
"vbp" = (
/obj/structure/reagent_dispensers/fueltank,
/turf/open/floor/plating,
/area/station/maintenance/starboard/central)
-"vbq" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/medical/medbay/central)
"vbA" = (
/obj/structure/sign/departments/science/alt/directional/east,
/obj/machinery/camera/autoname/directional/east,
/turf/open/floor/iron/white,
/area/station/hallway/primary/starboard)
-"vbJ" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/turf/open/floor/wood,
-/area/station/commons/fitness/recreation)
"vbK" = (
/turf/closed/wall,
/area/station/science/research)
@@ -63270,10 +63920,10 @@
/turf/open/floor/circuit,
/area/station/tcommsat/server)
"vbR" = (
-/obj/machinery/status_display/ai/directional/west,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/turf/open/floor/wood/tile,
-/area/station/command/meeting_room)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"vcd" = (
/obj/structure/chair{
dir = 8
@@ -63288,6 +63938,18 @@
},
/turf/open/floor/iron/dark,
/area/station/security/interrogation)
+"vcr" = (
+/obj/machinery/door/airlock{
+ name = "Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/general,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/central)
+"vcw" = (
+/obj/effect/spawner/structure/window/reinforced,
+/turf/open/floor/plating,
+/area/station/hallway/secondary/command)
"vcB" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -63309,45 +63971,10 @@
},
/turf/open/floor/iron/dark/herringbone,
/area/station/security/courtroom)
-"vcW" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/door/airlock{
- name = "Law Office"
- },
-/obj/effect/mapping_helpers/airlock/access/any/service/lawyer,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/textured_half{
- dir = 1
- },
-/area/station/service/lawoffice)
-"vdf" = (
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/effect/turf_decal/siding{
- dir = 10
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/small,
-/area/station/science/lobby)
"vdg" = (
/obj/structure/railing/corner,
/turf/open/space/basic,
/area/space/nearstation)
-"vdj" = (
-/obj/effect/turf_decal/tile/blue,
-/obj/machinery/disposal/bin,
-/obj/effect/turf_decal/bot,
-/obj/structure/disposalpipe/trunk,
-/obj/machinery/computer/security/telescreen/entertainment/directional/north,
-/turf/open/floor/iron/dark/textured_edge{
- dir = 1
- },
-/area/station/command/heads_quarters/hop)
"vdt" = (
/obj/item/kirbyplants/random,
/obj/effect/turf_decal/stripes/line{
@@ -63397,16 +64024,6 @@
},
/turf/open/floor/iron,
/area/station/medical/chemistry)
-"veg" = (
-/obj/effect/turf_decal/siding{
- dir = 6
- },
-/obj/item/assembly/igniter,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
-/turf/open/floor/iron/white/small,
-/area/station/science/lobby)
"vej" = (
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
@@ -63416,6 +64033,10 @@
/obj/effect/landmark/atmospheric_sanity/ignore_area,
/turf/open/floor/iron/dark/small,
/area/station/maintenance/department/engine/atmos)
+"veq" = (
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/lesser)
"vex" = (
/obj/effect/turf_decal/stripes/end,
/obj/item/kirbyplants/random/fullysynthetic,
@@ -63453,6 +64074,12 @@
/obj/item/radio/intercom/directional/south,
/turf/open/floor/iron/dark/herringbone,
/area/station/security/execution/education)
+"vff" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/spawner/structure/window,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/science/lobby)
"vfg" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -63489,14 +64116,6 @@
/obj/machinery/light/small/directional/south,
/turf/open/floor/iron/smooth_large,
/area/station/science/robotics/mechbay)
-"vfH" = (
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
"vfI" = (
/obj/machinery/light_switch/directional/north,
/obj/effect/turf_decal/siding/end{
@@ -63507,11 +64126,6 @@
},
/turf/open/floor/iron/dark/textured_large,
/area/station/service/kitchen)
-"vfK" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/greater)
"vfN" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -63575,26 +64189,13 @@
},
/turf/open/floor/plating,
/area/station/maintenance/department/engine/atmos)
-"vgy" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/corner{
- dir = 1
- },
-/area/station/hallway/secondary/dock)
"vgz" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/structure/cable,
+/obj/machinery/door/airlock{
+ name = "Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
/turf/open/floor/plating,
-/area/station/tcommsat/server)
+/area/station/maintenance/department/science/xenobiology)
"vgL" = (
/obj/effect/turf_decal/tile/brown/opposingcorners,
/obj/effect/turf_decal/tile/brown/opposingcorners,
@@ -63624,12 +64225,6 @@
},
/turf/open/floor/iron/dark/diagonal,
/area/station/service/bar)
-"vgY" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
"vhr" = (
/obj/structure/sink/directional/west,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
@@ -63644,18 +64239,6 @@
/obj/machinery/holopad,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/security/armory)
-"vhu" = (
-/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms,
-/obj/machinery/door/airlock/command/glass{
- name = "Telecommunications Server Room"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "comms-entrance-south"
- },
-/obj/structure/cable,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/catwalk_floor/iron_dark,
-/area/station/tcommsat/server)
"vhI" = (
/obj/effect/turf_decal/tile/dark_red{
dir = 4
@@ -63665,10 +64248,33 @@
},
/turf/open/floor/iron/dark,
/area/station/security/processing)
-"vid" = (
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/aft)
+"vhJ" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white,
+/area/station/science/research)
+"vhM" = (
+/obj/machinery/camera/autoname/directional/south,
+/turf/open/floor/iron/showroomfloor,
+/area/station/commons/toilet/auxiliary)
+"vhV" = (
+/obj/structure/table,
+/obj/item/paper_bin{
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/obj/item/pen{
+ pixel_x = -2;
+ pixel_y = 3
+ },
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
+"vif" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/obj/effect/turf_decal/siding/blue{
+ dir = 1
+ },
+/turf/open/floor/iron/white/small,
+/area/station/command/heads_quarters/cmo)
"vij" = (
/obj/structure/chair/comfy/black{
dir = 4
@@ -63687,18 +64293,6 @@
dir = 8
},
/area/station/science/research)
-"viy" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/blue/anticorner/contrasted,
-/turf/open/floor/iron/white,
-/area/station/medical/medbay/lobby)
-"viA" = (
-/obj/effect/spawner/structure/window/reinforced/tinted,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/science/server)
"viE" = (
/obj/effect/turf_decal/stripes/line{
dir = 6
@@ -63706,30 +64300,10 @@
/obj/item/stack/cable_coil/cut,
/turf/open/floor/plating,
/area/station/maintenance/department/electrical)
-"viK" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/door/airlock{
- name = "Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
-/obj/effect/mapping_helpers/airlock/unres,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/central)
-"viO" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/light/small/dim/directional/west,
-/turf/open/floor/wood/large,
-/area/station/maintenance/department/science/xenobiology)
"viP" = (
/obj/structure/closet/emcloset,
/turf/open/floor/iron/small,
/area/station/maintenance/starboard/central)
-"viT" = (
-/obj/machinery/light/cold/directional/east,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
"viW" = (
/obj/effect/turf_decal/stripes/red/line{
dir = 4
@@ -63755,24 +64329,13 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
-"vje" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/railing{
- dir = 10
+"vjc" = (
+/obj/effect/landmark/start/hangover,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
},
-/obj/structure/table/reinforced,
-/obj/item/wrench,
-/obj/item/tank/internals/emergency_oxygen/engi,
-/obj/effect/spawner/random/maintenance,
-/turf/open/floor/iron/dark,
-/area/station/maintenance/department/science/xenobiology)
-"vjp" = (
-/obj/effect/turf_decal/sand/plating,
-/obj/machinery/power/floodlight,
-/obj/structure/alien/weeds,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/greater)
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"vjs" = (
/obj/structure/disposalpipe/segment,
/obj/item/food/grown/pineapple{
@@ -63789,36 +64352,23 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/textured_half,
/area/station/commons/toilet/restrooms)
-"vjV" = (
-/obj/structure/cable,
+"vjO" = (
+/obj/structure/alien/weeds,
+/obj/effect/gibspawner/human,
+/turf/open/misc/asteroid,
+/area/station/maintenance/starboard/greater)
+"vkg" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
-/area/station/science/lower)
-"vjX" = (
-/mob/living/basic/mining/lobstrosity,
-/turf/open/misc/asteroid/airless,
-/area/space/nearstation)
+/area/station/hallway/secondary/recreation)
"vkh" = (
/turf/closed/wall,
/area/station/service/bar)
-"vkr" = (
-/obj/machinery/door/airlock/engineering{
- name = "Starboard Bow Solar Access"
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/general,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/catwalk_floor/iron_smooth,
-/area/station/maintenance/starboard/fore)
-"vkt" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/science/research)
"vkC" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/firealarm/directional/east,
@@ -63826,39 +64376,12 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"vkD" = (
-/obj/structure/table/reinforced,
-/obj/machinery/cell_charger{
- pixel_y = 3;
- pixel_x = 1
- },
-/obj/item/stock_parts/power_store/cell/high,
-/obj/item/stock_parts/power_store/cell/high{
- pixel_y = 2;
- pixel_x = 4
- },
-/obj/machinery/camera/autoname/motion/directional/west,
-/turf/open/floor/iron/dark,
-/area/station/engineering/storage/tech)
"vkI" = (
/obj/effect/turf_decal/siding/wood{
dir = 6
},
/turf/open/floor/wood/tile,
/area/station/service/bar)
-"vkJ" = (
-/obj/item/book/manual/wiki/security_space_law{
- pixel_x = 9;
- pixel_y = 4
- },
-/obj/item/radio{
- pixel_x = -6;
- pixel_y = -3
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/closet/secure_closet/security/science,
-/turf/open/floor/iron/dark,
-/area/station/security/checkpoint/science)
"vkN" = (
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
@@ -63892,12 +64415,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white,
/area/station/science/auxlab/firing_range)
-"vkV" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/light/colour_cycle/dancefloor_b,
-/area/station/maintenance/starboard/central)
"vkW" = (
/obj/effect/turf_decal/tile/purple/opposingcorners,
/obj/structure/chair/office{
@@ -63925,6 +64442,15 @@
},
/turf/open/floor/plating,
/area/station/security/prison/safe)
+"vlp" = (
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/science/lower)
"vlq" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/chair/stool/directional/north,
@@ -63934,13 +64460,6 @@
},
/turf/open/floor/light/colour_cycle/dancefloor_b,
/area/station/maintenance/starboard/central)
-"vlr" = (
-/obj/structure/fermenting_barrel,
-/obj/structure/railing{
- dir = 1
- },
-/turf/open/floor/wood/large,
-/area/station/maintenance/department/science/xenobiology)
"vlB" = (
/obj/effect/turf_decal/sand/plating,
/obj/effect/decal/cleanable/dirt,
@@ -63956,6 +64475,7 @@
/area/station/maintenance/aft)
"vlX" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/chapel{
dir = 4
},
@@ -63968,6 +64488,10 @@
/obj/item/radio/intercom/chapel/directional/west,
/turf/open/floor/iron/terracotta/diagonal,
/area/station/service/chapel/office)
+"vmg" = (
+/obj/structure/lattice,
+/turf/open/space/basic,
+/area/station/maintenance/department/engine/atmos)
"vmh" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -63993,29 +64517,27 @@
/obj/machinery/airalarm/directional/west,
/turf/open/floor/iron/dark,
/area/station/engineering/storage/tcomms)
-"vmp" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
+"vmo" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
},
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron/dark,
-/area/station/science/genetics)
-"vmr" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/door/airlock{
- name = "Maintenance"
+/obj/machinery/chem_dispenser/drinks/beer{
+ dir = 1
},
-/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
-/turf/open/floor/plating,
-/area/station/maintenance/central/lesser)
+/obj/structure/table/wood/fancy/red,
+/turf/open/floor/wood/large,
+/area/station/maintenance/department/science/xenobiology)
"vmt" = (
/obj/structure/chair/stool/bamboo{
dir = 4
},
/turf/open/floor/iron/terracotta/diagonal,
/area/station/service/chapel/office)
+"vmx" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/security/checkpoint/science)
"vmB" = (
/obj/item/radio/intercom/directional/west,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
@@ -64032,12 +64554,6 @@
dir = 1
},
/area/station/service/chapel/office)
-"vmJ" = (
-/obj/machinery/holopad,
-/obj/effect/turf_decal/siding/corner,
-/obj/structure/cable,
-/turf/open/floor/iron/white,
-/area/station/science/cytology)
"vmL" = (
/obj/effect/turf_decal/sand/plating,
/turf/open/floor/plating/airless,
@@ -64057,18 +64573,18 @@
/obj/machinery/light/small/directional/north,
/turf/open/floor/wood,
/area/station/service/chapel/office)
+"vmZ" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/obj/machinery/light/small/directional/south,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/science/xenobiology)
"vne" = (
/turf/open/floor/wood,
/area/station/service/chapel/office)
-"vnf" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side,
-/area/station/science/lower)
"vni" = (
/obj/structure/closet/firecloset,
/obj/effect/turf_decal/stripes/line{
@@ -64183,10 +64699,12 @@
},
/turf/open/space/basic,
/area/space/nearstation)
-"vob" = (
-/obj/machinery/light/small/dim/directional/west,
-/turf/open/floor/plating,
-/area/station/maintenance/department/engine/atmos)
+"voa" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/structure/sign/warning/electric_shock,
+/obj/structure/cable,
+/turf/open/floor/engine,
+/area/station/science/cytology)
"voe" = (
/obj/structure/chair/sofa/bench/right{
dir = 1
@@ -64196,11 +64714,6 @@
/obj/machinery/light/small/directional/east,
/turf/open/floor/iron,
/area/station/security/tram)
-"voh" = (
-/obj/effect/landmark/event_spawn,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/white,
-/area/station/science/cytology)
"voj" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/obj/machinery/light/cold/directional/east,
@@ -64231,6 +64744,17 @@
/obj/structure/sign/nanotrasen,
/turf/closed/wall/r_wall,
/area/station/command/teleporter)
+"vpa" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/corner,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/side{
+ dir = 1
+ },
+/area/station/science/xenobiology)
"vpk" = (
/obj/structure/cable,
/turf/open/floor/iron/smooth,
@@ -64278,17 +64802,6 @@
/obj/machinery/light/small/directional/south,
/turf/open/floor/carpet,
/area/station/commons/dorms)
-"vpT" = (
-/obj/structure/chair/sofa/bench{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue,
-/obj/effect/landmark/start/assistant,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/dark/side,
-/area/station/hallway/primary/central/fore)
"vpZ" = (
/obj/effect/turf_decal/siding/yellow{
dir = 8
@@ -64338,26 +64851,31 @@
/obj/machinery/power/apc/worn_out/directional/east,
/turf/open/floor/iron,
/area/station/maintenance/hallway/abandoned_command)
+"vqM" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/maintenance/department/medical/central)
"vqU" = (
/obj/machinery/rnd/server/master,
/turf/open/floor/circuit,
/area/station/science/server)
-"vqX" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms,
-/obj/machinery/door/airlock/command/glass{
- name = "Telecommunications Server Room"
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/catwalk_floor/iron_dark,
-/area/station/tcommsat/server)
"vrf" = (
/obj/structure/hedge,
/obj/machinery/light/small/directional/north,
/turf/open/floor/wood,
/area/station/service/chapel/office)
+"vrg" = (
+/obj/machinery/light/floor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/small,
+/area/station/science/cubicle)
"vrh" = (
/obj/effect/turf_decal/siding/thinplating_new/dark{
dir = 1
@@ -64387,10 +64905,6 @@
},
/turf/open/floor/wood,
/area/station/security/detectives_office)
-"vrB" = (
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron/herringbone,
-/area/station/commons/dorms)
"vrO" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/grunge{
@@ -64448,8 +64962,21 @@
/obj/item/stack/sheet/iron/fifty,
/turf/open/floor/iron/dark/small,
/area/station/engineering/storage_shared)
-"vsi" = (
+"vsg" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/siding/dark/corner{
+ dir = 4
+ },
+/turf/open/floor/iron/dark/textured_half{
+ dir = 1
+ },
+/area/station/command/bridge)
+"vsi" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
/turf/open/floor/wood,
/area/station/commons/fitness/recreation)
"vso" = (
@@ -64461,30 +64988,42 @@
/obj/structure/extinguisher_cabinet/directional/west,
/turf/open/floor/iron/white,
/area/station/science/research)
+"vsp" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/machinery/camera/autoname/directional/east,
+/obj/machinery/status_display/ai/directional/east,
+/turf/open/floor/iron,
+/area/station/hallway/primary/aft)
+"vsq" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/chair/sofa/bench/right{
+ dir = 4
+ },
+/obj/machinery/light/small/directional/south,
+/turf/open/floor/iron,
+/area/station/maintenance/department/medical/central)
"vsx" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/tile/blue,
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
-"vsJ" = (
+"vsS" = (
/obj/structure/disposalpipe/segment{
- dir = 5
+ dir = 10
},
-/obj/machinery/firealarm/directional/south,
+/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/catwalk_floor/iron_white,
-/area/station/science/robotics/augments)
-"vsQ" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/obj/machinery/light_switch/directional/north,
-/obj/machinery/camera/autoname/directional/north,
-/turf/open/floor/iron/smooth,
-/area/station/maintenance/solars/starboard/aft)
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/fore)
"vsW" = (
/obj/structure/window/reinforced/spawner/directional/west,
/obj/effect/turf_decal/box/red/corners{
@@ -64495,13 +65034,18 @@
},
/turf/open/floor/engine,
/area/station/science/xenobiology)
-"vtd" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
+"vtc" = (
+/obj/structure/flora/bush/flowers_yw/style_3{
+ pixel_x = 3;
+ pixel_y = 2
},
-/turf/open/floor/iron,
-/area/station/hallway/secondary/dock)
+/obj/machinery/light/floor,
+/obj/effect/light_emitter/fake_outdoors,
+/obj/effect/turf_decal/siding/wood{
+ dir = 10
+ },
+/turf/open/floor/grass/airless,
+/area/station/hallway/primary/central/aft)
"vtr" = (
/obj/machinery/light/floor,
/turf/open/floor/wood/parquet,
@@ -64535,15 +65079,6 @@
/obj/machinery/duct,
/turf/open/floor/plating,
/area/station/maintenance/fore/greater)
-"vtU" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/button/door/directional/east{
- name = "Abandoned Lab Shutters";
- id = "abandoned_lab"
- },
-/obj/item/bot_assembly/medbot,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"vtX" = (
/obj/effect/landmark/start/assistant,
/obj/effect/turf_decal/tile/neutral,
@@ -64564,14 +65099,6 @@
/obj/item/fuel_pellet,
/turf/open/floor/iron/smooth,
/area/station/cargo/drone_bay)
-"vum" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
- },
-/obj/machinery/firealarm/directional/north,
-/turf/open/floor/iron/smooth,
-/area/station/maintenance/solars/starboard/aft)
"vun" = (
/obj/effect/turf_decal/siding/wood{
dir = 8
@@ -64603,16 +65130,6 @@
/obj/machinery/deepfryer,
/turf/open/floor/iron/kitchen/small,
/area/station/security/prison/mess)
-"vuB" = (
-/obj/machinery/door/airlock/research/glass{
- name = "Xenobiology Kill Room"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/xenobio,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/catwalk_floor/iron,
-/area/station/science/xenobiology)
"vuD" = (
/obj/structure/disposalpipe/segment{
dir = 6
@@ -64679,13 +65196,6 @@
},
/turf/open/floor/carpet,
/area/station/commons/dorms)
-"vve" = (
-/obj/structure/cable,
-/obj/machinery/door/airlock/public/glass{
- name = "Aft Corridor"
- },
-/turf/open/floor/iron/textured_half,
-/area/station/hallway/primary/aft)
"vvs" = (
/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
@@ -64717,6 +65227,14 @@
/obj/effect/mapping_helpers/airlock/access/any/engineering/general,
/turf/open/floor/catwalk_floor,
/area/station/engineering/break_room)
+"vvI" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/engineering/storage/tech)
"vvK" = (
/obj/structure/table,
/obj/effect/turf_decal/tile/green/fourcorners,
@@ -64743,6 +65261,16 @@
/obj/machinery/light/small/directional/east,
/turf/open/floor/wood,
/area/station/commons/fitness/recreation)
+"vwa" = (
+/obj/machinery/portable_atmospherics/canister,
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 8
+ },
+/turf/open/floor/iron/white/corner{
+ dir = 1
+ },
+/area/station/science/xenobiology)
"vwc" = (
/obj/structure/chair/comfy/brown{
buildstackamount = 0;
@@ -64766,22 +65294,27 @@
},
/turf/open/floor/iron/textured_half,
/area/station/hallway/primary/aft)
+"vwj" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "sci-entrance"
+ },
+/obj/machinery/door/airlock/research/glass{
+ name = "Smoking Lounge"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/general,
+/obj/machinery/door/firedoor,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/catwalk_floor/iron,
+/area/station/science/lower)
"vws" = (
/obj/structure/closet/firecloset,
/turf/open/floor/iron/small,
/area/station/maintenance/department/medical/central)
-"vwE" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 5
- },
-/obj/item/kirbyplants/random{
- pixel_y = 8
- },
-/obj/machinery/atmospherics/pipe/smart/simple/dark/hidden{
- dir = 8
- },
-/turf/open/floor/iron/grimy,
-/area/station/tcommsat/server)
"vwI" = (
/obj/structure/closet/secure_closet/hos,
/obj/item/clothing/shoes/cowboy/black,
@@ -64789,16 +65322,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/checker,
/area/station/command/heads_quarters/hos)
-"vwJ" = (
-/obj/item/radio/intercom/directional/south,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance)
"vwQ" = (
/obj/structure/table/reinforced/plastitaniumglass,
/obj/item/folder/red{
@@ -64836,6 +65359,10 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/fore)
+"vxl" = (
+/obj/structure/closet/secure_closet/personal,
+/turf/open/floor/iron,
+/area/station/commons/fitness/locker_room)
"vxm" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -64847,10 +65374,6 @@
/obj/effect/spawner/random/structure/crate,
/turf/open/floor/plating,
/area/station/maintenance/department/science/xenobiology)
-"vxs" = (
-/obj/effect/landmark/start/assistant,
-/turf/open/floor/iron,
-/area/station/commons/storage/art)
"vxt" = (
/turf/closed/wall,
/area/station/maintenance/department/engine)
@@ -64877,17 +65400,6 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/station/maintenance/department/electrical)
-"vyi" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 9
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/simple/dark/hidden,
-/turf/open/floor/wood/tile,
-/area/station/tcommsat/server)
"vym" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/structure/chair/office/light{
@@ -64896,6 +65408,22 @@
/obj/effect/landmark/start/geneticist,
/turf/open/floor/iron/dark,
/area/station/science/genetics)
+"vys" = (
+/obj/effect/turf_decal/siding/thinplating/terracotta/corner{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/commons/dorms)
+"vyD" = (
+/obj/item/radio/intercom/directional/north,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side{
+ dir = 1
+ },
+/area/station/science/research)
"vyF" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/structure/chair/sofa/bench/left{
@@ -64954,10 +65482,6 @@
/obj/structure/cable,
/turf/open/floor/iron/cafeteria,
/area/station/security/prison/mess)
-"vzD" = (
-/obj/effect/turf_decal/stripes/white/line,
-/turf/open/floor/iron/dark/side,
-/area/station/cargo/storage)
"vzE" = (
/obj/structure/window/spawner/directional/east,
/obj/structure/window/spawner/directional/west,
@@ -64977,14 +65501,6 @@
},
/turf/open/floor/engine/helium,
/area/station/ai_monitored/turret_protected/ai)
-"vzN" = (
-/obj/machinery/door/airlock/research/glass{
- name = "Cytology Lab"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/research,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/catwalk_floor/iron_white,
-/area/station/science/research)
"vzV" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -65012,6 +65528,12 @@
/obj/item/radio/intercom/directional/south,
/turf/open/floor/iron,
/area/station/security/tram)
+"vAk" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/firedoor,
+/turf/open/floor/iron/small,
+/area/station/hallway/primary/aft)
"vAl" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/table/wood,
@@ -65026,15 +65548,6 @@
/obj/effect/turf_decal/tile/dark_red/fourcorners,
/turf/open/floor/iron,
/area/station/security/execution/transfer)
-"vAw" = (
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/neutral,
-/obj/structure/extinguisher_cabinet/directional/east,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"vAx" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 8
@@ -65073,6 +65586,11 @@
/obj/machinery/door/firedoor,
/turf/open/floor/iron/white/textured_half,
/area/station/science/lobby)
+"vBa" = (
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/structure/cable,
+/turf/open/floor/wood,
+/area/station/commons/fitness/recreation)
"vBG" = (
/obj/structure/table,
/obj/machinery/microwave{
@@ -65087,6 +65605,13 @@
},
/turf/open/floor/iron/dark,
/area/station/security/office)
+"vBS" = (
+/obj/structure/chair{
+ pixel_y = -2
+ },
+/obj/machinery/light/small/directional/west,
+/turf/open/floor/iron/dark/small,
+/area/station/security/checkpoint/customs/auxiliary)
"vCc" = (
/obj/machinery/door/airlock/public/glass{
name = "Lockers"
@@ -65108,6 +65633,13 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
+"vCl" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/engineering/storage/tcomms)
"vCm" = (
/obj/structure/railing{
dir = 1
@@ -65128,19 +65660,16 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/stone,
/area/station/service/abandoned_gambling_den)
-"vCs" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/obj/structure/cable,
-/obj/structure/window/reinforced/spawner/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/science/xenobiology)
"vCu" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/kitchen/small,
/area/station/service/kitchen)
+"vCL" = (
+/obj/effect/turf_decal/trimline/blue/filled/corner{
+ dir = 1
+ },
+/turf/open/floor/iron/white,
+/area/station/medical/treatment_center)
"vCO" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/white,
@@ -65154,12 +65683,6 @@
/obj/machinery/camera/autoname/directional/north,
/turf/open/floor/iron/smooth_large,
/area/station/science/ordnance/storage)
-"vCZ" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/neutral,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"vDe" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/obj/structure/cable,
@@ -65176,13 +65699,6 @@
/obj/machinery/shower/directional/south,
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
-"vDC" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random/trash,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/central)
"vDG" = (
/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{
dir = 4
@@ -65219,13 +65735,23 @@
/obj/item/kirbyplants/random,
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
-"vEm" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
+"vEn" = (
+/obj/effect/turf_decal/tile/blue,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 4
+ dir = 1
},
+/turf/open/floor/iron/white/corner{
+ dir = 8
+ },
+/area/station/hallway/secondary/dock)
+"vEq" = (
+/obj/machinery/airalarm/directional/east,
+/obj/effect/turf_decal/trimline/dark_blue/filled/line{
+ dir = 10
+ },
+/obj/machinery/vending/wardrobe/coroner_wardrobe,
/turf/open/floor/iron/dark,
-/area/station/engineering/storage/tcomms)
+/area/station/medical/morgue)
"vEz" = (
/obj/effect/turf_decal/siding/wood{
dir = 1
@@ -65247,6 +65773,13 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/station/maintenance/department/engine)
+"vEG" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/structure/steam_vent,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/central)
"vEL" = (
/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{
dir = 4
@@ -65272,14 +65805,12 @@
"vEW" = (
/turf/closed/wall/r_wall,
/area/station/security/prison/shower)
-"vFh" = (
-/obj/effect/landmark/blobstart,
-/obj/effect/turf_decal/siding/wood{
- dir = 1
- },
+"vFb" = (
+/obj/structure/broken_flooring/corner/directional/south,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/grimy,
-/area/station/maintenance/starboard/central)
+/turf/open/floor/plating,
+/area/station/hallway/secondary/dock)
"vFm" = (
/obj/effect/turf_decal/siding/blue,
/obj/machinery/duct,
@@ -65293,6 +65824,11 @@
/obj/structure/sign/poster/official/no_erp/directional/east,
/turf/open/floor/iron/grimy,
/area/station/maintenance/starboard/central)
+"vFo" = (
+/obj/structure/window/reinforced/spawner/directional/north,
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/ai_monitored/turret_protected/ai_upload)
"vFu" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/mapping_helpers/broken_floor,
@@ -65306,14 +65842,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"vFB" = (
-/obj/machinery/door/airlock{
- name = "Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/general,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"vFD" = (
/obj/structure/chair/sofa/bench{
dir = 4
@@ -65327,6 +65855,16 @@
dir = 1
},
/area/station/hallway/secondary/exit/departure_lounge)
+"vFE" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical/central)
"vFG" = (
/obj/machinery/computer/rdservercontrol{
dir = 8
@@ -65352,23 +65890,20 @@
/obj/item/storage/lockbox/loyalty,
/turf/open/floor/iron,
/area/station/security/tram)
-"vGe" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red/opposingcorners,
-/obj/effect/turf_decal/tile/blue/opposingcorners{
- dir = 8
- },
-/obj/effect/landmark/start/clown,
-/turf/open/floor/iron/smooth,
-/area/station/service/greenroom)
"vGp" = (
/obj/structure/table/wood,
/obj/machinery/light/small/red/dim/directional/south,
/obj/item/flashlight/flare/candle,
/turf/open/floor/iron/terracotta/diagonal,
/area/station/service/chapel/office)
+"vGv" = (
+/obj/structure/rack,
+/obj/effect/spawner/random/techstorage/engineering_all,
+/obj/effect/turf_decal/tile/yellow/opposingcorners,
+/obj/effect/turf_decal/bot,
+/obj/machinery/light/small/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/engineering/storage/tech)
"vGz" = (
/obj/machinery/door/airlock{
name = "Maintenance"
@@ -65400,18 +65935,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"vGX" = (
-/obj/structure/disposaloutlet{
- desc = "An outlet for the pneumatic disposal system. This one seems designed for rapid corpse disposal.";
- name = "rapid corpse mover 9000";
- dir = 4
- },
-/obj/structure/disposalpipe/trunk{
- dir = 1
- },
-/obj/structure/window/reinforced/spawner/directional/north,
-/turf/open/floor/plating,
-/area/station/medical/morgue)
"vHu" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/obj/structure/closet/secure_closet/security/sec,
@@ -65424,16 +65947,22 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
-"vHH" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+"vHC" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/item/kirbyplants/random,
-/obj/effect/turf_decal/siding/thinplating_new{
- dir = 8
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 1
},
-/turf/open/floor/iron/dark/herringbone,
-/area/station/security/courtroom)
+/obj/effect/turf_decal/trimline/neutral/line,
+/obj/machinery/navbeacon{
+ codes_txt = "patrol;next_patrol=9.0-StarboardHall-ScienceFoyer";
+ location = "8.0-Pharmacy-StarboardHall"
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
"vHT" = (
/obj/effect/turf_decal/box/red/corners{
dir = 8
@@ -65462,15 +65991,9 @@
},
/turf/open/floor/wood,
/area/station/engineering/atmos/office)
-"vIa" = (
-/obj/effect/turf_decal/siding/dark_blue{
- dir = 5
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/turf/open/floor/iron/dark,
-/area/station/medical/morgue)
"vId" = (
-/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white/corner,
/area/station/science/lower)
"vIt" = (
@@ -65483,18 +66006,10 @@
/turf/open/floor/iron,
/area/station/maintenance/starboard/aft)
"vIz" = (
-/obj/structure/chair,
-/turf/open/floor/wood/tile,
-/area/station/command/meeting_room)
-"vIC" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/central/lesser)
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance)
"vIJ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/door/firedoor,
@@ -65506,6 +66021,13 @@
},
/turf/open/floor/iron/small,
/area/station/hallway/primary/central/fore)
+"vIW" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/airalarm/directional/north,
+/turf/open/floor/iron,
+/area/station/maintenance/department/medical/central)
"vIX" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -65586,23 +66108,6 @@
dir = 1
},
/area/station/hallway/secondary/entry)
-"vJR" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/door/airlock/medical{
- name = "Medbay"
- },
-/obj/effect/turf_decal/delivery/red,
-/obj/machinery/door/firedoor,
-/obj/effect/mapping_helpers/airlock/unres{
- dir = 8
- },
-/obj/effect/mapping_helpers/airlock/access/all/medical/general,
-/turf/open/floor/iron/dark/small,
-/area/station/medical/medbay/central)
"vJV" = (
/obj/machinery/door/airlock/security/glass{
name = "Security Desk"
@@ -65620,12 +66125,6 @@
"vKb" = (
/turf/open/floor/iron/dark,
/area/station/medical/medbay/lobby)
-"vKe" = (
-/obj/effect/mapping_helpers/broken_floor,
-/obj/machinery/power/smes/full,
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/hallway/secondary/construction)
"vKi" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/red/half/contrasted{
@@ -65665,16 +66164,6 @@
/obj/machinery/power/apc/auto_name/directional/east,
/turf/open/floor/iron/dark/small,
/area/station/security/detectives_office)
-"vKX" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 10
- },
-/obj/machinery/camera/directional/west,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/wood/tile,
-/area/station/science/lower)
"vKY" = (
/obj/effect/turf_decal/tile/yellow/half/contrasted{
dir = 8
@@ -65721,18 +66210,6 @@
/obj/item/gavelhammer,
/turf/open/floor/plating,
/area/station/maintenance/central/lesser)
-"vLH" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/door/airlock/research{
- name = "Augment Corridor"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/robotics,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/catwalk_floor/iron_white,
-/area/station/science/robotics/augments)
"vLQ" = (
/obj/structure/disposalpipe/trunk{
dir = 8
@@ -65752,11 +66229,14 @@
/obj/effect/turf_decal/box/white,
/turf/open/floor/engine,
/area/station/engineering/atmospherics_engine)
-"vMi" = (
-/obj/machinery/atmospherics/pipe/smart/simple/purple/visible,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance)
+"vMo" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/public/glass{
+ name = "Recreation"
+ },
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/recreation)
"vMr" = (
/obj/effect/turf_decal/sand/plating,
/obj/structure/alien/weeds,
@@ -65788,25 +66268,24 @@
},
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
+"vMH" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/dark/side{
+ dir = 8
+ },
+/area/station/engineering/storage/tech)
"vMI" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/airalarm/directional/west,
/turf/open/floor/iron/dark,
/area/station/engineering/atmospherics_engine)
-"vMJ" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/sorting/mail,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/yellow{
- dir = 8
- },
-/turf/open/floor/iron/white/corner{
- dir = 1
- },
-/area/station/hallway/primary/aft)
"vMP" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -65828,6 +66307,15 @@
/obj/structure/tram,
/turf/open/floor/tram,
/area/station/security/tram)
+"vNe" = (
+/obj/machinery/light/small/directional/north,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side{
+ dir = 5
+ },
+/area/station/science/research)
"vNq" = (
/obj/machinery/washing_machine,
/obj/effect/turf_decal/tile/blue/opposingcorners{
@@ -65873,15 +66361,6 @@
/obj/structure/cable,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
-"vOf" = (
-/obj/structure/chair{
- dir = 1;
- pixel_y = -2
- },
-/obj/machinery/firealarm/directional/south,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/science/lower)
"vOg" = (
/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden,
/turf/closed/wall/r_wall,
@@ -65891,13 +66370,11 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/smooth,
/area/station/commons/storage/tools)
-"vOt" = (
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
+"vOr" = (
/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/showroomfloor,
+/area/station/commons/toilet/auxiliary)
"vOL" = (
/obj/structure/railing{
dir = 1
@@ -65913,6 +66390,16 @@
dir = 8
},
/area/station/engineering/main)
+"vOZ" = (
+/obj/structure/table/glass,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/light/small/directional/south,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/station/service/lawoffice)
"vPa" = (
/obj/effect/turf_decal/siding{
dir = 5
@@ -65930,15 +66417,15 @@
/obj/structure/flora/bush/flowers_pp/style_random,
/turf/open/floor/grass,
/area/station/science/genetics)
-"vPs" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/structure/sign/departments/medbay/alt/directional/west,
-/turf/open/floor/iron,
-/area/station/hallway/primary/aft)
+"vPh" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
+"vPu" = (
+/obj/machinery/airalarm/directional/south,
+/obj/structure/cable,
+/turf/open/floor/wood,
+/area/station/commons/fitness/recreation)
"vPw" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -65960,31 +66447,11 @@
"vPP" = (
/turf/closed/wall,
/area/station/command/corporate_suite)
-"vPS" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/mapping_helpers/broken_floor,
-/obj/effect/spawner/random/trash,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/central)
"vQk" = (
/obj/effect/spawner/random/structure/crate,
/obj/machinery/computer/security/telescreen/entertainment/directional/east,
/turf/open/floor/iron,
/area/station/hallway/secondary/dock)
-"vQm" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/structure/sign/poster/official/report_crimes/directional/north,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"vQp" = (
/obj/effect/turf_decal/tile/blue/fourcorners,
/obj/structure/chair/sofa/bench/right{
@@ -66021,6 +66488,15 @@
/obj/structure/sign/poster/official/random/directional/east,
/turf/open/floor/eighties/red,
/area/station/hallway/primary/central/fore)
+"vQK" = (
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side,
+/area/station/science/lower)
"vRc" = (
/obj/effect/turf_decal/loading_area/white,
/turf/open/floor/iron,
@@ -66038,6 +66514,16 @@
/obj/machinery/status_display/ai/directional/north,
/turf/open/floor/iron/smooth,
/area/station/ai_monitored/turret_protected/aisat_interior)
+"vRh" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side{
+ dir = 1
+ },
+/area/station/science/research)
+"vRo" = (
+/turf/open/floor/iron/dark,
+/area/station/medical/morgue)
"vRt" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -66086,11 +66572,6 @@
/obj/effect/turf_decal/siding/wideplating,
/turf/open/floor/wood,
/area/station/engineering/atmos/pumproom)
-"vSw" = (
-/obj/structure/cable,
-/obj/effect/landmark/start/hangover,
-/turf/open/floor/iron,
-/area/station/hallway/primary/aft)
"vSx" = (
/obj/structure/table/reinforced,
/obj/item/kitchen/fork/plastic,
@@ -66099,13 +66580,17 @@
},
/turf/open/floor/iron/kitchen/small,
/area/station/security/prison/mess)
-"vSI" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+"vSz" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/structure/table/reinforced/plastitaniumglass,
+/obj/machinery/computer/records/medical/laptop{
+ dir = 8;
+ pixel_y = 1
+ },
+/obj/machinery/light/small/directional/east,
/obj/structure/cable,
-/obj/machinery/door/firedoor,
-/turf/open/floor/iron/small,
-/area/station/service/bar)
+/turf/open/floor/iron/dark,
+/area/station/command/corporate_dock)
"vSL" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/neutral{
@@ -66116,21 +66601,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
-"vSM" = (
-/obj/machinery/door/airlock/command{
- name = "Telecomms Server Room"
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms,
-/obj/machinery/door/firedoor,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "comms-entrance-north"
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/catwalk_floor/iron_dark,
-/area/station/tcommsat/server)
"vSW" = (
/obj/effect/spawner/random/engineering/atmospherics_portable,
/turf/open/floor/plating,
@@ -66142,28 +66612,6 @@
},
/turf/open/floor/iron,
/area/station/commons/storage/art)
-"vTf" = (
-/obj/machinery/air_sensor/ordnance_freezer_chamber,
-/obj/machinery/atmospherics/pipe/heat_exchanging/simple/layer2{
- dir = 9
- },
-/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible{
- dir = 4
- },
-/turf/open/floor/engine/vacuum,
-/area/station/science/ordnance/freezerchamber)
-"vTg" = (
-/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms,
-/obj/machinery/door/airlock/command/glass{
- name = "Telecommunications Server Room"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "comms-entrance-north"
- },
-/obj/structure/cable,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/catwalk_floor/iron_dark,
-/area/station/tcommsat/server)
"vTj" = (
/obj/effect/spawner/random/maintenance,
/obj/effect/decal/cleanable/dirt/dust,
@@ -66194,6 +66642,12 @@
/obj/machinery/light_switch/directional/south,
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
+"vTv" = (
+/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance)
"vTx" = (
/obj/structure/table,
/obj/effect/decal/cleanable/dirt,
@@ -66325,6 +66779,13 @@
/obj/machinery/airalarm/directional/south,
/turf/open/floor/iron/smooth,
/area/station/security/checkpoint/escape)
+"vVw" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/turf/open/floor/iron/herringbone,
+/area/station/commons/dorms)
"vVx" = (
/obj/machinery/hydroponics/soil,
/obj/item/food/grown/mushroom/plumphelmet,
@@ -66380,26 +66841,16 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/commons/fitness/recreation/entertainment)
-"vVX" = (
-/obj/machinery/telecomms/processor/preset_one,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/turf/open/floor/circuit,
-/area/station/tcommsat/server)
-"vWa" = (
-/obj/effect/landmark/start/coroner,
-/obj/machinery/holopad,
-/obj/effect/turf_decal/trimline/dark_blue/filled/line{
- dir = 2
- },
-/turf/open/floor/iron/dark,
-/area/station/medical/morgue)
-"vWe" = (
-/obj/machinery/firealarm/directional/west,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+"vWp" = (
+/obj/effect/turf_decal/tile/brown/opposingcorners,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/corner,
-/area/station/science/lobby)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/effect/landmark/atmospheric_sanity/ignore_area,
+/obj/machinery/camera/autoname/motion/directional/west,
+/turf/open/floor/iron,
+/area/station/engineering/hallway)
"vWr" = (
/obj/machinery/door/airlock/security/glass{
id_tag = "permaouter";
@@ -66442,12 +66893,6 @@
/obj/machinery/firealarm/directional/south,
/turf/open/floor/iron,
/area/station/cargo/miningoffice)
-"vWC" = (
-/obj/effect/spawner/random/structure/crate_abandoned,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"vWF" = (
/obj/docking_port/stationary/laborcamp_home/kilo{
dir = 4
@@ -66490,14 +66935,6 @@
/obj/item/clothing/gloves/boxing/blue,
/turf/open/floor/iron,
/area/station/security/prison/workout)
-"vXc" = (
-/obj/effect/turf_decal/trimline/dark/line,
-/obj/effect/turf_decal/trimline/dark/corner{
- dir = 1
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron/dark/small,
-/area/station/maintenance/department/science/xenobiology)
"vXd" = (
/obj/item/flashlight/lantern/on,
/obj/effect/turf_decal/siding/wood,
@@ -66512,6 +66949,12 @@
/obj/item/reagent_containers/cup/bowl,
/turf/open/floor/iron/cafeteria,
/area/station/security/prison/mess)
+"vXm" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/recreation)
"vXr" = (
/obj/structure/disposalpipe/segment{
dir = 6
@@ -66542,11 +66985,6 @@
dir = 8
},
/area/station/science/lobby)
-"vXH" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/science/lower)
"vXL" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -66558,13 +66996,14 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/security)
-"vYi" = (
-/obj/machinery/airalarm/directional/south,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/diagonal,
-/area/station/ai_monitored/command/storage/eva)
+"vYf" = (
+/obj/structure/table/reinforced,
+/obj/machinery/light_switch/directional/west,
+/obj/item/crowbar,
+/obj/item/wrench,
+/obj/item/pai_card,
+/turf/open/floor/iron/dark,
+/area/station/engineering/storage/tech)
"vYj" = (
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt,
@@ -66583,6 +67022,14 @@
/obj/effect/spawner/structure/window/reinforced/tinted,
/turf/open/floor/plating,
/area/station/security/courtroom)
+"vYC" = (
+/obj/effect/turf_decal/weather/snow,
+/obj/machinery/gibber,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 9
+ },
+/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+/area/station/service/kitchen/coldroom)
"vYD" = (
/obj/effect/turf_decal/siding/red{
dir = 5
@@ -66612,28 +67059,12 @@
},
/turf/open/floor/iron/dark/herringbone,
/area/station/security/courtroom)
-"vYL" = (
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/machinery/firealarm/directional/west,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side{
- dir = 10
- },
-/area/station/science/research)
"vYO" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/checker,
/area/station/security/breakroom)
-"vYS" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/grimy,
-/area/station/maintenance/starboard/central)
"vYT" = (
/obj/structure/table,
/obj/item/pen{
@@ -66664,15 +67095,17 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"vZf" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/layer_manifold/supply/visible,
-/turf/open/floor/plating,
-/area/station/science/ordnance/testlab)
"vZm" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/turf/open/floor/iron,
/area/station/security/processing)
+"vZt" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 9
+ },
+/turf/open/floor/iron/white,
+/area/station/medical/treatment_center)
"vZu" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -66714,12 +67147,17 @@
},
/turf/open/floor/iron/cafeteria,
/area/station/hallway/secondary/exit/departure_lounge)
-"vZX" = (
-/obj/structure/table,
-/obj/effect/turf_decal/tile/red/fourcorners,
-/obj/item/folder/red,
-/turf/open/floor/iron,
-/area/station/security/courtroom)
+"wal" = (
+/obj/structure/flora/bush/flowers_br/style_random{
+ pixel_x = -3;
+ pixel_y = 4
+ },
+/obj/effect/light_emitter/fake_outdoors,
+/obj/effect/turf_decal/siding/wood{
+ dir = 6
+ },
+/turf/open/floor/grass/airless,
+/area/station/hallway/primary/central/aft)
"wap" = (
/obj/structure/railing{
dir = 1
@@ -66732,12 +67170,6 @@
dir = 8
},
/area/station/engineering/break_room)
-"wat" = (
-/obj/effect/turf_decal/siding/thinplating_new/dark{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/security/courtroom)
"waD" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable,
@@ -66776,14 +67208,6 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/iron,
/area/station/command/heads_quarters/ce)
-"waY" = (
-/obj/effect/turf_decal/weather/snow,
-/obj/machinery/gibber,
-/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
- dir = 9
- },
-/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
-/area/station/service/kitchen/coldroom)
"wbd" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -66813,6 +67237,17 @@
dir = 1
},
/area/station/science/lower)
+"wbq" = (
+/obj/machinery/door/airlock{
+ name = "Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
+/obj/effect/mapping_helpers/airlock/unres{
+ dir = 4
+ },
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/lesser)
"wbt" = (
/obj/structure/disposalpipe/segment,
/obj/structure/closet/secure_closet/quartermaster,
@@ -66822,33 +67257,31 @@
},
/turf/open/floor/carpet/red,
/area/station/command/heads_quarters/qm)
+"wbu" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/siding{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/small,
+/area/station/science/lobby)
"wbH" = (
/obj/machinery/holopad,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/wood,
/area/station/service/chapel/office)
-"wbO" = (
-/obj/effect/turf_decal/siding{
- dir = 6
- },
-/obj/machinery/firealarm/directional/south,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
+"wco" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/small,
-/area/station/science/lab)
+/turf/open/floor/iron/white/side{
+ dir = 4
+ },
+/area/station/science/research)
"wcp" = (
/turf/closed/wall/r_wall,
/area/station/science/genetics)
-"wcq" = (
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on,
-/turf/open/floor/iron/white/small,
-/area/station/science/server)
"wcs" = (
/obj/effect/spawner/random/structure/closet_maintenance,
/obj/effect/spawner/random/maintenance,
@@ -66877,27 +67310,6 @@
},
/turf/open/floor/iron/cafeteria,
/area/station/hallway/secondary/exit/departure_lounge)
-"wcP" = (
-/obj/machinery/modular_computer/preset/cargochat/cargo,
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
-"wcR" = (
-/obj/structure/chair{
- pixel_y = -2
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/machinery/airalarm/directional/north,
-/obj/effect/landmark/start/hangover,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/recreation)
-"wcT" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/small,
-/area/station/science/cubicle)
"wcV" = (
/obj/structure/closet/crate,
/obj/item/food/breadslice/plain,
@@ -66910,20 +67322,6 @@
/obj/machinery/light/cold/directional/north,
/turf/open/floor/iron/kitchen/small,
/area/station/security/prison/mess)
-"wcY" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible,
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/button/door/directional/west{
- id = "engsm";
- name = "Radiation Shutters Control";
- req_access = list("engineering")
- },
-/obj/structure/cable,
-/obj/machinery/meter,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"wdk" = (
/turf/closed/mineral/random/stationside,
/area/station/maintenance/starboard/greater)
@@ -66942,13 +67340,6 @@
},
/turf/open/space/basic,
/area/space/nearstation)
-"wdS" = (
-/obj/machinery/camera/autoname/directional/west,
-/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{
- dir = 4
- },
-/turf/open/floor/circuit,
-/area/station/tcommsat/server)
"wdY" = (
/obj/effect/spawner/random/structure/table,
/turf/open/floor/plating,
@@ -66962,21 +67353,22 @@
},
/turf/open/floor/iron/smooth_large,
/area/station/science/robotics/mechbay)
-"wed" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/door/airlock/research{
- name = "Augment Corridor"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/robotics,
-/obj/machinery/door/firedoor,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/catwalk_floor/iron_white,
-/area/station/science/robotics/augments)
"wen" = (
/turf/closed/wall,
/area/station/ai_monitored/turret_protected/aisat/maint)
+"wer" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/aft)
"weA" = (
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
dir = 8
@@ -67016,20 +67408,32 @@
"wfn" = (
/turf/closed/wall,
/area/station/engineering/break_room)
-"wfp" = (
-/obj/structure/closet/firecloset,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/bot,
-/turf/open/floor/iron,
-/area/station/maintenance/department/science/xenobiology)
"wfr" = (
/turf/closed/wall/r_wall,
/area/station/medical/pharmacy)
+"wft" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical/central)
"wfG" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/firealarm/directional/west,
/turf/open/floor/iron,
/area/station/maintenance/hallway/abandoned_command)
+"wfP" = (
+/obj/machinery/airalarm/directional/north,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
"wgj" = (
/obj/structure/table,
/obj/item/stack/sheet/iron/fifty,
@@ -67039,17 +67443,26 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/wood,
/area/station/service/chapel/office)
-"wgp" = (
-/obj/structure/cable,
-/obj/machinery/holopad,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/iron/smooth,
-/area/station/hallway/secondary/command)
+"wgr" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/obj/item/radio/intercom/command/directional/north,
+/obj/effect/turf_decal/siding/dark/corner,
+/turf/open/floor/iron/edge{
+ dir = 8
+ },
+/area/station/engineering/storage/tech)
"wgs" = (
/obj/structure/rack,
/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
+"wgt" = (
+/obj/effect/landmark/generic_maintenance_landmark,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/turf/open/floor/iron/grimy,
+/area/station/commons/vacant_room/office)
"wgv" = (
/obj/structure/railing{
dir = 1
@@ -67102,6 +67515,23 @@
/obj/effect/turf_decal/weather,
/turf/open/floor/plating,
/area/station/service/chapel/office)
+"wgO" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/airalarm/directional/east,
+/obj/machinery/computer/atmos_control/ordnancemix{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/dark/visible,
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance)
+"wgW" = (
+/obj/machinery/status_display/ai/directional/north,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side{
+ dir = 1
+ },
+/area/station/science/research)
"wha" = (
/obj/effect/turf_decal/siding/wood{
dir = 4
@@ -67146,25 +67576,6 @@
},
/turf/open/floor/plating,
/area/station/engineering/supermatter/room)
-"whu" = (
-/obj/machinery/blackbox_recorder,
-/obj/structure/cable,
-/turf/open/floor/circuit,
-/area/station/tcommsat/server)
-"whA" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/maintenance_hatch{
- name = "Construction Hatch"
- },
-/obj/effect/mapping_helpers/airlock/access/any/engineering/construction,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/dock)
"whD" = (
/obj/machinery/research/anomaly_refinery,
/turf/open/floor/iron/white/small,
@@ -67205,22 +67616,12 @@
/obj/effect/mapping_helpers/airlock/unres,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
-"whZ" = (
-/obj/machinery/atmospherics/components/trinary/filter/flipped/critical,
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
+"wig" = (
+/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
-"wie" = (
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 1
- },
-/obj/effect/spawner/random/vending/colavend,
-/obj/machinery/firealarm/directional/south,
-/turf/open/floor/iron/dark/side,
-/area/station/cargo/lobby)
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/maintenance/department/science/xenobiology)
"win" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -67246,26 +67647,20 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"wiO" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/grimy,
-/area/station/commons/vacant_room/office)
"wiP" = (
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/space/nearstation)
-"wja" = (
-/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/ordnance_burn_chamber_input,
-/turf/open/floor/engine/vacuum,
-/area/station/science/ordnance/burnchamber)
-"wjq" = (
-/obj/structure/sign/painting/large/library{
+"wjk" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/turf_decal/stripes/corner{
dir = 1
},
-/turf/open/floor/iron,
-/area/station/commons/fitness/locker_room)
+/obj/structure/cable,
+/obj/structure/window/reinforced/spawner/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/science/xenobiology)
"wjr" = (
/obj/structure/tank_holder/extinguisher,
/turf/open/floor/iron/white,
@@ -67311,24 +67706,26 @@
/obj/machinery/light/small/directional/east,
/turf/open/floor/iron/dark,
/area/station/engineering/atmospherics_engine)
-"wkq" = (
-/obj/structure/cable,
-/turf/closed/wall/r_wall,
-/area/station/command/meeting_room)
"wkF" = (
/obj/effect/spawner/structure/window/reinforced/tinted,
/turf/open/floor/plating,
/area/station/hallway/secondary/recreation)
-"wkG" = (
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/obj/effect/decal/cleanable/dirt,
+"wkX" = (
+/obj/item/kirbyplants/random,
+/obj/machinery/light_switch/directional/west,
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/fore)
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/machinery/light/small/directional/north,
+/turf/open/floor/iron,
+/area/station/construction/mining/aux_base)
+"wkY" = (
+/obj/structure/closet/secure_closet/engineering_chief,
+/obj/item/storage/briefcase/secure,
+/obj/item/lighter,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/machinery/newscaster/directional/west,
+/turf/open/floor/wood,
+/area/station/command/heads_quarters/ce)
"wla" = (
/obj/effect/landmark/generic_maintenance_landmark,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -67340,13 +67737,33 @@
},
/turf/open/floor/engine,
/area/station/science/xenobiology)
-"wlo" = (
+"wlr" = (
+/obj/structure/reagent_dispensers/watertank,
/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/bot{
dir = 1
},
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/turf/open/floor/iron/dark/diagonal,
-/area/station/ai_monitored/command/storage/eva)
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
+"wlB" = (
+/obj/effect/mapping_helpers/broken_floor,
+/obj/machinery/door/airlock{
+ id_tag = "AuxToilet2";
+ name = "Unit 2"
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/station/maintenance/department/science/xenobiology)
+"wmb" = (
+/obj/structure/cable,
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/red/line,
+/obj/effect/turf_decal/stripes/red/line{
+ dir = 1
+ },
+/turf/open/floor/iron/small,
+/area/station/hallway/primary/starboard)
"wme" = (
/obj/effect/spawner/random/structure/crate,
/turf/open/floor/plating,
@@ -67356,16 +67773,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/dark,
/area/station/engineering/atmospherics_engine)
-"wmu" = (
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/obj/structure/fireaxecabinet/directional/east,
-/obj/effect/turf_decal/siding/dark{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/dark/textured,
-/area/station/command/meeting_room)
"wmx" = (
/obj/structure/cable,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
@@ -67390,13 +67797,6 @@
/obj/machinery/computer/security/telescreen/entertainment/directional/north,
/turf/open/floor/iron,
/area/station/hallway/secondary/dock)
-"wmD" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical/central)
"wmE" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -67438,6 +67838,13 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
+"wmZ" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/smooth,
+/area/station/engineering/main)
"wnd" = (
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
@@ -67486,19 +67893,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/maintenance/department/medical/central)
-"wnI" = (
-/obj/machinery/door/airlock/glass,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/greater)
-"wnO" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side{
- dir = 1
- },
-/area/station/science/research)
"wnR" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -67517,9 +67911,21 @@
/obj/machinery/light/cold/directional/north,
/turf/open/floor/iron/dark/small,
/area/station/medical/chemistry)
+"woc" = (
+/obj/structure/fermenting_barrel,
+/obj/structure/railing{
+ dir = 1
+ },
+/turf/open/floor/wood/large,
+/area/station/maintenance/department/science/xenobiology)
"woi" = (
/turf/closed/wall/r_wall,
/area/station/maintenance/solars/starboard/fore)
+"wow" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
"woz" = (
/obj/machinery/power/apc/auto_name/directional/east,
/obj/machinery/camera/autoname/directional/east,
@@ -67538,10 +67944,7 @@
dir = 4
},
/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/simple/dark/hidden{
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 8
},
/turf/open/floor/wood/tile,
@@ -67578,13 +67981,6 @@
/obj/machinery/disposal/bin/tagger,
/turf/open/floor/iron/dark,
/area/station/security/office)
-"woT" = (
-/obj/effect/turf_decal/tile/blue/fourcorners,
-/obj/structure/chair/sofa/bench/left{
- dir = 8
- },
-/turf/open/floor/iron/white,
-/area/station/medical/medbay/lobby)
"woY" = (
/obj/structure/chair/stool/directional/south,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -67621,19 +68017,6 @@
"wpO" = (
/turf/closed/wall/r_wall,
/area/station/security/processing)
-"wqb" = (
-/obj/effect/turf_decal/siding/white{
- dir = 4
- },
-/obj/machinery/requests_console/directional/east{
- department = "Xenobiology";
- name = "Xenobiology Requests Console"
- },
-/obj/effect/mapping_helpers/requests_console/ore_update,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/small,
-/area/station/science/xenobiology)
"wqj" = (
/turf/closed/wall,
/area/station/commons/toilet/restrooms)
@@ -67675,11 +68058,20 @@
},
/turf/open/floor/wood,
/area/station/engineering/main)
-"wqY" = (
-/obj/machinery/camera/autoname/directional/east,
-/obj/machinery/light/small/directional/east,
-/turf/open/floor/iron/dark,
-/area/station/security/prison/workout)
+"wqZ" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/corner{
+ dir = 1
+ },
+/area/station/hallway/secondary/dock)
"wrj" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -67715,6 +68107,15 @@
/obj/structure/sign/poster/official/random/directional/east,
/turf/open/floor/iron/white/small,
/area/station/commons/toilet/restrooms)
+"wry" = (
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/small,
+/area/station/commons/fitness/locker_room)
"wrD" = (
/obj/structure/disposalpipe/segment{
dir = 9
@@ -67723,16 +68124,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/maintenance/starboard/aft)
-"wrF" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
- },
-/obj/structure/cable,
-/obj/effect/turf_decal/trimline/neutral/end{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/aft)
"wrO" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
@@ -67751,41 +68142,13 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/carpet/lone,
/area/station/service/abandoned_gambling_den)
-"wrW" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/computer/security{
- dir = 8
+"wrT" = (
+/obj/machinery/camera/autoname/directional/north,
+/obj/machinery/atmospherics/pipe/smart/simple/general/visible{
+ dir = 6
},
-/obj/machinery/camera/directional/east,
-/obj/machinery/power/apc/auto_name/directional/east,
-/obj/structure/cable,
-/obj/machinery/light_switch/directional/south,
/turf/open/floor/iron/dark,
-/area/station/command/corporate_dock)
-"wrZ" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/central/lesser)
-"wsa" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/obj/structure/window/reinforced/spawner/directional/west,
-/obj/effect/turf_decal/tile/red/anticorner/contrasted{
- dir = 8
- },
-/obj/item/kirbyplants/random,
-/obj/effect/turf_decal/siding/thinplating_new/dark/corner{
- dir = 8
- },
-/turf/open/floor/iron/smooth,
-/area/station/security/checkpoint/customs/auxiliary)
+/area/station/science/ordnance/testlab)
"wsb" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -67798,16 +68161,18 @@
/obj/effect/spawner/random/engineering/toolbox,
/turf/open/floor/catwalk_floor/iron,
/area/station/maintenance/department/medical/central)
-"wsG" = (
+"wsD" = (
+/obj/effect/decal/cleanable/glass,
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/dark_red{
- dir = 1
+/turf/open/floor/eighties,
+/area/station/service/abandoned_gambling_den/gaming)
+"wsJ" = (
+/obj/effect/turf_decal/tile/blue/fourcorners,
+/obj/structure/chair/sofa/bench/left{
+ dir = 8
},
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron,
-/area/station/security/prison)
+/turf/open/floor/iron/white,
+/area/station/medical/medbay/lobby)
"wsL" = (
/obj/effect/spawner/random/structure/crate,
/obj/effect/spawner/random/maintenance,
@@ -67815,24 +68180,6 @@
/obj/effect/decal/cleanable/cobweb/cobweb2,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
-"wsR" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical/central)
-"wtc" = (
-/obj/structure/window/reinforced/spawner/directional/north,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/science/xenobiology)
"wtd" = (
/obj/effect/turf_decal/delivery,
/obj/machinery/door/poddoor/shutters{
@@ -67877,20 +68224,6 @@
"wtt" = (
/turf/closed/wall,
/area/station/ai_monitored/turret_protected/ai_upload)
-"wtu" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/highsecurity{
- name = "AI Upload"
- },
-/obj/effect/mapping_helpers/airlock/access/all/command/ai_upload,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 1
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/textured_half,
-/area/station/ai_monitored/turret_protected/ai_upload)
"wtv" = (
/obj/effect/turf_decal/tile/red/opposingcorners,
/obj/effect/turf_decal/tile/blue/opposingcorners{
@@ -67924,6 +68257,13 @@
/obj/effect/landmark/start/depsec/medical,
/turf/open/floor/iron/smooth,
/area/station/security/checkpoint/customs/auxiliary)
+"wtC" = (
+/obj/effect/turf_decal/tile/yellow/opposingcorners,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/construction)
"wtG" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/machinery/light/small/red/directional/east,
@@ -67943,14 +68283,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"wtT" = (
-/obj/machinery/light/cold/directional/west,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side{
- dir = 4
- },
-/area/station/science/lobby)
"wtX" = (
/turf/closed/wall/r_wall,
/area/station/security/checkpoint/customs/auxiliary)
@@ -67964,17 +68296,20 @@
/obj/structure/closet/emcloset,
/turf/open/floor/plating,
/area/station/maintenance/aft)
-"wuj" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue,
-/turf/open/floor/iron/white,
-/area/station/medical/medbay/central)
"wum" = (
/turf/closed/wall/r_wall,
/area/station/security/medical)
+"wuo" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/turf/open/floor/iron/white/side{
+ dir = 8
+ },
+/area/station/science/lobby)
"wup" = (
/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
dir = 6
@@ -67984,16 +68319,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"wuq" = (
-/obj/effect/turf_decal/trimline/neutral/warning{
- dir = 4
- },
-/obj/effect/mapping_helpers/dead_body_placer{
- bodycount = 2
- },
-/obj/structure/cable,
-/turf/open/floor/iron/dark/small,
-/area/station/medical/morgue)
"wur" = (
/obj/structure/closet/l3closet/scientist,
/obj/effect/turf_decal/stripes/line,
@@ -68019,9 +68344,28 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/dark,
/area/station/science/genetics)
+"wuL" = (
+/obj/machinery/cryo_cell,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/iron/small,
+/area/station/medical/cryo)
"wuM" = (
/turf/closed/wall,
/area/station/command/heads_quarters/qm)
+"wuN" = (
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/diagonal,
+/area/station/science/auxlab/firing_range)
+"wuX" = (
+/obj/effect/landmark/event_spawn,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/white,
+/area/station/science/cytology)
"wuY" = (
/obj/structure/chair/wood{
dir = 4
@@ -68029,6 +68373,16 @@
/obj/machinery/light/floor,
/turf/open/floor/stone,
/area/station/service/bar)
+"wvj" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/item/radio/intercom/directional/north,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/side,
+/area/station/science/xenobiology)
"wvk" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/door/firedoor,
@@ -68042,6 +68396,24 @@
},
/turf/open/floor/iron/small,
/area/station/hallway/primary/central/fore)
+"wvp" = (
+/obj/effect/turf_decal/trimline/dark/line{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron/dark/small,
+/area/station/maintenance/department/science/xenobiology)
+"wvu" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/side{
+ dir = 4
+ },
+/area/station/science/xenobiology)
"wvv" = (
/obj/effect/turf_decal/tile/red/opposingcorners,
/obj/effect/turf_decal/tile/blue/opposingcorners{
@@ -68050,6 +68422,12 @@
/obj/item/clothing/mask/gas/cyborg,
/turf/open/floor/iron/smooth,
/area/station/service/greenroom)
+"wvD" = (
+/obj/structure/bodycontainer/morgue/beeper_off{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/station/medical/morgue)
"wvE" = (
/obj/structure/hedge,
/turf/open/floor/iron/grimy,
@@ -68061,12 +68439,21 @@
},
/turf/open/floor/iron,
/area/station/cargo/office)
-"wvM" = (
-/obj/machinery/light/floor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/small,
-/area/station/science/cubicle)
+"wvX" = (
+/obj/structure/flora/bush/flowers_yw/style_3{
+ pixel_x = 5;
+ pixel_y = -5
+ },
+/obj/structure/flora/bush/flowers_br/style_random{
+ pixel_x = 3;
+ pixel_y = -5
+ },
+/obj/effect/light_emitter/fake_outdoors,
+/obj/effect/turf_decal/siding/wood{
+ dir = 9
+ },
+/turf/open/floor/grass/airless,
+/area/station/hallway/primary/central/aft)
"wvZ" = (
/obj/effect/turf_decal/stripes/line{
dir = 5
@@ -68100,75 +68487,40 @@
/obj/machinery/firealarm/directional/north,
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"wwz" = (
-/obj/machinery/computer/mech_bay_power_console{
- dir = 1
+"wwy" = (
+/obj/effect/turf_decal/trimline/neutral/warning{
+ dir = 9
},
-/obj/effect/turf_decal/siding/thinplating_new/light{
- dir = 6
- },
-/obj/machinery/power/apc/auto_name/directional/south,
+/obj/machinery/power/apc/auto_name/directional/north,
/obj/structure/cable,
-/turf/open/floor/iron/smooth_large,
-/area/station/science/robotics/mechbay)
-"wwI" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable,
-/turf/open/floor/iron/white/side{
- dir = 1
- },
-/area/station/science/lower)
-"wwK" = (
+/turf/open/floor/iron/dark/small,
+/area/station/medical/morgue)
+"wwJ" = (
+/obj/machinery/light_switch/directional/west,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
+/area/station/command/heads_quarters/rd)
"wwQ" = (
/obj/structure/chair/office{
dir = 4
},
/turf/open/floor/iron/white/small,
/area/station/science/server)
-"wwT" = (
-/obj/effect/turf_decal/trimline/neutral/warning{
- dir = 8
- },
-/turf/open/floor/iron/dark/small,
-/area/station/medical/morgue)
"wwU" = (
/obj/structure/hedge,
/obj/machinery/camera/autoname/directional/east,
/turf/open/floor/iron/grimy,
/area/station/science/cubicle)
-"wwV" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue,
-/obj/structure/table,
-/obj/item/paper_bin{
- pixel_x = -7;
- pixel_y = 6
- },
-/obj/item/pen{
- pixel_x = 8;
- pixel_y = 8
- },
-/turf/open/floor/iron/dark/side,
-/area/station/hallway/primary/central/fore)
"wwY" = (
/obj/effect/spawner/random/trash/mess,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/starboard/greater)
-"wxd" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/door/airlock{
- name = "Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
-/obj/structure/cable,
-/turf/open/floor/iron/cafeteria,
-/area/station/maintenance/starboard/fore)
+"wxu" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/closed/wall/r_wall,
+/area/station/maintenance/starboard/central)
"wxG" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/machinery/light/small/dim/directional/north,
@@ -68215,15 +68567,6 @@
/obj/effect/mapping_helpers/airlock/access/all/engineering/general,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"wya" = (
-/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
- dir = 1
- },
-/obj/machinery/chem_dispenser,
-/obj/effect/decal/cleanable/cobweb,
-/obj/machinery/light/small/directional/north,
-/turf/open/floor/iron/dark,
-/area/station/medical/pharmacy)
"wyb" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -68247,12 +68590,6 @@
/obj/effect/spawner/random/decoration/flower,
/turf/open/floor/wood,
/area/station/service/chapel/office)
-"wyo" = (
-/obj/effect/turf_decal/tile/dark_red/half/contrasted,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/smooth,
-/area/station/security/checkpoint/customs)
"wyy" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/machinery/computer/scan_consolenew{
@@ -68306,6 +68643,18 @@
},
/turf/open/floor/engine/air,
/area/station/engineering/atmos)
+"wzg" = (
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/turf/open/floor/iron/cafeteria,
+/area/station/science/breakroom)
+"wzj" = (
+/obj/effect/spawner/structure/window/reinforced,
+/turf/closed/wall,
+/area/station/command/corporate_showroom)
"wzv" = (
/turf/open/floor/plating,
/area/station/maintenance/department/electrical)
@@ -68337,6 +68686,12 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/carpet/lone,
/area/station/service/chapel/office)
+"wzZ" = (
+/obj/structure/table,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/item/instrument/harmonica,
+/turf/open/floor/iron,
+/area/station/security/prison/rec)
"wAa" = (
/obj/effect/turf_decal/siding/wood{
dir = 10
@@ -68351,15 +68706,6 @@
},
/turf/open/floor/iron/kitchen/small,
/area/station/security/breakroom)
-"wAf" = (
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/small,
-/area/station/medical/morgue)
"wAh" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -68384,13 +68730,6 @@
},
/turf/open/floor/wood,
/area/station/security/detectives_office)
-"wAl" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white,
-/area/station/hallway/primary/starboard)
"wAS" = (
/obj/structure/table/wood,
/obj/item/hand_labeler,
@@ -68421,14 +68760,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
-"wBi" = (
-/obj/machinery/door/airlock/engineering{
- name = "Supplies Depot"
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/dark,
-/area/station/hallway/secondary/construction)
"wBm" = (
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
@@ -68451,41 +68782,46 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"wBF" = (
+"wBG" = (
/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/machinery/duct,
/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
+/area/station/maintenance/central/lesser)
"wBI" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/science/cytology)
-"wBN" = (
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible,
-/turf/closed/wall/r_wall,
-/area/station/science/ordnance/burnchamber)
-"wCa" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
- dir = 5
- },
+"wBJ" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark/event_spawn,
-/turf/open/floor/iron/dark,
-/area/station/medical/cryo)
+/obj/structure/alien/weeds,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/maintenance/starboard/greater)
+"wBX" = (
+/obj/machinery/portable_atmospherics/canister/oxygen,
+/obj/machinery/airalarm/directional/north,
+/obj/effect/mapping_helpers/airalarm/tlv_cold_room,
+/obj/effect/turf_decal/tile/dark_blue/half/contrasted,
+/obj/effect/turf_decal/siding/white,
+/turf/open/floor/iron/kitchen_coldroom,
+/area/station/medical/coldroom)
"wCc" = (
/obj/structure/lattice,
/obj/effect/spawner/random/structure/grille,
/turf/open/space/basic,
/area/space/nearstation)
-"wCt" = (
-/obj/machinery/flasher/directional/east{
- id = "hopflash"
+"wCj" = (
+/obj/effect/turf_decal/siding{
+ dir = 5
},
-/turf/open/floor/iron/half,
-/area/station/hallway/primary/central/fore)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/white/small,
+/area/station/science/lobby)
"wCx" = (
/obj/effect/turf_decal/siding/green{
dir = 8
@@ -68550,6 +68886,18 @@
"wCR" = (
/turf/closed/wall,
/area/station/cargo/boutique)
+"wCS" = (
+/obj/effect/turf_decal/sand/plating,
+/obj/structure/closet/crate/large,
+/obj/effect/spawner/random/entertainment/plushie,
+/obj/effect/spawner/random/entertainment/plushie,
+/obj/effect/spawner/random/entertainment/plushie,
+/obj/effect/spawner/random/entertainment/plushie,
+/obj/effect/spawner/random/entertainment/plushie,
+/obj/structure/alien/weeds,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/greater)
"wCX" = (
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
@@ -68557,6 +68905,22 @@
"wCY" = (
/turf/closed/wall,
/area/station/command/heads_quarters/cmo)
+"wDc" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/delivery/red,
+/obj/machinery/door/airlock/medical/glass{
+ id_tag = "MedbayFoyer";
+ name = "Medbay Clinic"
+ },
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "medlock";
+ name = "Lockdown Shutters"
+ },
+/turf/open/floor/iron/white/small,
+/area/station/medical/medbay/lobby)
"wDn" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 10
@@ -68571,10 +68935,25 @@
/obj/machinery/light_switch/directional/south,
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
+"wDy" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/item/radio/intercom/directional/south,
+/obj/structure/broken_flooring/singular/directional/south,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/dock)
"wDA" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/science/robotics/lab)
+"wDL" = (
+/obj/structure/bodycontainer/morgue/beeper_off{
+ dir = 1
+ },
+/obj/machinery/light/small/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/medical/morgue)
"wDM" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -68591,6 +68970,12 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
+"wEl" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/machinery/light/small/directional/north,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"wEs" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -68610,11 +68995,15 @@
/obj/machinery/door/firedoor,
/turf/open/floor/iron/textured_half,
/area/station/service/hydroponics)
-"wEw" = (
-/obj/structure/lattice/catwalk,
+"wEC" = (
+/obj/structure/disposalpipe/segment,
/obj/structure/cable,
-/turf/open/space/basic,
-/area/space/nearstation)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side{
+ dir = 1
+ },
+/area/station/science/lower)
"wEF" = (
/obj/structure/table,
/obj/machinery/light/small/directional/north,
@@ -68635,15 +69024,6 @@
/obj/structure/barricade/wooden/crude,
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
-"wFa" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/turf_decal/siding/purple{
- dir = 8
- },
-/obj/structure/filingcabinet/chestdrawer,
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/rd)
"wFd" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/smooth,
@@ -68673,12 +69053,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"wFQ" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/steam_vent,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"wFV" = (
/obj/item/stack/sheet/iron,
/obj/effect/landmark/generic_maintenance_landmark,
@@ -68699,13 +69073,6 @@
/obj/structure/broken_flooring/corner/directional/south,
/turf/open/floor/plating,
/area/station/hallway/secondary/dock)
-"wGq" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/broken_flooring/singular/directional/east,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/hallway/secondary/dock)
"wGu" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -68756,27 +69123,10 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"wGU" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 4
- },
-/turf/open/floor/iron/dark/small,
-/area/station/tcommsat/server)
"wHg" = (
/obj/structure/filingcabinet/filingcabinet,
/turf/open/floor/iron/grimy,
/area/station/science/cubicle)
-"wHl" = (
-/obj/structure/transit_tube/crossing/horizontal,
-/obj/structure/lattice/catwalk,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/space/basic,
-/area/space/nearstation)
-"wHJ" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
-/turf/open/floor/iron/dark/small,
-/area/station/tcommsat/server)
"wHN" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -68797,27 +69147,31 @@
/obj/structure/reagent_dispensers/water_cooler,
/turf/open/floor/iron,
/area/station/hallway/secondary/dock)
-"wHS" = (
-/obj/structure/disposalpipe/segment{
+"wHQ" = (
+/obj/effect/turf_decal/tile/dark_red/half/contrasted{
dir = 4
},
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/fore)
+/turf/open/floor/iron/smooth,
+/area/station/security/checkpoint/customs)
"wIc" = (
/obj/structure/window/spawner/directional/west,
/obj/structure/flora/rock/pile/jungle/style_random,
/turf/open/misc/sandy_dirt,
/area/station/medical/medbay/lobby)
-"wIm" = (
-/obj/machinery/suit_storage_unit/standard_unit,
-/obj/effect/turf_decal/delivery,
-/turf/open/floor/iron/dark/smooth_large,
-/area/station/ai_monitored/command/storage/eva)
+"wIo" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/machinery/door/airlock/wood{
+ name = "Bar Backroom"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/service/bar,
+/obj/machinery/door/firedoor,
+/turf/open/floor/iron/dark/textured_half{
+ dir = 1
+ },
+/area/station/service/bar)
"wIp" = (
/obj/structure/window/reinforced/spawner/directional/north,
/turf/open/space/basic,
@@ -68832,6 +69186,11 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/engineering/supermatter/room)
+"wIY" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/science/robotics/lab)
"wJd" = (
/turf/closed/wall,
/area/station/hallway/secondary/construction)
@@ -68934,14 +69293,6 @@
},
/turf/open/floor/circuit/red,
/area/station/ai_monitored/turret_protected/ai_upload)
-"wKm" = (
-/obj/effect/turf_decal/siding/dark_blue/corner{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark,
-/area/station/medical/morgue)
"wKn" = (
/obj/machinery/camera/autoname/directional/north,
/turf/open/floor/iron,
@@ -68956,6 +69307,19 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/circuit/red,
/area/station/ai_monitored/turret_protected/ai_upload)
+"wKE" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/herringbone,
+/area/station/commons/dorms)
+"wKF" = (
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/turf/open/floor/iron/dark/side{
+ dir = 8
+ },
+/area/station/science/lab)
"wKG" = (
/obj/structure/alien/resin/wall,
/obj/structure/alien/weeds,
@@ -69019,15 +69383,6 @@
/obj/structure/cable,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
-"wLZ" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/airalarm/directional/east,
-/obj/machinery/computer/atmos_control/ordnancemix{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/simple/dark/visible,
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance)
"wMg" = (
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
@@ -69049,17 +69404,6 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/department/engine/atmos)
-"wME" = (
-/obj/structure/table,
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/effect/spawner/round_default_module,
-/obj/machinery/flasher/directional/east,
-/obj/item/radio/intercom/directional/north{
- pixel_x = 27
- },
-/obj/structure/cable,
-/turf/open/floor/circuit/red,
-/area/station/ai_monitored/turret_protected/ai_upload)
"wMG" = (
/obj/effect/turf_decal/tile/neutral{
dir = 4
@@ -69082,17 +69426,6 @@
"wMO" = (
/turf/closed/wall/r_wall,
/area/station/science/server)
-"wMP" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/light/cold/directional/north,
-/obj/effect/landmark/start/hangover,
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/science/lobby)
"wMT" = (
/obj/structure/table,
/turf/open/floor/iron/smooth,
@@ -69105,22 +69438,20 @@
},
/turf/open/floor/plating,
/area/station/medical/medbay/lobby)
-"wNb" = (
-/obj/item/assembly/timer{
- pixel_x = 3;
- pixel_y = 3
- },
-/obj/machinery/newscaster/directional/west,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side{
- dir = 4
- },
-/area/station/science/lobby)
"wNd" = (
/obj/effect/spawner/random/engineering/atmospherics_portable,
/turf/open/floor/plating,
/area/station/maintenance/fore/greater)
+"wNl" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/structure/chair{
+ pixel_y = -2
+ },
+/obj/effect/turf_decal/siding/blue,
+/turf/open/floor/iron/white/small,
+/area/station/command/heads_quarters/cmo)
"wNs" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -69167,12 +69498,6 @@
/obj/structure/thermoplastic,
/turf/open/floor/tram,
/area/station/security/tram)
-"wNT" = (
-/obj/machinery/light_switch/directional/west,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/command/heads_quarters/rd)
"wNU" = (
/obj/structure/lattice/catwalk,
/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
@@ -69196,17 +69521,6 @@
/obj/machinery/light/small/dim/directional/north,
/turf/open/floor/sepia,
/area/station/maintenance/aft)
-"wOc" = (
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/corner{
- dir = 4
- },
-/area/station/science/xenobiology)
"wOh" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/structure/table/glass,
@@ -69251,16 +69565,6 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/security/prison)
-"wOn" = (
-/obj/structure/closet/crate/freezer/blood,
-/obj/effect/turf_decal/tile/dark_blue/half/contrasted{
- dir = 1
- },
-/obj/effect/turf_decal/siding/white{
- dir = 1
- },
-/turf/open/floor/iron/kitchen_coldroom,
-/area/station/medical/coldroom)
"wOp" = (
/turf/closed/wall,
/area/station/service/abandoned_gambling_den)
@@ -69384,20 +69688,6 @@
},
/turf/open/floor/iron,
/area/station/medical/chemistry)
-"wPX" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/structure/chair/office{
- dir = 4
- },
-/obj/effect/turf_decal/siding/purple{
- dir = 8
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/rd)
"wQc" = (
/obj/structure/chair/stool/bar/directional/south,
/obj/effect/turf_decal/siding/wood,
@@ -69461,18 +69751,6 @@
},
/turf/open/floor/iron/grimy,
/area/station/hallway/secondary/entry)
-"wQP" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/highsecurity{
- name = "Secure Network Access"
- },
-/obj/effect/mapping_helpers/airlock/access/all/command/ai_upload,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/textured_half,
-/area/station/ai_monitored/turret_protected/ai_upload_foyer)
"wQT" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/neutral{
@@ -69496,32 +69774,16 @@
},
/turf/open/floor/iron/cafeteria,
/area/station/security/prison)
-"wRd" = (
-/obj/effect/mapping_helpers/broken_floor,
-/obj/machinery/atmospherics/pipe/heat_exchanging/simple/layer2{
- dir = 6
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber,
-/turf/open/floor/engine/vacuum,
-/area/station/science/ordnance/freezerchamber)
"wRg" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"wRm" = (
-/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{
- dir = 4
- },
-/turf/open/floor/iron/white/small,
-/area/station/science/ordnance/storage)
"wRo" = (
-/obj/machinery/atmospherics/pipe/heat_exchanging/manifold/layer2{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
- dir = 5
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple/layer2{
+ dir = 10
},
+/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/ordnance_freezer_chamber_input,
/turf/open/floor/engine/vacuum,
/area/station/science/ordnance/freezerchamber)
"wRy" = (
@@ -69556,35 +69818,6 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
-"wRP" = (
-/obj/structure/cable,
-/obj/machinery/camera/directional/south{
- c_tag = "Atmospherics - South"
- },
-/obj/machinery/light/small/directional/south,
-/obj/machinery/power/apc/auto_name/directional/south,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/table,
-/obj/item/storage/box/mousetraps{
- pixel_x = -3;
- pixel_y = 8
- },
-/obj/item/restraints/legcuffs/beartrap{
- pixel_x = 8;
- pixel_y = 13
- },
-/obj/item/flashlight{
- pixel_y = 4
- },
-/turf/open/floor/iron/white/small,
-/area/station/service/janitor)
-"wRU" = (
-/obj/effect/landmark/start/coroner,
-/obj/machinery/light/small/directional/south,
-/turf/open/floor/iron/dark/small,
-/area/station/medical/morgue)
"wSg" = (
/obj/effect/turf_decal/tile/blue{
dir = 4
@@ -69612,14 +69845,10 @@
/obj/item/stack/medical/gauze,
/turf/open/floor/iron/white,
/area/station/medical/medbay/lobby)
-"wSL" = (
-/obj/structure/bonfire,
-/obj/item/storage/box/matches{
- pixel_x = -4;
- pixel_y = -6
- },
-/turf/open/misc/dirt/station,
-/area/station/medical/morgue)
+"wSS" = (
+/obj/structure/broken_flooring/side/directional/north,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"wSZ" = (
/turf/closed/wall/r_wall,
/area/station/maintenance/hallway/abandoned_command)
@@ -69646,6 +69875,12 @@
/obj/structure/tank_dispenser,
/turf/open/floor/plating,
/area/station/hallway/secondary/dock)
+"wTA" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/catwalk_floor,
+/area/station/hallway/secondary/entry)
"wTH" = (
/obj/effect/turf_decal/tile/blue{
dir = 4
@@ -69706,30 +69941,6 @@
/obj/structure/curtain/cloth/fancy,
/turf/open/floor/iron/grimy,
/area/station/cargo/boutique)
-"wTU" = (
-/obj/structure/table/glass,
-/obj/machinery/fax{
- fax_name = "Chief Medical Officer's Office";
- name = "Chief Medical Officer's Fax Machine";
- pixel_y = 13
- },
-/obj/effect/mapping_helpers/broken_floor,
-/obj/machinery/button/door/directional/south{
- id = "cmoprivacy";
- name = "CMO Privacy Shutters";
- pixel_x = -6;
- req_access = list("cmo")
- },
-/obj/machinery/camera/autoname/directional/south,
-/obj/machinery/button/door/directional/south{
- id = "medlock";
- name = "Medbay Lockdown Control";
- pixel_x = 6;
- req_access = list("medical")
- },
-/obj/machinery/keycard_auth/wall_mounted/directional/east,
-/turf/open/floor/wood/parquet,
-/area/station/command/heads_quarters/cmo)
"wTX" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -69770,17 +69981,27 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/white/small,
/area/station/service/janitor)
-"wVg" = (
-/obj/effect/landmark/event_spawn,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/science/ordnance/testlab)
"wVr" = (
/obj/structure/filingcabinet/chestdrawer,
/obj/structure/cable,
/obj/machinery/power/apc/auto_name/directional/west,
/turf/open/floor/iron/smooth,
/area/station/cargo/lobby)
+"wVx" = (
+/obj/effect/turf_decal/tile/blue,
+/obj/effect/spawner/random/vending/snackvend,
+/turf/open/floor/iron/dark/side,
+/area/station/hallway/primary/central/fore)
+"wVC" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 10
+ },
+/obj/machinery/camera/directional/west,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/wood/tile,
+/area/station/science/lower)
"wVI" = (
/obj/machinery/biogenerator,
/obj/machinery/light/small/dim/directional/north,
@@ -69801,14 +70022,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/disposal/incinerator)
-"wWs" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
- },
-/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
-/area/station/medical/coldroom)
"wWz" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/dark/side{
@@ -69825,31 +70038,9 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"wWN" = (
-/obj/structure/table/reinforced,
-/obj/machinery/door/poddoor/shutters{
- dir = 1;
- id = "abandoned_lab";
- name = "Abandoned Lab Shutters"
- },
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
-"wWR" = (
-/obj/structure/table,
-/obj/item/clothing/gloves/color/orange,
-/obj/item/restraints/handcuffs,
-/obj/item/reagent_containers/spray/pepper,
-/obj/machinery/light/small/directional/west,
-/turf/open/floor/iron,
-/area/station/security/execution/transfer)
"wWS" = (
/turf/open/floor/iron,
/area/station/security/prison)
-"wWU" = (
-/obj/structure/cable,
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/station/engineering/storage/tech)
"wWX" = (
/obj/effect/turf_decal/tile/red/anticorner/contrasted{
dir = 4
@@ -69923,6 +70114,25 @@
},
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
+"wXM" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 6
+ },
+/obj/machinery/vending/coffee,
+/obj/machinery/light/small/directional/south,
+/turf/open/floor/iron/grimy,
+/area/station/hallway/secondary/entry)
+"wXX" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/machinery/light/small/directional/north,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/catwalk_floor/iron_white,
+/area/station/science/robotics/augments)
"wYa" = (
/obj/effect/turf_decal/siding/wood{
dir = 5
@@ -69951,6 +70161,11 @@
},
/turf/open/misc/sandy_dirt,
/area/station/security/tram)
+"wYY" = (
+/obj/machinery/vending/boozeomat,
+/obj/machinery/status_display/evac/directional/south,
+/turf/open/floor/wood/large,
+/area/station/command/heads_quarters/captain/private)
"wZa" = (
/obj/docking_port/stationary{
dir = 8;
@@ -70005,14 +70220,6 @@
/obj/machinery/door/firedoor,
/turf/open/floor/iron/dark/herringbone,
/area/station/hallway/primary/central/aft)
-"wZA" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/mapping_helpers/broken_floor,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/central)
"wZF" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -70034,13 +70241,13 @@
},
/turf/open/floor/iron/white/corner,
/area/station/hallway/secondary/exit/departure_lounge)
-"xae" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
+"xam" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
},
-/turf/open/floor/iron,
-/area/station/maintenance/starboard/greater)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side,
+/area/station/science/research)
"xap" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
@@ -70052,6 +70259,11 @@
/obj/machinery/holopad,
/turf/open/floor/iron,
/area/station/commons/storage/art)
+"xaF" = (
+/obj/structure/broken_flooring/singular/directional/east,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/aft)
"xaH" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/airalarm/directional/north,
@@ -70060,17 +70272,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
-"xaI" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/item/kirbyplants/random,
-/obj/machinery/status_display/ai/directional/south,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/dock)
"xaN" = (
/turf/closed/wall,
/area/station/maintenance/starboard/central)
@@ -70082,10 +70283,6 @@
/obj/item/radio/intercom/directional/south,
/turf/open/floor/iron/white,
/area/station/science/robotics/augments)
-"xaW" = (
-/obj/structure/hedge,
-/turf/open/floor/iron/dark/smooth_large,
-/area/station/engineering/storage/tech)
"xba" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -70101,13 +70298,8 @@
/area/station/cargo/miningoffice)
"xbe" = (
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/turf/open/floor/catwalk_floor/iron_smooth,
-/area/station/hallway/secondary/command)
+/turf/open/floor/grass,
+/area/station/science/xenobiology)
"xbg" = (
/turf/closed/wall,
/area/station/commons/fitness/recreation)
@@ -70140,6 +70332,13 @@
/obj/structure/hedge,
/turf/open/floor/iron/dark,
/area/station/command/corporate_dock)
+"xbT" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/simple/general/visible{
+ dir = 5
+ },
+/turf/open/floor/iron/white,
+/area/station/science/cytology)
"xbV" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/light/floor,
@@ -70153,6 +70352,11 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
+"xca" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/broken_flooring/corner/directional/west,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science/xenobiology)
"xck" = (
/turf/closed/wall/r_wall,
/area/station/engineering/atmos/office)
@@ -70215,6 +70419,14 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/closed/wall,
/area/station/hallway/primary/central/aft)
+"xcN" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/obj/machinery/light/floor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/grimy,
+/area/station/tcommsat/server)
"xcW" = (
/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
dir = 4
@@ -70231,6 +70443,10 @@
},
/turf/open/floor/iron,
/area/station/science/cytology)
+"xdc" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/white,
+/area/station/hallway/primary/starboard)
"xdo" = (
/obj/machinery/firealarm/directional/north,
/obj/item/kirbyplants/random/fullysynthetic,
@@ -70239,22 +70455,6 @@
},
/turf/open/floor/iron/dark,
/area/station/security/lockers)
-"xds" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/white/side{
- dir = 8
- },
-/area/station/science/research)
-"xdu" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/fore)
"xdv" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -70278,14 +70478,18 @@
},
/turf/open/floor/iron/white/corner,
/area/station/hallway/secondary/exit/departure_lounge)
-"xdV" = (
-/obj/structure/table,
-/obj/machinery/cell_charger{
- pixel_y = 5
+"xdU" = (
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/construction/mining/aux_base)
+"xdY" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
},
-/obj/item/stock_parts/power_store/cell/high,
-/turf/open/floor/engine/bz,
-/area/station/science/xenobiology)
+/turf/open/floor/iron/dark/side{
+ dir = 4
+ },
+/area/station/engineering/storage/tech)
"xed" = (
/obj/effect/turf_decal/stripes/line,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -70301,16 +70505,11 @@
/obj/structure/window/reinforced/spawner/directional/east,
/turf/open/space/basic,
/area/space/nearstation)
-"xer" = (
+"xet" = (
+/obj/item/kirbyplants/organic/applebush,
/obj/structure/disposalpipe/segment,
-/obj/effect/spawner/structure/window/reinforced,
-/obj/machinery/door/poddoor/preopen{
- id = "rdoffice";
- name = "Research Director's Shutters"
- },
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/science/research)
+/turf/open/floor/iron/smooth,
+/area/station/hallway/primary/central/fore)
"xeC" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -70337,6 +70536,15 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
+"xeN" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/bed/medical/emergency,
+/obj/machinery/airalarm/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/medical/medbay/central)
"xeO" = (
/turf/closed/wall,
/area/station/service/library)
@@ -70345,21 +70553,6 @@
/obj/machinery/firealarm/directional/west,
/turf/open/floor/wood,
/area/station/service/chapel/office)
-"xeT" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/camera/directional/north{
- c_tag = "Xenobiology - Cell 1";
- name = "xenobiology camera";
- network = list("ss13","xeno","rd")
- },
-/obj/effect/turf_decal/box/red/corners{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/white/line{
- dir = 10
- },
-/turf/open/floor/engine,
-/area/station/science/xenobiology)
"xeV" = (
/obj/effect/turf_decal/siding/dark_red{
dir = 4
@@ -70415,6 +70608,14 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"xfi" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 8
+ },
+/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+/area/station/medical/coldroom)
"xfm" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -70431,6 +70632,13 @@
/obj/effect/mapping_helpers/mail_sorting/security/hos_office,
/turf/open/floor/iron,
/area/station/security)
+"xfu" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/simple/general/visible{
+ dir = 6
+ },
+/turf/open/floor/iron/white,
+/area/station/science/cytology)
"xfy" = (
/obj/structure/transport/linear/tram,
/obj/structure/fluff/tram_rail/floor{
@@ -70487,16 +70695,36 @@
},
/turf/open/floor/iron/small,
/area/station/hallway/primary/central/fore)
+"xgb" = (
+/obj/effect/turf_decal/tile/blue,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/landmark/navigate_destination/eva,
+/turf/open/floor/iron/dark/side{
+ dir = 4
+ },
+/area/station/hallway/primary/fore)
"xgd" = (
/obj/structure/closet/firecloset,
/turf/open/floor/catwalk_floor/iron_smooth,
/area/station/engineering/main)
-"xgg" = (
-/obj/structure/chair{
- pixel_y = -2
+"xgk" = (
+/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{
+ dir = 4
},
+/obj/machinery/door/airlock/command{
+ name = "Chief Engineer's Office"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/ce,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/dark/small,
-/area/station/security/checkpoint/customs/auxiliary)
+/area/station/engineering/main)
"xgw" = (
/obj/structure/rack,
/obj/item/storage/medkit/regular,
@@ -70555,12 +70783,15 @@
dir = 1
},
/area/station/cargo/sorting)
-"xhf" = (
-/obj/effect/turf_decal/siding/blue{
+"xgP" = (
+/obj/machinery/status_display/evac/directional/north,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/side{
dir = 1
},
-/turf/open/floor/iron/white/small,
-/area/station/medical/storage)
+/area/station/science/research)
"xhk" = (
/obj/machinery/door/airlock/public/glass{
name = "Public Shrine"
@@ -70571,6 +70802,13 @@
dir = 8
},
/area/station/hallway/primary/central/fore)
+"xhr" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/turf/open/floor/iron/dark/diagonal,
+/area/station/ai_monitored/command/storage/eva)
"xhC" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -70588,15 +70826,23 @@
},
/turf/open/floor/iron/dark/small,
/area/station/commons/fitness/locker_room)
-"xhG" = (
-/obj/structure/disposalpipe/segment{
- dir = 5
+"xhF" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
},
-/obj/effect/landmark/navigate_destination/lawyer,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/recreation)
+/turf/open/floor/iron/white,
+/area/station/hallway/primary/starboard)
+"xhJ" = (
+/obj/machinery/computer/crew{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue/fourcorners,
+/obj/machinery/light_switch/directional/south,
+/obj/machinery/camera/autoname/directional/east,
+/obj/machinery/light/small/directional/east,
+/turf/open/floor/iron/white,
+/area/station/medical/medbay/lobby)
"xhM" = (
/obj/structure/table,
/obj/item/book/manual/wiki/tcomms,
@@ -70617,10 +70863,13 @@
"xia" = (
/turf/closed/wall,
/area/station/science/cubicle)
-"xid" = (
-/obj/effect/decal/cleanable/dirt/dust,
-/turf/open/floor/iron,
-/area/station/maintenance/department/science/xenobiology)
+"xif" = (
+/obj/machinery/light_switch/directional/north,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/white/side{
+ dir = 4
+ },
+/area/station/science/robotics/augments)
"xik" = (
/turf/closed/wall,
/area/station/security/prison/rec)
@@ -70646,6 +70895,24 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
+"xiI" = (
+/obj/structure/table/glass,
+/obj/item/stock_parts/power_store/cell/high{
+ pixel_x = 11;
+ pixel_y = 6
+ },
+/obj/item/folder/blue{
+ pixel_x = -3;
+ pixel_y = 2
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/carpet/executive,
+/area/station/command/meeting_room)
"xiS" = (
/obj/effect/turf_decal/trimline/neutral/line,
/obj/effect/turf_decal/trimline/neutral/line{
@@ -70658,16 +70925,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"xiT" = (
-/obj/effect/turf_decal/siding/white{
- dir = 8
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/small,
-/area/station/science/xenobiology)
"xjb" = (
/turf/open/floor/iron/white/side{
dir = 5
@@ -70690,31 +70947,9 @@
"xjg" = (
/turf/open/floor/iron/dark,
/area/station/security/interrogation)
-"xjo" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/sign/warning/pods/directional/north,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/corner{
- dir = 8
- },
-/area/station/science/lower)
"xjz" = (
/turf/closed/wall/r_wall,
/area/station/security/prison/garden)
-"xjC" = (
-/obj/structure/railing/corner{
- dir = 1
- },
-/obj/effect/landmark/start/hangover,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/commons/dorms)
"xjE" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 8
@@ -70739,6 +70974,12 @@
},
/turf/open/floor/iron,
/area/station/construction/mining/aux_base)
+"xjV" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/turf/open/floor/wood/tile,
+/area/station/command/meeting_room)
"xjX" = (
/obj/effect/turf_decal/siding/wideplating/dark/corner{
dir = 4
@@ -70776,22 +71017,19 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/starboard/greater)
-"xko" = (
-/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
-/obj/machinery/door/airlock{
- name = "Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/unres{
- dir = 1
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"xkt" = (
/turf/closed/wall/r_wall,
/area/station/ai_monitored/security/armory)
+"xkI" = (
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/obj/effect/turf_decal/siding/dark{
+ dir = 8
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/dark/textured,
+/area/station/command/meeting_room)
"xkO" = (
/obj/item/kirbyplants/random,
/turf/open/floor/iron/white,
@@ -70831,6 +71069,18 @@
"xli" = (
/turf/closed/wall,
/area/station/hallway/primary/central/aft)
+"xlk" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/sign/warning/pods/directional/north,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/corner{
+ dir = 8
+ },
+/area/station/science/lower)
"xlx" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
@@ -70849,9 +71099,6 @@
/obj/structure/cable/multilayer,
/turf/open/floor/plating,
/area/station/science/xenobiology)
-"xlP" = (
-/turf/open/floor/engine/bz,
-/area/station/science/xenobiology)
"xlU" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -70861,6 +71108,16 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
+"xlY" = (
+/obj/effect/turf_decal/tile/red/opposingcorners{
+ dir = 1
+ },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/landmark/start/depsec/science,
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/turf/open/floor/iron,
+/area/station/security/checkpoint/science)
"xlZ" = (
/turf/open/floor/iron,
/area/station/maintenance/hallway/abandoned_command)
@@ -70896,6 +71153,10 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"xmB" = (
+/obj/machinery/light/floor,
+/turf/open/floor/iron/white/small,
+/area/station/service/hydroponics)
"xmL" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/obj/effect/landmark/start/security_officer,
@@ -70913,10 +71174,6 @@
/obj/effect/mapping_helpers/requests_console/supplies,
/turf/open/floor/iron/white/small,
/area/station/service/hydroponics)
-"xnn" = (
-/obj/effect/spawner/random/structure/closet_maintenance,
-/turf/open/floor/catwalk_floor,
-/area/station/maintenance/department/science/xenobiology)
"xno" = (
/obj/effect/turf_decal/tile/red/opposingcorners,
/obj/effect/turf_decal/tile/blue/opposingcorners{
@@ -70950,38 +71207,6 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/station/maintenance/department/electrical)
-"xnR" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/airalarm/directional/east,
-/obj/effect/mapping_helpers/airalarm/mixingchamber_access,
-/obj/effect/mapping_helpers/airalarm/link{
- chamber_id = "ordnanceburn"
- },
-/obj/effect/mapping_helpers/airalarm/tlv_no_checks,
-/obj/machinery/atmospherics/pipe/smart/simple/dark/visible,
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance)
-"xnY" = (
-/obj/effect/turf_decal/tile/blue,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
-/turf/open/floor/iron/white/corner{
- dir = 8
- },
-/area/station/hallway/secondary/dock)
-"xoa" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 1
- },
-/obj/effect/turf_decal/trimline/neutral/line,
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
"xoh" = (
/obj/structure/cable,
/obj/machinery/power/smes/full,
@@ -71000,48 +71225,20 @@
/obj/structure/tank_holder/extinguisher,
/turf/open/floor/iron/dark,
/area/station/medical/medbay/central)
-"xoS" = (
-/obj/structure/cable,
-/obj/structure/table/bronze,
-/obj/effect/turf_decal/siding/thinplating_new/terracotta{
- dir = 4
+"xoL" = (
+/obj/structure/chair{
+ pixel_y = -2
},
-/obj/item/reagent_containers/cup/glass/bottle/beer{
- pixel_x = 7;
- pixel_y = 11
+/obj/effect/landmark/start/hangover,
+/turf/open/floor/iron,
+/area/station/commons/fitness/locker_room)
+"xoM" = (
+/obj/effect/spawner/random/trash/bin,
+/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
+ dir = 9
},
-/obj/item/reagent_containers/cup/glass/bottle/beer{
- pixel_x = -1;
- pixel_y = 11
- },
-/obj/item/reagent_containers/cup/glass/bottle/beer{
- pixel_x = 3;
- pixel_y = 7
- },
-/obj/item/reagent_containers/cup/glass/bottle/beer{
- pixel_x = -7;
- pixel_y = 7
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/dark/smooth_large,
-/area/station/command/meeting_room)
-"xoT" = (
-/obj/effect/turf_decal/tile/neutral/opposingcorners,
-/obj/structure/closet/cabinet,
-/obj/effect/spawner/random/food_or_drink/cups,
-/turf/open/floor/iron/dark,
-/area/station/maintenance/department/science/xenobiology)
-"xoW" = (
-/obj/structure/window/reinforced/spawner/directional/south,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/ai_monitored/turret_protected/ai_upload)
+/turf/open/floor/iron/white/small,
+/area/station/science/ordnance/storage)
"xpb" = (
/obj/structure/transit_tube/station/dispenser{
dir = 1
@@ -71093,25 +71290,22 @@
/obj/structure/disposalpipe/segment,
/turf/closed/wall,
/area/station/maintenance/hallway/abandoned_command)
-"xpR" = (
-/obj/machinery/power/apc/auto_name/directional/south,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
+"xpU" = (
+/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance)
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/neutral/line,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
"xpV" = (
/obj/structure/transport/linear/tram,
/obj/structure/thermoplastic,
/turf/open/floor/tram,
/area/station/security/tram)
-"xpY" = (
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"xqd" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/light/small/broken/directional/east,
@@ -71123,6 +71317,11 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
+"xqn" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/small,
+/area/station/science/cubicle)
"xqp" = (
/obj/structure/railing{
dir = 4
@@ -71144,21 +71343,26 @@
/obj/structure/chair/stool/directional/south,
/turf/open/floor/eighties/red,
/area/station/service/abandoned_gambling_den/gaming)
-"xqv" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/spawner/random/engineering/tracking_beacon,
-/obj/effect/turf_decal/siding/dark{
- dir = 1
- },
-/turf/open/floor/iron/dark/textured_half{
- dir = 1
- },
-/area/station/command/bridge)
+"xqz" = (
+/obj/structure/table/reinforced,
+/obj/item/binoculars,
+/obj/machinery/camera/autoname/directional/east,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"xqC" = (
/turf/closed/wall,
/area/station/maintenance/hallway/abandoned_command)
+"xqJ" = (
+/obj/machinery/computer/mech_bay_power_console{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/thinplating_new/light{
+ dir = 6
+ },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/structure/cable,
+/turf/open/floor/iron/smooth_large,
+/area/station/science/robotics/mechbay)
"xqL" = (
/obj/structure/cable,
/obj/machinery/power/emitter/welded,
@@ -71170,6 +71374,14 @@
"xqS" = (
/turf/open/floor/eighties,
/area/station/service/abandoned_gambling_den/gaming)
+"xqU" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/textured_half{
+ dir = 1
+ },
+/area/station/command/bridge)
"xqW" = (
/turf/closed/wall/r_wall,
/area/station/hallway/primary/starboard)
@@ -71179,36 +71391,14 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/commons/fitness/locker_room)
-"xrc" = (
+"xrh" = (
/obj/structure/cable,
-/obj/machinery/door/airlock{
- name = "Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
-/turf/open/floor/plating,
-/area/station/maintenance/central/lesser)
-"xre" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/power/apc/auto_name/directional/south,
-/obj/machinery/light/small/directional/north,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/catwalk_floor/iron_white,
-/area/station/science/robotics/augments)
-"xrt" = (
-/obj/structure/chair/sofa/bench/left{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue,
-/obj/effect/landmark/start/hangover,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/dark/side,
-/area/station/hallway/primary/central/fore)
+/obj/item/kirbyplants/random/fullysynthetic,
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/machinery/firealarm/directional/east,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/turf/open/floor/iron,
+/area/station/security/prison/garden)
"xru" = (
/obj/item/kirbyplants/random/fullysynthetic,
/obj/machinery/airalarm/directional/east,
@@ -71263,15 +71453,6 @@
dir = 4
},
/area/station/command/heads_quarters/ce)
-"xrX" = (
-/obj/machinery/door/window/right/directional/south{
- name = "Upload Console Window";
- req_access = list("ai_upload")
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark,
-/area/station/ai_monitored/turret_protected/ai_upload)
"xrZ" = (
/obj/structure/disposalpipe/segment{
dir = 9
@@ -71281,29 +71462,17 @@
/obj/machinery/firealarm/directional/south,
/turf/open/floor/iron,
/area/station/commons/storage/tools)
-"xsb" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+"xse" = (
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 1
- },
-/obj/effect/turf_decal/trimline/neutral/line,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
"xsf" = (
/turf/closed/wall/r_wall,
/area/station/security/breakroom)
-"xsh" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark/textured_half{
- dir = 1
- },
-/area/station/command/bridge)
"xsj" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -71317,6 +71486,12 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/commons/dorms)
+"xsp" = (
+/obj/structure/chair{
+ pixel_y = -2
+ },
+/turf/open/floor/iron/dark/small,
+/area/station/security/checkpoint/customs/auxiliary)
"xsC" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/extinguisher_cabinet/directional/west,
@@ -71352,28 +71527,6 @@
},
/turf/open/floor/iron/white/small,
/area/station/science/lobby)
-"xsK" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/door/firedoor,
-/obj/effect/turf_decal/stripes/red/line{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/red/line{
- dir = 4
- },
-/turf/open/floor/iron/small,
-/area/station/hallway/primary/starboard)
-"xsM" = (
-/obj/machinery/airalarm/directional/west,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side{
- dir = 4
- },
-/area/station/science/lobby)
"xsP" = (
/obj/structure/disposalpipe/segment,
/obj/effect/turf_decal/stripes/line{
@@ -71388,35 +71541,9 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/cargo/sorting)
-"xsT" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 1
- },
-/obj/effect/turf_decal/trimline/neutral/line,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
"xsV" = (
/turf/closed/wall/r_wall,
/area/station/maintenance/solars/starboard/aft)
-"xsW" = (
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/corner{
- dir = 1
- },
-/area/station/hallway/secondary/dock)
"xsX" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -71448,15 +71575,6 @@
/obj/item/stack/sheet/glass/fifty,
/turf/open/floor/plating,
/area/station/maintenance/department/science/xenobiology)
-"xtD" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/effect/turf_decal/siding/wood{
- dir = 4
- },
-/turf/open/floor/wood/tile,
-/area/station/service/bar)
"xtI" = (
/turf/closed/wall/r_wall,
/area/station/science/breakroom)
@@ -71466,13 +71584,6 @@
},
/turf/open/floor/iron/white,
/area/station/hallway/primary/starboard)
-"xtP" = (
-/obj/structure/chair{
- dir = 1
- },
-/obj/effect/turf_decal/siding/thinplating_new/terracotta/corner,
-/turf/open/floor/wood/tile,
-/area/station/command/meeting_room)
"xtU" = (
/obj/effect/turf_decal/tile/blue/half/contrasted,
/obj/effect/landmark/navigate_destination/med,
@@ -71491,22 +71602,14 @@
"xul" = (
/turf/open/floor/iron,
/area/station/maintenance/port/aft)
+"xun" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable,
+/turf/open/space/basic,
+/area/station/solars/starboard/fore)
"xur" = (
/turf/closed/wall,
/area/station/security/processing)
-"xuu" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/navbeacon{
- codes_txt = "patrol;next_patrol=10.0-ScienceFoyer-StarboardHall";
- location = "9.0-StarboardHall-ScienceFoyer"
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
"xuv" = (
/obj/structure/railing{
dir = 8
@@ -71515,19 +71618,15 @@
/mob/living/basic/parrot/poly,
/turf/open/floor/mineral/titanium,
/area/station/command/heads_quarters/ce)
-"xuD" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+"xuz" = (
/obj/structure/disposalpipe/segment,
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/research{
- name = "Chemistry Lab"
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/blue,
+/turf/open/floor/iron/dark/side{
+ dir = 4
},
-/obj/effect/turf_decal/delivery/red,
-/obj/effect/mapping_helpers/airlock/access/all/medical/chemistry,
-/turf/open/floor/iron/dark/small,
-/area/station/medical/chemistry)
+/area/station/hallway/primary/fore)
"xuF" = (
/obj/structure/window/reinforced/spawner/directional/west,
/turf/open/space/basic,
@@ -71545,6 +71644,12 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
+"xuP" = (
+/obj/effect/turf_decal/trimline/dark/line{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/small,
+/area/station/maintenance/department/science/xenobiology)
"xuQ" = (
/obj/machinery/washing_machine,
/obj/effect/turf_decal/tile/blue{
@@ -71553,22 +71658,21 @@
/obj/machinery/camera/autoname/directional/south,
/turf/open/floor/iron/cafeteria,
/area/station/commons/dorms)
-"xuW" = (
-/obj/structure/sign/poster/official/random/directional/north,
+"xuR" = (
+/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms,
+/obj/machinery/door/airlock/command/glass{
+ name = "Telecommunications Server Room"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
+ cycle_id = "comms-entrance-north"
+ },
+/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side{
- dir = 1
- },
-/area/station/science/research)
-"xva" = (
-/obj/item/radio/intercom/directional/north,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/side{
- dir = 1
- },
-/area/station/science/research)
+/obj/machinery/atmospherics/pipe/heat_exchanging/junction,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/station/tcommsat/server)
"xvf" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -71585,36 +71689,22 @@
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
"xvv" = (
+/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white/side{
dir = 1
},
/area/station/science/research)
-"xvx" = (
-/obj/effect/turf_decal/tile/red/opposingcorners{
- dir = 1
- },
-/obj/machinery/firealarm/directional/north,
-/obj/effect/landmark/start/depsec/science,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/security/checkpoint/science)
"xvF" = (
/turf/open/floor/catwalk_floor/iron_dark,
/area/station/science/xenobiology)
-"xvK" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+"xvM" = (
+/obj/effect/turf_decal/tile/neutral,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/red/opposingcorners,
-/obj/effect/turf_decal/tile/blue/opposingcorners{
- dir = 8
- },
-/turf/open/floor/iron/smooth,
-/area/station/service/greenroom)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/recreation)
"xvR" = (
/obj/machinery/firealarm/directional/east,
/obj/effect/turf_decal/stripes,
@@ -71635,21 +71725,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos/project)
-"xvV" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random/trash,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/fore)
-"xvY" = (
-/obj/structure/cable,
-/turf/open/floor/grass,
-/area/station/science/xenobiology)
"xwd" = (
/obj/structure/rack,
/obj/item/storage/toolbox/emergency,
@@ -71677,35 +71752,18 @@
/obj/machinery/recharge_station,
/turf/open/floor/iron/smooth_large,
/area/station/science/robotics/mechbay)
-"xws" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/door/airlock/research{
- name = "Research Division Access"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
- cycle_id = "sci-entrance"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/general,
-/obj/machinery/door/firedoor,
-/obj/effect/mapping_helpers/airlock/unres{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/textured_half{
- dir = 1
- },
-/area/station/science/research)
-"xwu" = (
-/obj/machinery/holopad,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/small,
-/area/station/science/cubicle)
"xwz" = (
/turf/closed/wall,
/area/station/cargo/miningfoundry)
+"xwC" = (
+/obj/effect/spawner/random/entertainment/arcade,
+/obj/machinery/airalarm/directional/north,
+/obj/effect/turf_decal/tile/red/opposingcorners{
+ dir = 1
+ },
+/obj/machinery/camera/autoname/directional/north,
+/turf/open/floor/iron/cafeteria,
+/area/station/hallway/secondary/exit/departure_lounge)
"xwH" = (
/obj/structure/barricade/wooden/crude,
/turf/open/floor/plating,
@@ -71732,15 +71790,19 @@
/obj/structure/bed/maint,
/turf/open/floor/plating,
/area/station/maintenance/starboard/central)
-"xwU" = (
-/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
- dir = 9
+"xxa" = (
+/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/ordnance_burn_chamber_input,
+/turf/open/floor/engine/vacuum,
+/area/station/science/ordnance/burnchamber)
+"xxh" = (
+/obj/machinery/door/airlock{
+ name = "Abandoned Brewery"
},
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/small,
-/area/station/science/ordnance/storage)
+/obj/effect/mapping_helpers/airlock/access/any/science/maintenance,
+/turf/open/floor/iron/dark/side{
+ dir = 4
+ },
+/area/station/maintenance/department/science/xenobiology)
"xxj" = (
/obj/effect/turf_decal/weather/dirt{
dir = 1
@@ -71762,6 +71824,14 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/station/maintenance/department/engine/atmos)
+"xxw" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/small,
+/area/station/tcommsat/server)
"xxA" = (
/obj/effect/spawner/random/structure/crate,
/turf/open/floor/plating,
@@ -71771,10 +71841,6 @@
/obj/machinery/light/small/directional/west,
/turf/open/floor/iron,
/area/station/maintenance/starboard/greater)
-"xxD" = (
-/obj/structure/closet/secure_closet/personal,
-/turf/open/floor/iron,
-/area/station/commons/fitness/locker_room)
"xxL" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/turf/open/floor/iron/checker{
@@ -71797,22 +71863,6 @@
},
/turf/open/floor/plating,
/area/station/cargo/sorting)
-"xyh" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/door/firedoor,
-/obj/effect/turf_decal/delivery/red,
-/obj/machinery/door/airlock/medical/glass{
- id_tag = "MedbayFoyer";
- name = "Medbay Clinic"
- },
-/obj/machinery/door/poddoor/shutters/preopen{
- id = "medlock";
- name = "Lockdown Shutters"
- },
-/turf/open/floor/iron/white/small,
-/area/station/medical/medbay/lobby)
"xyk" = (
/obj/structure/table,
/obj/effect/turf_decal/tile/blue/full,
@@ -71878,14 +71928,6 @@
/obj/machinery/door/firedoor,
/turf/open/floor/catwalk_floor,
/area/station/hallway/secondary/entry)
-"xyZ" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/broken_flooring/pile/directional/east,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/aft)
"xzd" = (
/obj/structure/lattice,
/obj/structure/railing/corner,
@@ -71948,23 +71990,6 @@
/obj/structure/reagent_dispensers/fueltank,
/turf/open/floor/plating,
/area/station/maintenance/fore/lesser)
-"xAv" = (
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/effect/spawner/random/trash,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/aft)
-"xAA" = (
-/obj/effect/turf_decal/tile/green/half/contrasted{
- dir = 1
- },
-/obj/structure/chair{
- pixel_y = -2
- },
-/turf/open/floor/iron/white,
-/area/station/medical/virology)
"xAG" = (
/turf/closed/wall,
/area/station/maintenance/department/prison)
@@ -71974,6 +71999,10 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/department/prison)
+"xAM" = (
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/ai_monitored/turret_protected/ai_upload)
"xAO" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -72003,32 +72032,18 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
+"xBi" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/recreation)
"xBj" = (
/obj/machinery/holopad,
/turf/open/floor/iron/dark/smooth_large,
/area/station/ai_monitored/turret_protected/ai_upload)
-"xBp" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/status_display/ai/directional/south,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/dock)
-"xBx" = (
-/obj/structure/chair/sofa/bench/right{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 8
- },
-/obj/machinery/newscaster/directional/west,
-/turf/open/floor/iron/white/corner{
- dir = 1
- },
-/area/station/hallway/secondary/entry)
"xBD" = (
/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden,
/obj/effect/turf_decal/tile/yellow,
@@ -72056,11 +72071,6 @@
},
/turf/open/floor/mineral/titanium,
/area/station/command/heads_quarters/ce)
-"xCl" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/stairs,
-/area/station/hallway/primary/central/fore)
"xCH" = (
/obj/structure/railing{
dir = 9
@@ -72083,7 +72093,7 @@
/area/station/security/execution/transfer)
"xCT" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
+ dir = 8
},
/turf/open/floor/iron/dark/smooth_edge{
dir = 8
@@ -72138,45 +72148,23 @@
},
/turf/open/floor/iron/small,
/area/station/hallway/primary/starboard)
-"xDS" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment{
+"xDz" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 4
},
-/obj/machinery/duct,
-/turf/open/floor/plating,
-/area/station/maintenance/central/lesser)
-"xEd" = (
-/obj/machinery/power/apc/auto_name/directional/west,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/small,
-/area/station/science/cubicle)
+/obj/effect/turf_decal/trimline/blue/filled/corner{
+ dir = 8
+ },
+/turf/open/floor/iron/white,
+/area/station/medical/treatment_center)
"xEe" = (
/obj/machinery/portable_atmospherics/canister/air,
/turf/open/floor/plating,
/area/station/maintenance/starboard/central)
-"xEn" = (
-/obj/machinery/airlock_sensor/incinerator_ordmix{
- pixel_x = 24
- },
-/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden{
- dir = 4
- },
-/obj/machinery/atmospherics/components/binary/pump/on{
- dir = 1
- },
-/turf/open/floor/engine,
-/area/station/science/ordnance/burnchamber)
-"xEo" = (
-/obj/effect/turf_decal/siding/thinplating_new/light{
- dir = 4
- },
+"xEq" = (
/obj/structure/cable,
-/turf/open/floor/iron/smooth_large,
-/area/station/science/robotics/mechbay)
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/central)
"xEv" = (
/obj/structure/sign/departments/holy/directional/west,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -72198,40 +72186,6 @@
/obj/structure/flora/bush/flowers_yw/style_random,
/turf/open/misc/sandy_dirt,
/area/station/commons/fitness/locker_room)
-"xEQ" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/heat_exchanging/junction/layer2{
- dir = 1
- },
-/turf/open/floor/plating,
-/area/station/science/ordnance/freezerchamber)
-"xEW" = (
-/obj/structure/table/glass,
-/obj/item/reagent_containers/syringe/epinephrine{
- pixel_x = 3;
- pixel_y = -2
- },
-/obj/item/reagent_containers/cup/beaker/cryoxadone{
- pixel_x = 6;
- pixel_y = 10
- },
-/obj/item/reagent_containers/cup/beaker/cryoxadone{
- pixel_x = 9;
- pixel_y = 3
- },
-/obj/item/reagent_containers/spray/cleaner{
- pixel_x = -6;
- pixel_y = 13
- },
-/obj/item/wrench/medical{
- pixel_x = -5
- },
-/obj/machinery/light/cold/directional/north,
-/turf/open/floor/iron/small,
-/area/station/medical/cryo)
"xFe" = (
/turf/closed/wall,
/area/station/security/lockers)
@@ -72263,14 +72217,6 @@
/obj/structure/closet/emcloset,
/turf/open/floor/iron,
/area/station/commons/dorms)
-"xFI" = (
-/obj/machinery/door/airlock/research/glass{
- name = "Freezer"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/ordnance,
-/obj/machinery/atmospherics/pipe/smart/simple/purple/visible,
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance/freezerchamber)
"xFL" = (
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
dir = 1
@@ -72292,19 +72238,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"xFT" = (
-/obj/structure/table/wood,
-/obj/item/pen/fountain{
- pixel_x = -4
- },
-/obj/item/coin/gold{
- pixel_x = 4;
- pixel_y = 5
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/item/radio/intercom/directional/south,
-/turf/open/floor/iron/grimy,
-/area/station/commons/vacant_room/office)
"xFZ" = (
/obj/structure/disposalpipe/segment{
dir = 6
@@ -72327,6 +72260,30 @@
},
/turf/open/floor/catwalk_floor/iron_smooth,
/area/station/security/checkpoint/escape)
+"xGn" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/door/firedoor,
+/obj/effect/mapping_helpers/airlock/access/any/command/general,
+/obj/machinery/door/poddoor/preopen{
+ id = "bridge blast";
+ name = "Bridge Blast Door"
+ },
+/obj/machinery/door/airlock/command{
+ name = "Council Chambers"
+ },
+/turf/open/floor/iron/dark/textured_half{
+ dir = 1
+ },
+/area/station/command/heads_quarters/hop)
+"xGq" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/chair/wood{
+ dir = 1
+ },
+/turf/open/floor/iron/small,
+/area/station/service/barber)
"xGw" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
@@ -72415,22 +72372,6 @@
/obj/item/radio/intercom/directional/south,
/turf/open/floor/iron,
/area/station/security/tram)
-"xHS" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/storage/tcomms)
-"xIf" = (
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/iron/herringbone,
-/area/station/commons/dorms)
"xIj" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -72454,6 +72395,17 @@
},
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
+"xIy" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/obj/machinery/door/poddoor/shutters{
+ dir = 1;
+ id = "aibridge"
+ },
+/obj/effect/spawner/random/structure/grille,
+/turf/open/floor/plating,
+/area/station/maintenance/department/engine)
"xIA" = (
/obj/effect/turf_decal/arrows{
dir = 8
@@ -72478,6 +72430,12 @@
/obj/item/radio/intercom/directional/south,
/turf/open/floor/plating,
/area/station/engineering/gravity_generator)
+"xIK" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/catwalk_floor/iron,
+/area/station/science/lobby)
"xIP" = (
/turf/closed/wall/r_wall,
/area/station/hallway/secondary/construction)
@@ -72492,11 +72450,15 @@
dir = 8
},
/area/station/hallway/secondary/dock)
-"xJm" = (
-/obj/machinery/status_display/evac/directional/north,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/dock)
+"xJu" = (
+/obj/machinery/firealarm/directional/west,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/white/side{
+ dir = 8
+ },
+/area/station/science/research)
"xJw" = (
/obj/structure/cable,
/obj/effect/turf_decal/trimline/neutral/line{
@@ -72529,19 +72491,14 @@
},
/turf/open/floor/wood,
/area/station/engineering/atmos/storage)
-"xJW" = (
-/obj/effect/spawner/random/engineering/tracking_beacon,
+"xJY" = (
/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
+ dir = 8
},
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/iron/dark/diagonal,
-/area/station/ai_monitored/command/storage/eva)
+/turf/open/floor/iron,
+/area/station/hallway/secondary/recreation)
"xJZ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -72612,12 +72569,15 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/security/processing)
-"xKA" = (
-/obj/machinery/atmospherics/components/trinary/filter{
+"xKy" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/red{
dir = 4
},
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance/testlab)
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/hallway/primary/fore)
"xKG" = (
/turf/open/floor/iron,
/area/station/hallway/primary/port)
@@ -72627,6 +72587,14 @@
},
/turf/open/floor/iron,
/area/station/cargo/storage)
+"xKL" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/neutral,
+/obj/structure/sign/departments/court/directional/east,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"xKQ" = (
/obj/effect/turf_decal/tile/dark_red/fourcorners,
/obj/machinery/firealarm/directional/north,
@@ -72650,14 +72618,6 @@
},
/turf/open/floor/plating,
/area/station/medical/medbay/lobby)
-"xLk" = (
-/obj/machinery/camera/directional/north{
- c_tag = "Xenobiology - Killroom Chamber";
- name = "xenobiology camera";
- network = list("ss13","xeno","rd")
- },
-/turf/open/floor/circuit/telecomms/mainframe,
-/area/station/science/xenobiology)
"xLl" = (
/obj/machinery/door/airlock/external{
name = "Labor Camp Shuttle Airlock";
@@ -72692,21 +72652,15 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/station/maintenance/department/engine/atmos)
+"xLz" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/ai_monitored/turret_protected/ai_upload)
"xLE" = (
/obj/structure/barricade/wooden/crude,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"xLF" = (
-/obj/machinery/atmospherics/components/binary/pump/on{
- dir = 1;
- name = "Engine Coolant Bypass"
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/structure/cable,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"xLS" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible,
/obj/machinery/meter/monitored/distro_loop,
@@ -72736,6 +72690,15 @@
/obj/machinery/light/floor,
/turf/open/floor/noslip,
/area/station/medical/treatment_center)
+"xMb" = (
+/obj/structure/window/reinforced/spawner/directional/north,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/dark/side,
+/area/station/science/xenobiology)
"xMc" = (
/obj/machinery/holopad,
/obj/machinery/light/cold/directional/west,
@@ -72751,13 +72714,6 @@
/obj/effect/mapping_helpers/airlock/access/all/service/chapel_office,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"xMk" = (
-/obj/machinery/light/floor,
-/obj/effect/turf_decal/siding/dark{
- dir = 4
- },
-/turf/open/floor/iron/dark/smooth_large,
-/area/station/command/bridge)
"xMo" = (
/obj/item/stack/cable_coil/five,
/obj/effect/decal/cleanable/glass,
@@ -72780,16 +72736,29 @@
/obj/machinery/newscaster/directional/north,
/turf/open/floor/iron,
/area/station/commons/fitness/locker_room)
-"xMK" = (
-/obj/machinery/airalarm/directional/south,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{
- dir = 4
+"xMx" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/table,
+/obj/machinery/reagentgrinder{
+ pixel_x = -9;
+ pixel_y = 8
+ },
+/obj/item/stock_parts/matter_bin{
+ pixel_x = 6;
+ pixel_y = 7
+ },
+/obj/item/stock_parts/matter_bin{
+ pixel_x = 8
},
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark,
-/area/station/science/ordnance)
+/area/station/science/lab)
+"xMA" = (
+/obj/machinery/door/airlock{
+ name = "Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
+/turf/open/floor/iron,
+/area/station/maintenance/department/science/xenobiology)
"xMM" = (
/obj/item/stack/sheet/mineral/titanium,
/turf/open/floor/tram,
@@ -72824,14 +72793,12 @@
/obj/structure/window/reinforced/spawner/directional/east,
/turf/open/floor/plating,
/area/station/hallway/primary/central/fore)
-"xNL" = (
-/obj/machinery/door/airlock{
- name = "Auxiliary Bathrooms"
- },
+"xNV" = (
+/obj/structure/broken_flooring/singular/directional/south,
+/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/hallway/secondary/entry)
+/turf/open/floor/iron,
+/area/station/maintenance/starboard/greater)
"xNX" = (
/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
dir = 4
@@ -72874,13 +72841,6 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"xOT" = (
-/obj/structure/table,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/item/storage/dice,
-/obj/machinery/newscaster/directional/north,
-/turf/open/floor/iron,
-/area/station/security/prison/rec)
"xPd" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -72926,38 +72886,17 @@
},
/turf/open/floor/grass,
/area/station/service/chapel)
-"xPv" = (
-/obj/effect/landmark/start/cyborg,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/dark,
-/area/station/ai_monitored/turret_protected/ai_upload_foyer)
-"xPx" = (
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/landmark/start/hangover,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/recreation)
"xPH" = (
/obj/machinery/light/small/directional/north,
/turf/open/floor/plating,
/area/station/maintenance/disposal/incinerator)
-"xPJ" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/obj/structure/cable,
+"xPM" = (
/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/trimline/neutral/line{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/neutral/line{
+/obj/structure/cable,
+/turf/open/floor/iron/dark/side{
dir = 8
},
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
+/area/station/science/lab)
"xPN" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -72970,14 +72909,6 @@
/obj/item/kirbyplants/random/fullysynthetic,
/turf/open/floor/wood/parquet,
/area/station/medical/psychology)
-"xPY" = (
-/obj/machinery/light/cold/directional/south,
-/obj/effect/turf_decal/stripes/line,
-/obj/structure/sign/departments/aiupload/directional/south,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white,
-/area/station/hallway/primary/starboard)
"xQa" = (
/turf/closed/wall,
/area/station/medical/treatment_center)
@@ -72994,15 +72925,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/iron/dark/small,
/area/station/science/xenobiology)
-"xQj" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/dock)
"xQv" = (
/obj/structure/cable,
/obj/structure/closet/secure_closet/hop,
@@ -73019,12 +72941,6 @@
},
/turf/open/floor/plating,
/area/station/command/heads_quarters/hop)
-"xQy" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit/departure_lounge)
"xQD" = (
/obj/structure/chair/wood/wings,
/obj/effect/turf_decal/siding/wood{
@@ -73039,6 +72955,11 @@
"xQJ" = (
/turf/closed/wall,
/area/station/service/abandoned_gambling_den/gaming)
+"xQW" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white,
+/area/station/hallway/primary/starboard)
"xQX" = (
/obj/machinery/light/small/directional/east,
/turf/open/floor/iron/diagonal,
@@ -73072,6 +72993,17 @@
/obj/machinery/light/small/directional/west,
/turf/open/floor/iron/freezer,
/area/station/command/heads_quarters/captain/private)
+"xRn" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/mapping_helpers/broken_floor,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical/central)
"xRq" = (
/obj/machinery/portable_atmospherics/canister/air,
/turf/open/floor/plating,
@@ -73090,11 +73022,6 @@
dir = 4
},
/area/station/hallway/primary/central/fore)
-"xRB" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white,
-/area/station/hallway/primary/starboard)
"xRC" = (
/obj/structure/cable,
/obj/effect/mapping_helpers/airlock/access/all/supply/general,
@@ -73106,15 +73033,6 @@
"xRH" = (
/turf/closed/wall,
/area/station/maintenance/fore/lesser)
-"xRI" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/blue/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/white,
-/area/station/medical/medbay/lobby)
"xRU" = (
/obj/machinery/door/airlock/maintenance/external{
name = "Command Storeroom"
@@ -73136,15 +73054,6 @@
/obj/structure/barricade/wooden/crude,
/turf/open/floor/plating,
/area/station/service/abandoned_gambling_den/gaming)
-"xSd" = (
-/obj/effect/spawner/random/vending/snackvend,
-/obj/effect/turf_decal/delivery,
-/obj/effect/turf_decal/tile/blue,
-/obj/machinery/status_display/ai/directional/east,
-/turf/open/floor/iron/dark/side{
- dir = 4
- },
-/area/station/hallway/primary/fore)
"xSe" = (
/obj/structure/table/glass,
/obj/structure/microscope,
@@ -73166,6 +73075,17 @@
/obj/machinery/light/cold/directional/east,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"xSD" = (
+/obj/structure/closet/crate/freezer/blood,
+/obj/machinery/camera/autoname/directional/east,
+/obj/effect/turf_decal/tile/dark_blue/half/contrasted{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/white{
+ dir = 1
+ },
+/turf/open/floor/iron/kitchen_coldroom,
+/area/station/medical/coldroom)
"xSF" = (
/obj/structure/disposalpipe/segment{
dir = 5
@@ -73204,6 +73124,13 @@
/obj/structure/sign/departments/med/directional/north,
/turf/open/floor/iron/dark/side,
/area/station/cargo/sorting)
+"xSZ" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white,
+/area/station/hallway/primary/starboard)
"xTf" = (
/obj/structure/disposalpipe/segment{
dir = 10
@@ -73212,12 +73139,6 @@
/obj/structure/broken_flooring/pile/directional/east,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
-"xTo" = (
-/obj/structure/window/spawner/directional/south,
-/obj/structure/window/spawner/directional/north,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/greater)
"xTr" = (
/obj/effect/turf_decal/stripes/line{
dir = 6
@@ -73225,6 +73146,32 @@
/obj/structure/closet/firecloset,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
+"xTt" = (
+/obj/structure/table/wood,
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/obj/item/storage/box/matches{
+ pixel_x = -1;
+ pixel_y = -4
+ },
+/obj/machinery/light/small/directional/north,
+/turf/open/floor/wood/large,
+/area/station/maintenance/department/science/xenobiology)
+"xTv" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/obj/structure/window/reinforced/spawner/directional/west,
+/obj/effect/turf_decal/tile/red/anticorner/contrasted{
+ dir = 8
+ },
+/obj/item/kirbyplants/random,
+/obj/effect/turf_decal/siding/thinplating_new/dark/corner{
+ dir = 8
+ },
+/turf/open/floor/iron/smooth,
+/area/station/security/checkpoint/customs/auxiliary)
"xTB" = (
/obj/structure/chair/sofa/left{
dir = 4
@@ -73278,43 +73225,26 @@
},
/turf/open/floor/iron/white/corner,
/area/station/hallway/secondary/exit/departure_lounge)
-"xUn" = (
-/obj/machinery/computer/records/medical{
+"xUm" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/turf_decal/stripes/corner{
dir = 8
},
-/obj/effect/turf_decal/tile/blue/fourcorners,
-/obj/item/radio/intercom/directional/east,
-/obj/machinery/button/door/directional/north{
- id = "medlock";
- name = "Medbay Lockdown Control";
- req_access = list("medical")
- },
-/turf/open/floor/iron/white,
-/area/station/medical/medbay/lobby)
+/obj/structure/cable,
+/obj/structure/window/reinforced/spawner/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/science/xenobiology)
"xUr" = (
/obj/structure/rack,
/obj/machinery/flasher/directional/west,
/obj/item/storage/toolbox/electrical,
/turf/open/floor/circuit/red,
/area/station/ai_monitored/turret_protected/ai_upload)
-"xUt" = (
-/obj/structure/window/reinforced/spawner/directional/north,
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/ai_monitored/turret_protected/ai_upload)
"xUy" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/fore/greater)
-"xUB" = (
-/obj/structure/window/reinforced/spawner/directional/north,
-/obj/structure/sign/plaques/kiddie{
- pixel_y = -4
- },
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/ai_monitored/turret_protected/ai_upload)
"xUK" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -73348,14 +73278,6 @@
},
/turf/open/floor/circuit/red,
/area/station/ai_monitored/turret_protected/ai_upload)
-"xUT" = (
-/obj/effect/turf_decal/siding/thinplating/terracotta/corner{
- dir = 8
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/commons/dorms)
"xUV" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -73379,60 +73301,50 @@
},
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"xVd" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
+"xVv" = (
/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/engineering/storage/tech)
-"xVj" = (
+/turf/open/floor/iron/white/small,
+/area/station/science/cubicle)
+"xVD" = (
+/obj/structure/rack,
+/obj/item/poster/random_official{
+ pixel_y = 7
+ },
+/obj/item/poster/random_official{
+ pixel_y = 3
+ },
+/obj/item/poster/random_official,
+/obj/effect/turf_decal/bot_white,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/turf/open/floor/iron/dark,
+/area/station/maintenance/department/science/xenobiology)
+"xVG" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/machinery/airalarm/directional/north,
-/obj/item/clothing/head/cone{
- pixel_x = 6;
- pixel_y = 1
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
},
/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/dock)
-"xVn" = (
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/effect/landmark/start/roboticist,
-/obj/machinery/conveyor_switch/oneway{
- id = "fab1";
- pixel_x = 10;
- pixel_y = 11
- },
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/science/robotics/lab)
+/turf/open/floor/iron/white/side,
+/area/station/science/research)
"xVV" = (
/obj/effect/spawner/structure/window/reinforced/tinted,
/turf/open/floor/plating,
/area/station/service/janitor)
-"xVY" = (
-/obj/item/restraints/handcuffs,
-/obj/structure/table/reinforced,
-/obj/effect/turf_decal/tile/red/opposingcorners{
- dir = 1
- },
-/obj/machinery/recharger{
- pixel_x = -5;
- pixel_y = 10
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/security/checkpoint/science)
"xWd" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/mapping_helpers/broken_floor,
/obj/effect/spawner/random/trash,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
+"xWg" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/neutral,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"xWk" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/effect/turf_decal/stripes/line{
@@ -73463,19 +73375,6 @@
"xWs" = (
/turf/open/floor/catwalk_floor/iron_smooth,
/area/station/science/robotics/mechbay)
-"xWw" = (
-/obj/effect/turf_decal/tile/red/opposingcorners{
- dir = 1
- },
-/obj/structure/chair/office{
- dir = 4
- },
-/obj/effect/landmark/start/depsec/science,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/security/checkpoint/science)
"xWz" = (
/obj/structure/cable,
/obj/machinery/power/solar_control{
@@ -73498,6 +73397,15 @@
},
/turf/open/floor/iron/white,
/area/station/science/research)
+"xWF" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 9
+ },
+/obj/effect/turf_decal/weather/dirt{
+ dir = 5
+ },
+/turf/open/floor/plating/rust,
+/area/station/medical/morgue)
"xWK" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -73510,12 +73418,6 @@
},
/turf/open/floor/iron/white/corner,
/area/station/hallway/secondary/exit/departure_lounge)
-"xWL" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/sign/poster/contraband/random/directional/west,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/turf/open/floor/light/colour_cycle/dancefloor_b,
-/area/station/maintenance/starboard/central)
"xWW" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/blue,
@@ -73543,28 +73445,6 @@
},
/turf/open/floor/iron/small,
/area/station/engineering/break_room)
-"xXr" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/yellow{
- dir = 8
- },
-/obj/machinery/light/cold/directional/west,
-/turf/open/floor/iron/white/corner{
- dir = 1
- },
-/area/station/hallway/primary/aft)
-"xXy" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/aft)
"xXD" = (
/obj/effect/turf_decal/siding/thinplating_new/light,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -73645,22 +73525,9 @@
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/security/processing)
-"xYz" = (
-/obj/structure/alien/weeds,
-/obj/effect/gibspawner/human,
-/turf/open/misc/asteroid,
-/area/station/maintenance/starboard/greater)
"xYD" = (
/turf/open/floor/grass,
/area/station/service/chapel)
-"xYE" = (
-/obj/effect/turf_decal/trimline/neutral/warning{
- dir = 9
- },
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/structure/cable,
-/turf/open/floor/iron/dark/small,
-/area/station/medical/morgue)
"xYG" = (
/turf/closed/wall,
/area/station/engineering/supermatter/room)
@@ -73679,6 +73546,47 @@
"xYO" = (
/turf/closed/wall/r_wall,
/area/station/maintenance/department/bridge)
+"xYQ" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/structure/cable,
+/turf/open/floor/iron/white/side,
+/area/station/science/research)
+"xYV" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/siding/wideplating/dark{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/commons/fitness/locker_room)
+"xYY" = (
+/obj/effect/turf_decal/tile/yellow/half/contrasted{
+ dir = 4
+ },
+/obj/structure/table,
+/obj/item/storage/toolbox/mechanical{
+ pixel_y = 9
+ },
+/obj/item/storage/toolbox/mechanical,
+/obj/item/clothing/head/utility/welding,
+/turf/open/floor/iron,
+/area/station/medical/chemistry)
+"xZb" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/neutral/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/neutral/line,
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
"xZe" = (
/obj/effect/landmark/start/chaplain,
/obj/effect/turf_decal/siding/wood/end{
@@ -73692,14 +73600,6 @@
/obj/effect/landmark/navigate_destination/det,
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"xZs" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/yellow/opposingcorners,
-/obj/effect/turf_decal/siding/white,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/construction)
"xZx" = (
/obj/structure/lattice/catwalk,
/obj/structure/marker_beacon/jade,
@@ -73708,14 +73608,12 @@
"xZy" = (
/turf/open/floor/plating,
/area/station/maintenance/starboard/greater)
-"xZE" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/turf_decal/siding/purple{
- dir = 4
+"xZJ" = (
+/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_ordmix{
+ dir = 8
},
-/obj/machinery/camera/autoname/directional/east,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/rd)
+/turf/open/floor/engine,
+/area/station/science/ordnance/burnchamber)
"xZN" = (
/obj/effect/turf_decal/tile/dark_red/anticorner/contrasted{
dir = 8
@@ -73728,14 +73626,6 @@
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/hallway/primary/central/fore)
-"xZX" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/aft)
"xZY" = (
/obj/effect/turf_decal/tile/blue{
dir = 1
@@ -73743,6 +73633,15 @@
/obj/machinery/firealarm/directional/south,
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
+"yac" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/iron/smooth,
+/area/station/hallway/secondary/command)
"yag" = (
/obj/structure/cable,
/obj/machinery/power/apc/auto_name/directional/north,
@@ -73754,6 +73653,15 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
+"yao" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/stairs/left{
+ dir = 1
+ },
+/area/station/maintenance/hallway/abandoned_command)
"yap" = (
/obj/effect/turf_decal/tile/dark_red{
dir = 4
@@ -73767,6 +73675,15 @@
/obj/machinery/power/tracker,
/turf/open/space/basic,
/area/station/solars/port)
+"yaD" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/siding/white/corner{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/small,
+/area/station/science/xenobiology)
"yaE" = (
/obj/structure/cable,
/obj/effect/turf_decal/siding/dark_red{
@@ -73800,6 +73717,12 @@
},
/turf/open/floor/iron/dark/small,
/area/station/service/chapel/storage)
+"yba" = (
+/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible/layer2{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance)
"ybh" = (
/obj/structure/cable,
/obj/effect/spawner/structure/window/reinforced,
@@ -73815,6 +73738,15 @@
/obj/effect/mapping_helpers/airlock/access/all/security/general,
/turf/open/floor/iron/textured_half,
/area/station/security/interrogation)
+"ybo" = (
+/obj/effect/turf_decal/siding/thinplating_new/light{
+ dir = 8
+ },
+/obj/effect/landmark/event_spawn,
+/obj/machinery/light/floor,
+/obj/structure/cable,
+/turf/open/floor/iron/grimy,
+/area/station/science/cubicle)
"ybp" = (
/obj/machinery/air_sensor/oxygen_tank,
/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
@@ -73827,18 +73759,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/department/engine/atmos)
-"ybD" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/public/glass{
- name = "Arrivals"
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/textured_half{
- dir = 8
- },
-/area/station/hallway/secondary/entry)
"ybJ" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -73861,6 +73781,28 @@
"ybO" = (
/turf/closed/wall/r_wall,
/area/station/engineering/atmos)
+"ybS" = (
+/obj/structure/table/reinforced,
+/obj/machinery/cell_charger{
+ pixel_y = 3;
+ pixel_x = 1
+ },
+/obj/item/stock_parts/power_store/cell/high,
+/obj/item/stock_parts/power_store/cell/high{
+ pixel_y = 2;
+ pixel_x = 4
+ },
+/obj/machinery/camera/autoname/motion/directional/west,
+/turf/open/floor/iron/dark,
+/area/station/engineering/storage/tech)
+"ybW" = (
+/obj/structure/table/reinforced,
+/obj/effect/spawner/surgery_tray/full/morgue,
+/obj/effect/turf_decal/trimline/dark_blue/filled/line{
+ dir = 6
+ },
+/turf/open/floor/iron/dark,
+/area/station/medical/morgue)
"ycb" = (
/obj/effect/turf_decal/weather/dirt{
dir = 6
@@ -73893,12 +73835,6 @@
/obj/structure/tram,
/turf/open/floor/tram,
/area/station/maintenance/port/aft)
-"ycj" = (
-/obj/structure/broken_flooring/singular/directional/east,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/hallway/secondary/dock)
"ycq" = (
/obj/machinery/modular_computer/preset/cargochat/science{
dir = 1
@@ -73935,6 +73871,10 @@
/obj/structure/sign/poster/official/random/directional/west,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"ydb" = (
+/mob/living/basic/mining/lobstrosity,
+/turf/open/misc/asteroid/airless,
+/area/space/nearstation)
"ydf" = (
/obj/effect/turf_decal/siding/wood{
dir = 4
@@ -73959,6 +73899,20 @@
/obj/item/radio/intercom/directional/north,
/turf/open/floor/wood/tile,
/area/station/command/bridge)
+"ydq" = (
+/obj/machinery/camera/directional/north{
+ c_tag = "Xenobiology - Cell 2";
+ name = "xenobiology camera";
+ network = list("ss13","xeno","rd")
+ },
+/obj/effect/turf_decal/box/red/corners{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/white/line{
+ dir = 10
+ },
+/turf/open/floor/engine,
+/area/station/science/xenobiology)
"ydL" = (
/obj/structure/disposalpipe/segment,
/obj/effect/decal/cleanable/dirt/dust,
@@ -73970,6 +73924,18 @@
"yeh" = (
/turf/closed/wall,
/area/station/hallway/primary/starboard)
+"yel" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
+"yen" = (
+/obj/structure/table/glass,
+/obj/item/radio/intercom/command,
+/obj/item/paper/fluff/jobs/engineering/frequencies,
+/turf/open/floor/carpet/executive,
+/area/station/command/meeting_room)
"yep" = (
/obj/structure/rack,
/obj/item/storage/box/bodybags{
@@ -74025,13 +73991,6 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"yeI" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/components/unary/outlet_injector/on{
- dir = 8
- },
-/turf/open/floor/engine/bz,
-/area/station/science/xenobiology)
"yeO" = (
/obj/structure/cable,
/obj/structure/window/reinforced/spawner/directional/south,
@@ -74040,15 +73999,6 @@
"yeP" = (
/turf/closed/wall/r_wall,
/area/station/engineering/storage/tech)
-"yeQ" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/machinery/door/poddoor/preopen{
- id = "Xenolab";
- name = "Test Chamber Blast Door"
- },
-/obj/structure/cable,
-/turf/open/floor/engine,
-/area/station/science/xenobiology)
"yeS" = (
/obj/effect/spawner/structure/window,
/obj/structure/curtain/cloth/fancy/mechanical{
@@ -74057,6 +74007,10 @@
},
/turf/open/floor/plating,
/area/station/security/detectives_office)
+"yeT" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners,
+/turf/open/floor/iron/dark,
+/area/station/maintenance/department/science/xenobiology)
"yeY" = (
/obj/structure/window/spawner/directional/east,
/obj/item/screwdriver,
@@ -74074,6 +74028,14 @@
"yfa" = (
/turf/open/floor/plating,
/area/station/maintenance/department/engine)
+"yfd" = (
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/iron/herringbone,
+/area/station/commons/dorms)
"yfg" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/dark/smooth_corner{
@@ -74086,13 +74048,6 @@
/obj/machinery/light/small/directional/north,
/turf/open/floor/iron/white/side,
/area/station/science/xenobiology)
-"yfA" = (
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/turf/open/floor/iron/dark/textured,
-/area/station/command/heads_quarters/hop)
"yfC" = (
/turf/closed/wall,
/area/station/service/hydroponics)
@@ -74135,16 +74090,28 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/security)
-"ygf" = (
-/obj/machinery/camera/directional/east{
- c_tag = "Xenobiology Lab - Test Chamber";
- network = list("ss13","rd","xeno")
- },
-/turf/open/floor/engine/bz,
-/area/station/science/xenobiology)
"ygu" = (
/turf/open/floor/iron/white,
/area/station/hallway/primary/starboard)
+"ygB" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/obj/machinery/duct,
+/turf/open/floor/plating,
+/area/station/maintenance/central/lesser)
+"ygC" = (
+/obj/machinery/door/airlock/external{
+ name = "Solar Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/general,
+/obj/effect/mapping_helpers/airlock/cyclelink_helper,
+/obj/structure/cable,
+/turf/open/floor/catwalk_floor/iron_smooth,
+/area/station/maintenance/solars/starboard/fore)
"ygK" = (
/obj/structure/table,
/obj/structure/window/reinforced/spawner/directional/west,
@@ -74172,21 +74139,15 @@
/obj/machinery/light/small/directional/east,
/turf/open/floor/iron/white,
/area/station/security/medical)
-"yha" = (
-/obj/structure/table,
-/obj/machinery/door/window/right/directional/north{
- name = "Core Modules";
- req_access = list("captain")
+"yhe" = (
+/obj/machinery/door/airlock/public{
+ name = "Abandoned Dock"
},
-/obj/effect/spawner/random/aimodule/harmless,
-/obj/structure/cable,
-/turf/open/floor/circuit/red,
-/area/station/ai_monitored/turret_protected/ai_upload)
-"yhn" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable,
-/turf/open/floor/circuit,
-/area/station/tcommsat/server)
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/dock)
"yhq" = (
/obj/item/kirbyplants/random,
/obj/effect/turf_decal/tile/neutral{
@@ -74196,13 +74157,6 @@
dir = 10
},
/area/station/hallway/primary/starboard)
-"yhB" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/plating,
-/area/station/maintenance/department/engine)
"yhF" = (
/obj/machinery/door/firedoor,
/turf/open/floor/iron,
@@ -74225,13 +74179,6 @@
},
/turf/open/floor/iron,
/area/station/maintenance/port/aft)
-"yhT" = (
-/obj/structure/chair{
- dir = 1
- },
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
"yhW" = (
/obj/structure/cable,
/turf/open/floor/iron/smooth,
@@ -74244,6 +74191,18 @@
},
/turf/open/floor/wood,
/area/station/service/chapel)
+"yhY" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/small,
+/area/station/commons/fitness/locker_room)
+"yib" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/light/small/directional/south,
+/obj/machinery/firealarm/directional/south,
+/turf/open/floor/wood/large,
+/area/station/command/heads_quarters/captain/private)
"yig" = (
/obj/structure/table,
/obj/structure/window/reinforced/spawner/directional/east,
@@ -74326,6 +74285,12 @@
},
/turf/open/floor/iron/white/side,
/area/station/hallway/primary/starboard)
+"yiU" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/science/robotics/lab)
"yiY" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/neutral{
@@ -74346,21 +74311,27 @@
/obj/machinery/light/no_nightlight/directional/south,
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"yja" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/broken_flooring/corner/directional/west,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science/xenobiology)
"yjd" = (
/turf/open/floor/iron/dark,
/area/station/security/lockers)
-"yjt" = (
-/obj/machinery/newscaster/directional/west,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/small,
-/area/station/science/cubicle)
+"yju" = (
+/obj/effect/turf_decal/siding/white{
+ dir = 9
+ },
+/obj/structure/railing{
+ dir = 9
+ },
+/obj/structure/table/glass,
+/obj/item/storage/box/monkeycubes{
+ pixel_x = -6;
+ pixel_y = 5
+ },
+/obj/item/storage/box/monkeycubes{
+ pixel_x = 6;
+ pixel_y = 2
+ },
+/turf/open/floor/iron/dark/small,
+/area/station/science/xenobiology)
"yjy" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -74447,6 +74418,20 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos/project)
+"ykl" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/structure/sign/departments/medbay/alt/directional/west,
+/turf/open/floor/iron/white/corner{
+ dir = 1
+ },
+/area/station/hallway/primary/aft)
"ykz" = (
/obj/effect/spawner/random/structure/closet_maintenance,
/turf/open/floor/plating,
@@ -74458,18 +74443,19 @@
/obj/structure/extinguisher_cabinet/directional/south,
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
+"ykV" = (
+/obj/machinery/firealarm/directional/west,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/corner{
+ dir = 4
+ },
+/area/station/science/lobby)
"ykZ" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/dark/small,
/area/station/security/brig)
-"ylo" = (
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/small,
-/area/station/science/lobby)
"ylp" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -74477,14 +74463,6 @@
},
/turf/open/floor/iron/dark,
/area/station/security/office)
-"ylq" = (
-/obj/structure/disposalpipe/junction/flip{
- dir = 1
- },
-/obj/effect/turf_decal/siding,
-/obj/structure/cable,
-/turf/open/floor/iron/white/small,
-/area/station/science/lobby)
"yly" = (
/obj/structure/disposalpipe/segment{
dir = 5
@@ -74502,6 +74480,11 @@
/obj/machinery/light/cold/directional/west,
/turf/open/floor/iron/dark/textured_large,
/area/station/cargo/bitrunning/den)
+"ylK" = (
+/obj/effect/turf_decal/tile/dark_red/anticorner/contrasted,
+/obj/structure/cable,
+/turf/open/floor/iron/smooth,
+/area/station/security/checkpoint/customs)
"ylR" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -74519,6 +74502,22 @@
/obj/structure/alien/weeds,
/turf/open/floor/wood,
/area/station/maintenance/starboard/greater)
+"ymf" = (
+/obj/structure/cable,
+/obj/machinery/keycard_auth/wall_mounted/directional/south,
+/obj/machinery/pdapainter{
+ pixel_y = 2
+ },
+/turf/open/floor/iron/dark/textured_corner{
+ dir = 4
+ },
+/area/station/command/heads_quarters/hop)
+"ymh" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/greater)
(1,1,1) = {"
dDB
@@ -81502,7 +81501,7 @@ tYT
aJq
aJq
pCn
-bDQ
+lXB
lmJ
lmJ
lmJ
@@ -83329,7 +83328,7 @@ nrn
wGT
wmL
civ
-tKD
+pal
ybO
tYT
tYT
@@ -83586,7 +83585,7 @@ ybO
xNX
fAD
civ
-ruh
+lqB
ybO
tYT
tYT
@@ -84407,7 +84406,7 @@ dDB
dDB
qyT
qyT
-ely
+sFm
qjk
rCv
uRe
@@ -84663,7 +84662,7 @@ slw
slw
slw
qyT
-sYo
+xwC
wcG
lct
qAs
@@ -84936,7 +84935,7 @@ yal
yal
yal
tms
-smh
+tXp
tms
lxZ
poE
@@ -85191,7 +85190,7 @@ wRN
yaI
xyM
yaI
-xQy
+klC
qRN
erg
yaI
@@ -85678,7 +85677,7 @@ pJm
oRZ
nJU
ppk
-eAf
+nha
ovQ
oRr
phj
@@ -85695,7 +85694,7 @@ mhk
tzq
mhk
mhk
-aRa
+eHF
onw
onw
onw
@@ -85705,7 +85704,7 @@ tDb
ttX
iNC
qyT
-nvK
+ucj
xBe
xBe
xBe
@@ -85962,7 +85961,7 @@ tDE
tWQ
ggc
qyT
-sbx
+ekc
lgj
kzv
hky
@@ -86192,8 +86191,8 @@ jTA
qYG
pZK
xKI
-kQM
-kQj
+qap
+rxW
pZK
xKI
mjQ
@@ -86702,7 +86701,7 @@ rWP
kMY
jWA
uzJ
-jtB
+fqZ
jJw
fxO
rPM
@@ -86959,7 +86958,7 @@ nyf
ejq
oEL
uzJ
-vzD
+pEC
amq
mRD
kEH
@@ -87240,7 +87239,7 @@ xZe
eWk
hAB
iSD
-cib
+dsa
vTn
wBm
wXk
@@ -87470,7 +87469,7 @@ jjq
jjq
jjq
rST
-iUN
+dzL
pIg
rLp
moz
@@ -87982,7 +87981,7 @@ jjq
dcu
jNc
qSH
-mKR
+nmN
rST
iVI
fma
@@ -87996,7 +87995,7 @@ lsH
nmE
dFn
wCI
-eJi
+cws
mhk
nFY
mhk
@@ -88101,7 +88100,7 @@ tDn
tDn
enE
xAG
-uRR
+nTH
vZb
hJC
aHJ
@@ -88201,7 +88200,7 @@ lYH
fGU
bYl
ksM
-cKy
+vWp
tAm
iQr
kfv
@@ -88216,7 +88215,7 @@ hFd
wdo
tkN
gBh
-vob
+gGD
ybs
knv
knv
@@ -88358,7 +88357,7 @@ tDn
wVI
npp
nNB
-iPy
+jrF
iWe
aWt
sis
@@ -88473,7 +88472,7 @@ fTf
tnF
dAI
whM
-loq
+rIh
sXm
fBO
knv
@@ -88492,7 +88491,7 @@ slY
lFb
qTS
wtd
-eQI
+cnb
vrW
uUz
uSM
@@ -88615,7 +88614,7 @@ tDn
eua
izh
xAG
-jWd
+xrh
rEV
cZA
hyX
@@ -89002,7 +89001,7 @@ dDB
dDB
blb
slY
-bUq
+cPc
xwz
xwz
cyQ
@@ -89292,7 +89291,7 @@ bTo
iSD
nDj
vUV
-hmH
+tSS
tBk
miF
miF
@@ -89528,8 +89527,8 @@ pNa
wzz
dXu
ahI
-lkL
-hGA
+vhV
+aUg
tsk
nzy
btG
@@ -89785,8 +89784,8 @@ xgK
upM
jQG
abv
-wcP
-kRb
+ipI
+aqx
rJL
nzy
gOS
@@ -89904,7 +89903,7 @@ eUb
pcb
oQF
oQF
-xOT
+tNU
oHa
ume
tyh
@@ -90007,7 +90006,7 @@ tdb
tdb
tdb
tdb
-qyr
+dOK
mLZ
naK
lER
@@ -90103,7 +90102,7 @@ utP
bVO
ezV
wuc
-iiX
+dzp
sos
trp
edK
@@ -90161,8 +90160,8 @@ ora
oTJ
hTZ
wjZ
-jUp
-lku
+wzZ
+fiR
ume
tyh
pDu
@@ -90305,7 +90304,7 @@ ePr
eCV
bjf
wuM
-mta
+mRE
xDl
kjb
wuM
@@ -90318,7 +90317,7 @@ jQv
mhk
oOC
xYD
-dhu
+cgi
kZI
miF
yhX
@@ -90574,7 +90573,7 @@ xYJ
jQv
mhk
rqF
-aFb
+chk
qzP
sQy
miF
@@ -90665,8 +90664,8 @@ xAG
lQA
xAG
dSu
-nPH
-wWR
+sgk
+ajk
pzy
dSu
oQF
@@ -90832,7 +90831,7 @@ ete
mhk
dlB
wJT
-sGk
+eTE
kZI
miF
yhX
@@ -91068,9 +91067,9 @@ slY
qgX
kAn
slY
-fWj
-hgp
-hgp
+uNO
+bwU
+bwU
lKf
cCC
aBQ
@@ -91289,7 +91288,7 @@ uaT
nGP
nPF
wQi
-rKR
+wmZ
rHe
ecf
bNq
@@ -91325,7 +91324,7 @@ slY
brO
wZF
dTj
-umL
+gKz
uJV
uJV
gnO
@@ -91394,7 +91393,7 @@ wuc
mqH
tiW
geb
-bRr
+opq
ufg
wuc
iai
@@ -91545,7 +91544,7 @@ wfn
gKL
lwW
kBZ
-elv
+xgk
lwW
rQi
hgv
@@ -91582,7 +91581,7 @@ slY
apP
jHC
slY
-hjA
+fWA
mnU
nzO
jln
@@ -91646,12 +91645,12 @@ jWs
lnz
wuc
xul
-auf
+iIc
wuc
ufg
tiW
qjE
-bRr
+opq
ufg
wuc
jHa
@@ -92049,7 +92048,7 @@ kMe
knw
fGf
ayK
-izf
+rDn
aWA
ugA
tIN
@@ -92306,7 +92305,7 @@ kMe
qkq
wRy
ayK
-goS
+puh
aWA
thb
oxc
@@ -92322,8 +92321,8 @@ fvs
hpj
rYL
gpI
-jlL
-qQR
+wkY
+mft
bNq
neg
wZr
@@ -92340,7 +92339,7 @@ dDB
dDB
dDB
qiz
-lKV
+cYe
mGY
hXf
xGf
@@ -92417,7 +92416,7 @@ dLv
xzE
wuc
psX
-mag
+mLx
wuc
qjT
ufg
@@ -92563,7 +92562,7 @@ gAV
qkq
wRy
urz
-dkD
+bqM
iEc
uuA
oba
@@ -92574,7 +92573,7 @@ gKL
mZb
pmg
kxb
-rsr
+csp
rFC
qEm
waX
@@ -92597,7 +92596,7 @@ dDB
dDB
dDB
qiz
-lKV
+cYe
mGZ
qOm
fuV
@@ -92831,7 +92830,7 @@ gKL
nmX
cyy
paX
-rdH
+ntQ
gpI
ceP
mcj
@@ -92857,7 +92856,7 @@ sRg
hBq
mIA
sRg
-kuQ
+ezC
hgZ
hgZ
kaz
@@ -92873,8 +92872,8 @@ sKj
gXB
rhF
xLw
-oim
-wie
+idb
+fYE
mhk
jab
rSM
@@ -92976,10 +92975,10 @@ lkR
hrO
wtr
skn
-wsG
+eSi
wtr
skn
-eoa
+jrc
wtr
leC
lfC
@@ -93103,7 +93102,7 @@ knv
cvJ
mid
knv
-esy
+vmg
blb
blb
blb
@@ -93237,7 +93236,7 @@ tHK
fUT
wbf
wbf
-eTr
+eNh
wtr
mtP
hXY
@@ -93329,7 +93328,7 @@ dyI
oer
oer
oTf
-eFi
+bxS
ayK
ayK
ayK
@@ -93373,7 +93372,7 @@ hCX
vwZ
gEM
iCw
-bnn
+tNL
lBz
mJe
iDO
@@ -93576,12 +93575,12 @@ dDB
hdT
tpW
vNO
-whZ
-qUR
-qUR
-wcY
-xLF
-iiE
+cEh
+rbB
+rbB
+fBC
+rkN
+kzC
mib
mib
mib
@@ -93832,7 +93831,7 @@ ayK
ayK
ayK
tpW
-udO
+vPh
aNd
aNd
aNd
@@ -93883,12 +93882,12 @@ gwV
hNY
gBk
hNY
-sJO
+faK
gxR
inh
jvB
inh
-iZK
+ioe
hBt
hBt
jQW
@@ -93928,7 +93927,7 @@ rPA
iUh
sXs
atS
-aLs
+kTo
udA
mJB
vDe
@@ -94089,7 +94088,7 @@ ayK
lsF
ayK
rzb
-qme
+ciw
aNd
aNd
aNd
@@ -94125,13 +94124,13 @@ fQL
gnS
eiN
eVY
-llr
+sSt
eVY
dAz
eVY
ccG
oyU
-qCx
+gXY
eVY
eVY
eVY
@@ -94139,15 +94138,15 @@ eVY
msg
msg
hsc
-toU
-dZJ
-toU
+hyM
+gJO
+hyM
inR
-cBu
-cjY
-jax
-eFQ
-jtY
+fMj
+eZQ
+rNx
+xuz
+bNG
nTa
tlt
eIM
@@ -94185,7 +94184,7 @@ qGe
gNP
hzp
atS
-aLs
+kTo
fnP
gvV
itL
@@ -94272,7 +94271,7 @@ wbf
qen
pqK
brb
-wqY
+ajj
muS
vWY
sVN
@@ -94347,11 +94346,11 @@ mWB
sCC
ryr
vgf
-aeG
+wlr
dzh
-cvc
+kmr
buI
-kjs
+hTB
xUK
vni
nHH
@@ -94381,11 +94380,11 @@ cow
poL
rjv
hem
-hFp
-bgE
-jRo
-hKX
-cFY
+sTf
+xKy
+cUh
+akn
+qFz
yeP
yeP
yeP
@@ -94396,13 +94395,13 @@ qtG
qtG
qtG
lYj
-hJP
-noz
-niw
-xSd
-ubT
+jVl
+xgb
+eEl
+atl
+jyz
sUy
-niT
+avO
qju
qju
tsF
@@ -94635,40 +94634,40 @@ yeY
dQi
aeX
cow
-nFa
-nFa
-nFa
-nFa
-pLe
-bnd
-bnd
-bnd
+fHA
+fHA
+fHA
+fHA
+arS
+aZq
+aZq
+aZq
yeP
-ihJ
-xaW
-wWU
+usj
+kOW
+uya
blb
blb
blb
blb
hCr
hCr
-cfq
-cBA
+uvC
+utq
hCr
sUy
-utF
+uxi
sUy
-xoS
-hwo
+tjf
+iCe
noF
tsF
ijN
mDL
lfs
-wCt
-lEa
-lWk
+avz
+doV
+uxe
xRV
owR
wLo
@@ -94892,39 +94891,39 @@ lBm
iIW
kSc
jAz
-nFa
-dhC
-bqu
-vkD
-dsp
-pem
-fCs
-euR
+fHA
+aLK
+vYf
+ybS
+iHf
+aqc
+hOb
+pAS
yeP
-fAf
-iGu
-wWU
+bbR
+nQY
+uya
xep
xep
xep
xep
hCr
-mYp
-wlo
-olO
-uxd
+tph
+xhr
+nlX
+dvw
sUy
-mnN
-vbR
-iDk
-cmd
-alb
+pWs
+kAI
+sbS
+lLm
+dbV
uVT
uVT
ueH
xQw
uVT
-jsN
+sdE
jLI
xZS
vrn
@@ -95149,37 +95148,37 @@ yjE
wyH
vxt
vxt
-nFa
-kEx
-odh
-odh
-ijV
-odh
-hcz
-fNi
-stj
-bey
-lSw
-rkI
-kgk
-tPF
-kgk
-kgk
-krB
-nbv
-xJW
-fuv
-iaH
+fHA
+aAm
+pao
+pao
+vMH
+pao
+pcu
+oac
+rMq
+nXK
+gbq
+mQg
+nVk
+qLJ
+nVk
+nVk
+pmj
+pwj
+kdk
+cWm
+eAU
sUy
-pof
-vIz
-rto
+lEZ
+ePT
+xiI
gTi
-qlP
+xjV
uVT
sQI
iri
-bah
+ymf
uVT
uVT
gBw
@@ -95406,38 +95405,38 @@ yjE
pek
uUA
vTj
-nFa
-ncQ
-qoA
-xVd
-qug
-mmv
-eYx
-kpO
+fHA
+nTl
+gog
+jgx
+mCq
+xdY
+uPN
+aYw
yeP
-aYN
-bMU
-wWU
+wgr
+uqa
+uya
xuF
xuF
xuF
xuF
hCr
-jEp
-qGk
-bxB
-wIm
+hsD
+qHe
+pEF
+rQD
sUy
-uUe
-vIz
-jaK
-hwx
-iaV
+rXD
+ePT
+oku
+yen
+jrx
uVT
-rEY
+bjz
irQ
iIA
-qCJ
+pqA
xQw
jLI
jYU
@@ -95663,36 +95662,36 @@ yjE
tZI
nSd
nSd
-drO
-clH
-tIB
-mmv
-fXs
-ifi
-sYt
-oVF
+jSo
+llZ
+fnx
+xdY
+lxq
+oVb
+uCX
+otz
yeP
-ait
-xaW
-wWU
+iJD
+kOW
+uya
blb
blb
blb
blb
hCr
hCr
-qek
-igS
+bpk
+crQ
sUy
sUy
-pUy
-vIz
-pfC
+iEt
+ePT
+kuR
hur
-xtP
+poy
uVT
-vdj
-yfA
+ldk
+sLi
iJg
eHk
xQw
@@ -95920,14 +95919,14 @@ yjE
vxt
fBf
dhK
-nFa
-rLt
-cgt
-uRP
-nFa
-nFa
-nFa
-nFa
+fHA
+tVg
+vvI
+mqm
+fHA
+fHA
+fHA
+fHA
yeP
yeP
yeP
@@ -95938,18 +95937,18 @@ dDB
dDB
dDB
hCr
-hkH
-nmZ
-wkq
-fnz
-aZS
-gMe
-mcn
-reE
-qly
-qWL
-idJ
-itw
+dgN
+cUA
+idY
+gJc
+rSe
+fYy
+kBf
+fXp
+nWn
+xGn
+toS
+cCz
iKe
iWW
uVT
@@ -95970,7 +95969,7 @@ bLS
xeO
rbj
xeO
-sXD
+tAd
qSa
feR
aZh
@@ -96177,11 +96176,11 @@ vxt
iOx
iOx
mCL
-nFa
-pDK
-cgt
-kmC
-nFa
+fHA
+vGv
+vvI
+hga
+fHA
aJq
aJq
aJq
@@ -96195,15 +96194,15 @@ dDB
dDB
dDB
hCr
-mPx
-vYi
-wkq
-gTH
-ipf
-wmu
-gYK
-jnh
-hEm
+srp
+gII
+idY
+gXy
+tXs
+fxS
+dSf
+xkI
+uul
uVT
idN
pWB
@@ -96434,13 +96433,13 @@ dhK
dhK
vxt
ffp
-nFa
-dWS
-aDC
-qhl
-nFa
+fHA
+hQb
+dTO
+suy
+fHA
aJq
-vjX
+ydb
aJq
aJq
aJq
@@ -96453,13 +96452,13 @@ blb
ycC
ycC
pIS
-lzT
-hOD
-gUm
-mpJ
+iuu
+dtd
+pMN
+oMk
xGJ
xGJ
-pLr
+itG
xGJ
uVT
qXb
@@ -96691,11 +96690,11 @@ vxt
ddy
vxt
ddy
-nFa
-bnd
-bnd
-bnd
-nFa
+fHA
+aZq
+aZq
+aZq
+fHA
aJq
aJq
aJq
@@ -96710,14 +96709,14 @@ dDB
pIS
uAK
anb
-xsh
-owZ
-xsh
+xqU
+dRN
+xqU
ahE
-plz
-pHI
-jrU
-qCj
+jcw
+tjC
+orf
+ndB
uVT
uVT
eku
@@ -96940,9 +96939,9 @@ aJq
aJq
aJq
dDB
-kDB
-lZD
-mdV
+xIy
+sxo
+flJ
dDB
dDB
dDB
@@ -96967,11 +96966,11 @@ dDB
ycC
bQm
wkh
-jdJ
-xMk
-jYQ
+eHz
+tnT
+vsg
hcc
-cuw
+wzj
bBN
jwi
qtd
@@ -97197,9 +97196,9 @@ tYT
dDB
dDB
dDB
-cea
-yhB
-crE
+jAF
+jwk
+mgK
dDB
dDB
dDB
@@ -97222,13 +97221,13 @@ dDB
dDB
dDB
pIS
-gBx
+lPP
mvh
-nNe
-tuW
-tpl
+mvQ
+nCB
+lmh
hcd
-plz
+jcw
pkh
jwi
aeC
@@ -97243,7 +97242,7 @@ mvT
vET
kyO
wQB
-otC
+khR
jVM
dqF
sKh
@@ -97260,7 +97259,7 @@ lZf
qCK
dvd
dvd
-gNX
+xmB
dvd
tRJ
wBc
@@ -97454,9 +97453,9 @@ dDB
dDB
dDB
dDB
-cea
-uAX
-crE
+jAF
+cbL
+mgK
dDB
dDB
dDB
@@ -97481,17 +97480,17 @@ dDB
pIS
gBz
qqC
-tMh
-sUe
-xqv
-cEX
+sjs
+dGo
+pjD
+uny
xGJ
pie
jwi
jDa
fyt
uVT
-njA
+sIq
lqt
cpT
xQv
@@ -97500,7 +97499,7 @@ mvT
vET
ncL
wQB
-sgJ
+wVx
jVM
bgl
sjn
@@ -97711,9 +97710,9 @@ dDB
dDB
dDB
dDB
-cea
-yhB
-crE
+jAF
+jwk
+mgK
dDB
dDB
dDB
@@ -97738,11 +97737,11 @@ dDB
pIS
gBT
mxa
-nNe
-biB
-tpl
+mvQ
+oXz
+lmh
hcE
-plz
+jcw
pkh
jwi
tBo
@@ -97968,9 +97967,9 @@ blb
dDB
dDB
dDB
-iYr
-cTP
-nmq
+cAu
+dVi
+swQ
dDB
dDB
dDB
@@ -97995,11 +97994,11 @@ dDB
ycC
ydk
gFv
-hoN
-cKV
-dHL
+rPZ
+iDb
+chZ
giU
-cuw
+wzj
mID
jwi
jwi
@@ -98047,7 +98046,7 @@ dDB
tYX
iNF
diP
-fVM
+gfF
tYX
blb
blb
@@ -98226,7 +98225,7 @@ blb
wen
wen
wen
-cpA
+avb
wen
wen
rPf
@@ -98254,9 +98253,9 @@ gCg
mxe
uFm
rfo
-xsh
+xqU
gjS
-plz
+jcw
sDq
jwi
qtd
@@ -98482,7 +98481,7 @@ dDB
dDB
bSs
wBf
-jpF
+apz
cpP
csl
dDG
@@ -98511,7 +98510,7 @@ ycC
iEk
gJo
qMK
-ips
+buK
iEk
xGJ
xGJ
@@ -98555,8 +98554,8 @@ fzT
kUL
tYX
blb
-aef
-fBN
+wvX
+vtc
dDB
tYX
tKl
@@ -98765,11 +98764,11 @@ dDB
dDB
dDB
ycC
-gHe
+brk
noq
hMK
ueC
-hdd
+uHr
hhk
xGJ
hxj
@@ -98812,8 +98811,8 @@ qXP
kTF
iuR
dDB
-eVX
-qGf
+lMg
+hrg
blb
iuR
oqT
@@ -99069,8 +99068,8 @@ qFc
cEo
tYX
dDB
-kii
-nun
+cXG
+wal
blb
tYX
rNN
@@ -99282,7 +99281,7 @@ ycC
gFg
mQz
noq
-iqp
+iax
ueC
bNd
xGJ
@@ -99299,7 +99298,7 @@ xMY
dCu
eXR
wQB
-wwV
+qbU
dMC
ucO
jVM
@@ -99307,9 +99306,9 @@ jTn
xXe
jVM
ulE
-bvP
-amK
-kjx
+sOa
+dqi
+hnQ
xmt
mog
cCM
@@ -99539,8 +99538,8 @@ ycC
lfv
kHi
gLM
-iqF
-hdg
+fgd
+qVQ
aEc
xGJ
hxj
@@ -99556,7 +99555,7 @@ psc
dCu
rJZ
wQB
-xrt
+mQI
txW
nCX
jVM
@@ -99565,8 +99564,8 @@ qkm
qkm
ruS
jVM
-bxl
-bMn
+glQ
+iFc
xmt
uYM
aTg
@@ -99797,7 +99796,7 @@ ycC
ycC
ycC
noq
-byq
+jvv
tJF
qoD
jnZ
@@ -99813,7 +99812,7 @@ voN
sta
rJZ
wQB
-vpT
+dru
txW
eDi
jVM
@@ -99822,9 +99821,9 @@ mnH
jVM
tpQ
jVM
-ljg
-ddF
-pEU
+rRZ
+gQh
+cEr
duj
vCu
rxZ
@@ -100053,13 +100052,13 @@ hsO
gHP
qjy
ycC
-nRd
-hdH
-nRd
+tnK
+tQC
+tnK
qoD
-lIk
+khy
jVe
-hUq
+djD
qSZ
rpY
iNg
@@ -100079,8 +100078,8 @@ jVM
jVM
uvx
jVM
-iRQ
-hWL
+efv
+fxw
xmt
vfI
aTg
@@ -100311,7 +100310,7 @@ gHV
pRz
pbE
oUd
-rXv
+yac
oUd
fbl
pPK
@@ -100336,8 +100335,8 @@ jVM
jGy
aYj
sON
-ssY
-waY
+uEX
+vYC
xmt
cME
aTg
@@ -100391,7 +100390,7 @@ rTy
miA
cON
mBo
-fsk
+owE
raE
uCe
wER
@@ -100540,7 +100539,7 @@ jBA
xTV
dua
gnA
-dMX
+tXI
dZn
cEK
wct
@@ -100568,20 +100567,20 @@ mks
soO
gCA
gVc
-xbe
-kTH
-pTh
-mXk
-wgp
+mPg
+goe
+aUH
+bgm
+sBw
kVe
-pTh
-kTH
-kTH
-pTh
-nAn
-ivl
-tUc
-cCl
+aUH
+goe
+goe
+aUH
+vcw
+xet
+qPp
+cZW
ePk
tgx
jVM
@@ -100828,17 +100827,17 @@ pPK
jVe
oUd
pPK
-hxA
+aVu
soO
pPK
pPK
oUd
jVe
pPK
-jxC
-ufb
-xCl
-cYY
+esG
+bRG
+qFT
+mWb
wNs
wiF
jVM
@@ -101089,9 +101088,9 @@ jPa
gIb
nsc
vzt
-srl
+aJJ
soO
-lIk
+khy
jye
jOs
mAv
@@ -101129,7 +101128,7 @@ trB
trB
kHX
kHX
-dTg
+ftt
tYX
dDB
dDB
@@ -101174,8 +101173,8 @@ ijY
wgL
lLH
sSQ
-sqV
-dWz
+uQH
+vsq
sSQ
goB
jbt
@@ -101352,7 +101351,7 @@ ybh
quU
quU
tsF
-ubK
+fcN
lRM
vuD
qIb
@@ -101372,7 +101371,7 @@ qhR
pPU
xkV
gyy
-phG
+ekk
gyy
xkV
cvV
@@ -101420,7 +101419,7 @@ tLt
sSQ
aTp
lpX
-aXT
+rwQ
vFm
fNR
vDV
@@ -101637,7 +101636,7 @@ spH
nUd
dPp
aww
-nsz
+oqN
iuR
dDB
dDB
@@ -101676,8 +101675,8 @@ dYI
mDl
sSQ
mXt
-xhf
-qEB
+cPZ
+hjr
mGN
grx
vDV
@@ -101688,7 +101687,7 @@ xXG
wgL
ngq
sSQ
-liH
+iWB
uOw
eBQ
ndp
@@ -101933,7 +101932,7 @@ vYj
sSQ
rlr
rlr
-aip
+juB
egG
rlr
vDV
@@ -102132,7 +102131,7 @@ pbd
cig
hxp
wtv
-oRv
+pQc
jVM
kXC
mae
@@ -102149,7 +102148,7 @@ xkV
cvV
spH
nUd
-nJG
+sxl
aww
bje
tYX
@@ -102161,9 +102160,9 @@ dDB
dDB
dDB
qIf
-uMl
-aQr
-wCa
+wuL
+gyF
+mVV
ulb
vsx
oED
@@ -102182,7 +102181,7 @@ xQa
dDB
dDB
xSO
-wuj
+gnG
xrC
icY
sSQ
@@ -102190,19 +102189,19 @@ vYj
sSQ
fAY
cHO
-xhf
+cPZ
lNf
heF
nFD
-ljP
-pKS
-bkY
+bqi
+fFv
+gPx
lgQ
mbq
wgL
hgF
pVK
-oZY
+vIW
aTc
cku
ndp
@@ -102386,27 +102385,27 @@ wQB
tgl
lvA
nyy
-diK
-djc
-jgb
+mgA
+jII
+dmE
hRc
jVM
kXC
jVM
dxV
-jDT
+gjc
fOq
wJv
pPU
xkV
-cQN
-bXR
+iBd
+jsD
gyy
xkV
swW
vkh
kPh
-cSy
+uiP
bpY
sMt
tYX
@@ -102418,9 +102417,9 @@ dDB
dDB
dDB
qIf
-xEW
-dml
-lXT
+jmf
+bhs
+tci
gnQ
kIv
wDo
@@ -102429,7 +102428,7 @@ xuF
xuF
xQa
pqN
-tcz
+dkp
xIu
jHi
tAH
@@ -102446,13 +102445,13 @@ sSQ
vYj
sSQ
jxU
-sGH
-pPt
+eNn
+lEt
fFD
cbO
vDV
ahu
-clt
+irv
jbr
xRd
kel
@@ -102644,20 +102643,20 @@ tgl
wHO
pbG
wvv
-xvK
-vGe
+lIc
+cJr
xno
jVM
kXC
jVM
vkh
-kWF
+hJX
wtw
dJv
lTy
wAa
uUB
-fIl
+tkj
aYU
pPO
jFm
@@ -102675,12 +102674,12 @@ dDB
dDB
dDB
qIf
-tgJ
-aQr
-bDj
+lLd
+gyF
+uBU
onP
vsx
-ogr
+sZw
tFQ
blb
blb
@@ -102703,13 +102702,13 @@ sSQ
miA
sSQ
lgo
-fqn
+cpa
ogv
lNf
cGI
vDV
-oez
-ppp
+vif
+wNl
elC
mdm
cAd
@@ -102901,19 +102900,19 @@ tgl
tgl
xHD
tgl
-uIP
+psw
dsK
pHY
jVM
kXC
wKH
vkh
-hcQ
-jcB
-gGx
-xtD
-gIv
-cAl
+ibf
+wIo
+mpw
+nlh
+jBy
+aTh
npI
npI
wOt
@@ -102943,11 +102942,11 @@ xep
xep
xQa
ayf
-qTk
+xDz
rFy
vbO
-llC
-rbO
+vZt
+vCL
llP
xQa
xep
@@ -102969,11 +102968,11 @@ dBt
don
cSr
krY
-wTU
+ceY
wgL
swJ
sSQ
-lQZ
+nJm
sSQ
sSQ
lTU
@@ -103148,8 +103147,8 @@ uBQ
ptt
iOE
jcU
-jGB
-kyp
+ivN
+bZY
tsF
vrn
ePk
@@ -103158,11 +103157,11 @@ aCO
iLA
pcK
tgl
-qDd
+nUk
xHD
xHD
jVM
-jBu
+lXm
jVM
vkh
vkh
@@ -103170,14 +103169,14 @@ vkh
vkh
jYM
vkh
-vSI
+aaR
spH
spH
vkh
jYM
vkh
iXu
-mVc
+qSO
lab
axd
xli
@@ -103203,14 +103202,14 @@ mmE
czg
ddK
vcB
-bDr
-bsv
-kNf
-pWC
-eAz
-hGE
-hXl
-dcH
+gPf
+bXn
+mEg
+gfz
+naU
+jNf
+kFX
+nxw
xrC
tFQ
sSQ
@@ -103230,7 +103229,7 @@ vDV
wgL
tLt
qAn
-jmW
+szo
ibE
sSQ
ulO
@@ -103401,25 +103400,25 @@ xRH
ryi
xRH
gcz
-fIi
+caS
ogi
jvl
jcZ
lGK
-nsi
+wYY
tsF
-fhV
+tXV
nCt
wNW
coC
pVj
pVj
cRL
-ose
+uCS
vpI
aBB
nMW
-tEL
+nUZ
rQN
vpI
rZq
@@ -103427,7 +103426,7 @@ ycX
pBu
khY
lmZ
-aGq
+lYz
khY
khY
khY
@@ -103460,9 +103459,9 @@ pzb
kCb
taB
taB
-tCZ
-gUk
-rgK
+sTg
+afW
+llb
geu
xuF
xuF
@@ -103477,18 +103476,18 @@ tCz
tCz
sSq
tCz
-eWY
+lQF
kFy
-iFb
-nuO
+rzq
+lGP
sSq
dYX
nzU
wnE
oeI
-qVa
+ryn
mhV
-oiA
+vqM
sSQ
ulO
ulO
@@ -103662,37 +103661,37 @@ ikH
kCC
qrg
esF
-npM
+yib
uoB
tsF
-vQm
+ehW
iZO
awC
-gwm
-xPJ
+uly
+caO
mut
mut
-icN
-mZd
-sDZ
-pca
-uVo
-oBA
+aMt
+oZe
+fgP
+clm
+fsA
+bHg
mut
-pjA
+krN
mut
-otJ
+nOf
mut
mut
-rfW
-mlD
-xPJ
+obi
+eyI
+caO
mut
aRJ
-jSp
-klf
-oHp
-huj
+lmG
+hiO
+tTk
+fNN
fIj
uhM
qZy
@@ -103704,7 +103703,7 @@ wMZ
vnN
aEo
pOm
-lwk
+eaT
gUn
xSO
vsx
@@ -103718,7 +103717,7 @@ frf
tAx
ooO
nKc
-evb
+pHy
geu
geu
blb
@@ -103745,7 +103744,7 @@ sSQ
sSQ
sSQ
sSQ
-dgn
+qVC
sSQ
sSQ
sSQ
@@ -103922,46 +103921,46 @@ gcz
jyM
uoB
eSA
-baJ
-rji
-vAw
+eiA
+qLw
+rVf
ceS
nvE
nvE
nvE
nvE
qio
-vCZ
+xWg
uQi
nvE
oCx
crx
rFn
nvE
-tPM
-kfM
-cRc
-aPK
-aPK
-aPK
-aPK
-mcS
-sKm
-dRT
-dRT
-nNz
-inU
-hmn
-bcv
-kov
-viy
-efB
-lJg
-xyh
-xRI
-lJg
-hVh
-elM
+qTc
+ayI
+xKL
+lEr
+lEr
+lEr
+lEr
+rJU
+cWj
+jDL
+jDL
+ujP
+her
+ojS
+jUR
+cRe
+gif
+pCj
+nes
+wDc
+bhZ
+nes
+tHm
+cuK
pYr
xJZ
vsx
@@ -104002,7 +104001,7 @@ mHc
nqd
knV
sSQ
-jkE
+xRn
xfH
tAq
sSQ
@@ -104188,14 +104187,14 @@ lNp
xRA
eeJ
aIO
-qZw
+foG
pNZ
ylX
qUt
qUt
qUt
qUt
-fNZ
+tQP
qUt
qUt
xJB
@@ -104212,7 +104211,7 @@ ygu
mHb
ona
nkW
-riS
+ulI
ihd
gMM
gBg
@@ -104257,10 +104256,10 @@ gFH
ghs
eRX
eRX
-nIJ
+hDF
sSQ
-ehZ
-fDd
+rVM
+gJT
idj
qXl
kVb
@@ -104444,7 +104443,7 @@ htp
htp
htp
eeJ
-ehf
+dcg
tzZ
mSa
hWk
@@ -104452,13 +104451,13 @@ qUt
uZK
ptl
ptl
-wrZ
-mvd
+ygB
+wBG
qUt
-rnc
-ugH
+iLq
+dLb
mJX
-vHH
+izK
vYH
isi
xJB
@@ -104498,10 +104497,10 @@ xSO
xUL
vmh
wYA
-elw
+gee
emd
rZc
-vba
+lHA
anJ
vdY
oKb
@@ -104517,7 +104516,7 @@ eRX
gpM
sSQ
hrF
-swk
+blW
uOw
sSQ
hhb
@@ -104692,7 +104691,7 @@ xRH
gcz
lHW
jOU
-jjJ
+awG
wSZ
lFg
xqC
@@ -104710,8 +104709,8 @@ qUt
aIb
qUt
qUt
-uLD
-vmr
+hPa
+teP
qLt
vrY
vrY
@@ -104720,7 +104719,7 @@ vrY
sXq
wGu
lNU
-xoa
+hqq
uCp
yeh
qir
@@ -104766,7 +104765,7 @@ wCx
ogR
wYA
tlh
-sTR
+nQZ
doj
xiE
xiE
@@ -104774,7 +104773,7 @@ fFY
xiE
xiE
wgL
-wsR
+gKj
uOw
sSQ
hhb
@@ -104953,11 +104952,11 @@ tvP
wSZ
lFg
xqC
-lsh
-cYD
-jGK
-rYx
-hUO
+pTY
+agx
+xGq
+gfD
+dRI
xqX
tzZ
bCo
@@ -104967,23 +104966,23 @@ iZu
frC
jEz
qUt
-aGH
+lGz
qUt
azN
vcN
vrY
-mIi
+rzI
vcN
xpp
xJB
-bUD
-uPJ
+fGC
+hcm
lek
yhq
qir
vQp
-woT
-pqT
+wsJ
+oAg
wJM
epn
wJM
@@ -104994,7 +104993,7 @@ pRQ
xSO
vsx
rAv
-rBY
+gJz
jLV
eyZ
fRJ
@@ -105022,16 +105021,16 @@ jrG
aCi
gIF
wYA
-gCe
-wWs
-wOn
+qBB
+xfi
+uTi
xiE
mVm
nyp
exW
lVy
wgL
-swk
+blW
ulO
wgL
wgL
@@ -105211,12 +105210,12 @@ wSZ
lFg
xqC
eBd
-gKQ
-cnn
+blN
+bdb
niW
ylX
-jwf
-bmz
+btA
+fPm
mSa
tPW
qUt
@@ -105224,7 +105223,7 @@ bxk
rex
axz
qUt
-aGH
+lGz
qUt
qLA
vIZ
@@ -105243,8 +105242,8 @@ syC
wIc
xma
qir
-xUn
-uku
+fyY
+xhJ
qir
wfa
eMo
@@ -105255,7 +105254,7 @@ xrC
bUr
pEL
pEL
-qUf
+cEs
qfX
oED
oED
@@ -105267,28 +105266,28 @@ owP
mhn
vdH
nyT
-iMS
+mnf
wYA
xfV
pUc
pks
-buV
-nei
+geQ
+fVm
moy
moy
xWl
gIF
wYA
-eOZ
-mLH
-pUx
+wBX
+eHL
+xSD
xiE
hbS
fzt
-fLk
+sQo
guC
wgL
-wsR
+gKj
bAr
wgL
nah
@@ -105472,16 +105471,16 @@ pBO
pBO
jyd
ylX
-eMS
+xoL
tzZ
thx
-caK
+pJn
qUt
rex
rex
lnW
qUt
-xDS
+sgd
wua
jWy
jWy
@@ -105524,7 +105523,7 @@ wfr
vLQ
uSj
baP
-haq
+qaO
wYA
dCe
ppA
@@ -105545,10 +105544,10 @@ hPi
bRg
mig
wgL
-wsR
+gKj
sQg
wgL
-vsQ
+nIl
rHy
vpk
jIy
@@ -105731,14 +105730,14 @@ vpF
eeJ
wKn
tzZ
-eMQ
-xxD
+nrK
+vxl
qUt
oIE
vex
qUt
qUt
-xDS
+sgd
wua
gcg
vvK
@@ -105761,7 +105760,7 @@ uWo
uQf
cvy
tNA
-nCU
+bOb
xlh
aIu
dYM
@@ -105770,7 +105769,7 @@ qDK
vEz
mGh
wfr
-wya
+qER
lHJ
vKY
lSK
@@ -105780,8 +105779,8 @@ tUz
wfr
wfr
wfr
-gtJ
-qxi
+xeN
+fvf
wYA
cCW
qFv
@@ -105794,15 +105793,15 @@ xWl
gIF
wYA
tab
-bMW
+nKP
sOO
bqE
-rGI
+osW
hPi
-tQA
+kSL
esI
wgL
-eFO
+wft
wnE
tii
lAU
@@ -105994,14 +105993,14 @@ qUt
qUt
qUt
qUt
-qUL
-vIC
+bzi
+oTU
wua
qLD
uYD
rRW
-sny
-vZX
+bQs
+dCW
sZJ
wJx
xbW
@@ -106017,29 +106016,29 @@ xyQ
uWo
rfq
vKb
-uWQ
-fwF
-iOm
-gFs
-fSG
-ugJ
+uzA
+iuX
+dHI
+gPE
+brQ
+nrb
mpy
vEz
kMm
wfr
-oiP
+mPU
mJK
iWQ
mms
mms
jmY
-dim
+ofy
rAt
nzc
rQF
-lIh
-lcw
-xuD
+ewO
+osh
+rWd
ckV
tAS
tAS
@@ -106054,15 +106053,15 @@ bpS
hOp
nYk
vVP
-xAA
+qSE
hgf
agb
uGj
wgL
-oiA
+vqM
ulO
wgL
-vum
+nem
lqC
lqC
jIy
@@ -106241,45 +106240,45 @@ wfG
pwq
oyn
fSU
-fRV
+kok
ciV
ciV
-rrp
+pqW
wqj
aTb
wqj
fHK
qUt
roD
-xDS
+sgd
wua
wua
-qMp
+qXT
uZc
rRW
-snK
-wat
+qHP
+gcZ
tae
wLm
xvh
-xsb
+gUE
xPN
yiL
vuT
jNq
-kOT
+kCV
vYU
-asm
+jcs
ide
mMp
ist
ist
-sIj
+pmH
jjk
xlh
dfb
iDH
-bZz
+pSk
xPW
sKq
aRC
@@ -106287,15 +106286,15 @@ wfr
reG
mJK
mJK
-fcs
+iZN
vLT
-qMb
+tuh
acS
iWQ
lHl
wfr
-vbq
-uid
+uTV
+pvu
wYA
rMl
qmZ
@@ -106305,18 +106304,18 @@ onG
qmZ
lpV
lpV
-qQp
+hmg
wYA
nGI
jGc
tuR
gLb
-bXH
+deP
vTY
nqV
ruC
wgL
-oiA
+vqM
ulO
wgL
guz
@@ -106487,8 +106486,8 @@ oWg
lSh
bgy
bgy
-mUX
-lXw
+yao
+aKl
pIn
kTG
wEs
@@ -106508,18 +106507,18 @@ wqj
knB
qUt
qvr
-xDS
+sgd
wua
vLF
-sUg
-rmX
+dgw
+mpd
xpw
elR
xRh
cLD
wJx
mNQ
-iLp
+dza
xMr
yiQ
uWo
@@ -106548,21 +106547,21 @@ ddl
toC
bGY
wCK
-tDd
-nTz
+pWb
+fWG
wfr
sCp
-vJR
+nXR
wYA
wYA
wYA
wYA
wYA
wYA
-fRq
+sXd
nih
-hNJ
-fst
+xYY
+osU
wYA
hOp
slq
@@ -106573,7 +106572,7 @@ gkE
cIU
nGk
wgL
-cmw
+jRY
uWZ
wgL
xsV
@@ -106762,10 +106761,10 @@ jgF
wqj
rEa
qgJ
-mQD
+mAn
qUt
qUt
-xDS
+sgd
wua
wua
upV
@@ -106776,7 +106775,7 @@ tao
raL
wJx
plr
-xsK
+rkO
bqm
fAs
uWo
@@ -106809,7 +106808,7 @@ uxJ
wfr
wfr
mGg
-jTU
+tOm
jFw
fJZ
kgn
@@ -106826,11 +106825,11 @@ myM
rsz
xiE
qcr
-nXP
+pru
hpl
rAA
wgL
-wsR
+gKj
uOw
sSQ
dDB
@@ -107018,12 +107017,12 @@ wEF
jgF
wqj
rEa
-nMn
-knO
-adh
-hbz
-vIC
-hdZ
+lWL
+rNt
+eGz
+oZo
+oTU
+mrj
wua
wua
wua
@@ -107033,7 +107032,7 @@ wua
wua
wua
wQT
-udK
+ivJ
xMr
xDs
vva
@@ -107045,28 +107044,28 @@ xzQ
mfR
vVF
vVF
-uzZ
-abh
-bNQ
-ggi
-vPs
-cAr
-pnf
-lXR
-cAr
-trz
-bNQ
-gUe
-lgx
-ufE
-xXr
-ufE
-vMJ
-ufE
-bka
-mKe
-eHe
-adL
+bLh
+sTz
+hsW
+czH
+upc
+orU
+tZr
+kja
+orU
+hnq
+hsW
+vAk
+iUB
+jke
+qiJ
+jke
+nAY
+jke
+qnT
+ykl
+dpz
+qYb
vVF
vVF
vVF
@@ -107087,7 +107086,7 @@ wgL
wgL
wgL
wgL
-swk
+blW
ulO
sSQ
dDB
@@ -107280,7 +107279,7 @@ wqj
qUt
qUt
qUt
-hdZ
+mrj
qUt
dWW
tnb
@@ -107291,13 +107290,13 @@ tnb
qyY
xvh
nkH
-izA
-swB
-vve
-vSw
-wrF
+ugx
+wmb
+ine
+aWV
+iNW
xJw
-lvv
+wer
xJw
xJw
xJw
@@ -107323,7 +107322,7 @@ hhL
wmx
xJw
fwc
-cTC
+qmh
xJw
xJw
xJw
@@ -107344,7 +107343,7 @@ aTc
jmo
gAJ
syN
-oiA
+vqM
uOw
sSQ
dDB
@@ -107527,10 +107526,10 @@ onR
xVV
mEA
htN
-tje
-tje
-fWi
-qWg
+xYV
+xYV
+tsw
+obh
oLD
gmf
qva
@@ -107547,7 +107546,7 @@ iDt
wua
wua
xvh
-hPl
+vHC
xPN
vEA
vwh
@@ -107576,11 +107575,11 @@ pDU
qZn
jWl
pDU
-sKB
-erA
-esP
-mxP
-alF
+mCl
+ity
+pfb
+dCt
+vsp
rBe
oOp
owJ
@@ -107595,13 +107594,13 @@ xpJ
mOq
jhZ
wnE
-iTy
-wmD
-bgB
-clq
-bgB
-clq
-uqO
+ibg
+aDx
+aly
+aZy
+aly
+aZy
+vFE
ulO
sSQ
sSQ
@@ -107780,11 +107779,11 @@ ghW
boX
kCP
iQT
-wRP
+oSN
sRL
mSa
thx
-hbY
+lwA
mSa
cNk
wqj
@@ -107793,18 +107792,18 @@ cPp
wqj
wrx
qUt
-hdZ
+mrj
qUt
qUt
qUt
gfJ
wua
-spi
+vBS
dqO
taD
pzL
xvh
-uPJ
+hcm
xMr
sBL
nla
@@ -107815,26 +107814,26 @@ ldq
ldq
ldq
ldq
-rxB
-rxB
-rxB
+lIm
+lIm
+lIm
ldq
-dsW
+xxh
ldq
ldq
ldq
ldq
ldq
-fmH
-fmH
-fmH
-fmH
-fmH
-fmH
-fmH
-fmH
-cWM
-avc
+ahn
+ahn
+ahn
+ahn
+ahn
+ahn
+ahn
+ahn
+tFA
+uNq
vSg
vSg
vSg
@@ -108039,9 +108038,9 @@ hTW
jYF
qpe
sRL
-rfB
+igj
mSa
-jVJ
+lmt
oyq
eeJ
eeJ
@@ -108050,13 +108049,13 @@ eeJ
eeJ
eeJ
qUt
-hdZ
+mrj
tnb
tnb
tnb
tnb
wua
-xgg
+xsp
dqO
taD
pzL
@@ -108069,40 +108068,40 @@ vSY
qzv
ldq
xQI
-lGp
-lSf
-fnx
-dvb
-vaR
-jCE
-nWp
-oAi
-aYJ
-vlr
-viO
-owF
+klI
+pVY
+rbf
+uzu
+mJx
+qga
+llI
+lmQ
+tGa
+woc
+nZH
+tTJ
ldq
-tRn
-uOH
-lCS
-fmH
-lxa
-lxa
-oJz
-odP
-wAf
-vGX
+gmu
+mNm
+lXc
+ahn
+rJz
+rJz
+gVE
+uSx
+aiz
+oNw
xaP
-mfT
+rva
dvJ
-rBq
+qDr
cLY
xaP
tuT
vMs
bEw
jEG
-ybD
+qln
tuT
sSQ
gUC
@@ -108297,9 +108296,9 @@ czq
xVV
sRL
eeJ
-oYj
-jvQ
-eul
+sED
+mts
+oYG
eeJ
egJ
egA
@@ -108307,7 +108306,7 @@ gMq
duT
gtk
qUt
-hdZ
+mrj
tnb
qUt
tkq
@@ -108315,7 +108314,7 @@ qUt
wua
sLE
pFQ
-wsa
+xTv
pzL
xvh
nkH
@@ -108325,41 +108324,41 @@ eNp
vxM
hCB
ldq
-fvm
+lBw
ldq
ldq
ldq
-mpU
-rQr
-dNN
-jrg
-dkw
-pmZ
-omO
-aVF
-mij
+xTt
+aLV
+eyo
+dKX
+pUm
+vmo
+rdm
+sQO
+tRx
ldq
-cZW
-uOH
-ciR
-oib
-nqG
-wuq
-rBz
-liP
-hjz
-tqs
+pPn
+mNm
+xWF
+tRy
+qkZ
+sZy
+hAS
+lTE
+fIE
+mvM
xaP
tGJ
mYj
-uax
-wyo
-hhg
-stV
-mus
-mRK
-mus
-aeA
+pxe
+jCa
+gXX
+cGl
+rAJ
+lfw
+rAJ
+fsP
oXM
sSQ
muz
@@ -108548,19 +108547,19 @@ iGt
vtL
sBP
sRL
-uFZ
+soG
jfB
afZ
jfB
fPZ
eeJ
-wjq
+eYu
dtv
dtv
-diF
-fBs
-dhH
-rsZ
+eWZ
+wry
+yhY
+qMC
jQB
kAJ
qUt
@@ -108569,54 +108568,54 @@ tNs
tNs
tNs
tNs
-rbW
-spP
+bKW
+pnp
bRt
wsb
pRN
qQB
-ufF
+iQo
xMr
slJ
aXU
xaC
-ubl
+rvU
ldq
-qyO
-xid
-eEi
-tum
-dKo
-jSX
-nfv
-sTp
-vXc
-cYR
-sDE
+bVE
+qAB
+gLW
+dsj
+cgT
+fhW
+xuP
+wvp
+inn
+oqY
+lui
ldq
ldq
ldq
-ukB
-eBT
-pAg
-fmH
-xYE
-wwT
-gHT
-tAP
-nxD
-ihC
+isT
+rfu
+iBP
+ahn
+wwy
+hnw
+dyJ
+kBp
+iEf
+dsE
xaP
rXY
-mpK
-kMW
+jlZ
+pcf
pXz
xaP
nwN
ufn
-fFC
+jIj
ufn
-pHq
+tbK
ykT
sSQ
muz
@@ -108805,7 +108804,7 @@ nFW
tDB
unK
sRL
-sBq
+aFP
xsI
gnK
piJ
@@ -108816,8 +108815,8 @@ dtv
uQG
vCc
jOb
-iQV
-lYV
+aLI
+lAa
iXy
uYY
qUt
@@ -108836,44 +108835,44 @@ nkH
xMr
slJ
aXU
-vxs
+fQp
vxM
-tGI
-jzj
-jzj
-pOq
+vgz
+tMr
+tMr
+gKu
ldq
ldq
-dUY
-pIM
-kHY
-oAS
-ufd
-hMa
-iLO
+gnj
+txS
+lkj
+sWE
+uLA
+sLq
+pUl
xQI
ldq
-lDJ
-jOO
-wSL
-fmH
-kHo
-qoj
-qoj
-qoj
-rSt
-wRU
+dVL
+gXV
+tbv
+ahn
+ehP
+blF
+blF
+blF
+lNR
+lDz
xaP
-bxY
+guu
mYj
fVG
eJe
cwt
nwN
ufn
-dMM
-nIT
-rUV
+hox
+nAn
+lKy
xqe
whX
knC
@@ -109069,16 +109068,16 @@ sRL
sRL
eeJ
lxp
-syA
+qoo
eeJ
eeJ
eeJ
-rqD
-opN
+uVE
+pBa
eeJ
eeJ
qUt
-xrc
+tCL
qUt
odD
mtc
@@ -109089,16 +109088,16 @@ sJi
wty
two
xvh
-uiY
+lJL
uDF
uSO
eBy
vxM
bMc
ldq
-jqJ
+may
xQI
-jSX
+fhW
xGw
ldq
ldq
@@ -109108,29 +109107,29 @@ ldq
ldq
ldq
ldq
-cTE
+gsu
ldq
ldq
-tmV
+bpW
ldq
ldq
ldq
-aBv
-aBv
-aBv
-kqO
-uhk
+lLl
+lLl
+lLl
+crN
+jdQ
kFY
xaP
-hrC
-gHl
-elT
+hug
+wHQ
+ylK
frP
-vOt
-bwT
-bwT
-bwT
-pHq
+okJ
+uub
+uub
+uub
+tbK
oDB
sSQ
tAq
@@ -109326,15 +109325,15 @@ rze
uHH
qWC
rze
-uSo
+kCG
vNq
rqw
ohr
-rqD
-opN
+uVE
+pBa
xEM
qUt
-eqG
+feU
mHh
nNA
rHY
@@ -109349,35 +109348,35 @@ xbC
nkH
xMr
nla
-dLq
+ggj
vTx
pHw
ldq
-qod
-eVF
-lxY
+eqJ
+ehM
+jXL
xQI
-fvm
-jzj
-jzj
-sys
+lBw
+tMr
+tMr
+iVG
xQI
-jSX
-xid
-jzj
+fhW
+qAB
+tMr
xQI
xQI
xQI
-kuY
-lzf
-yja
+wSS
+inp
+xca
ldq
-fjv
-ntW
-mmR
-bgA
-pOX
-adl
+ctg
+jHc
+ybW
+rrE
+oDC
+wvD
xaP
aQm
qEz
@@ -109387,14 +109386,14 @@ aZG
wQG
uro
itP
-pHq
+tbK
kBA
sSQ
sSQ
sSQ
rzJ
teG
-xBx
+itd
tuT
tuT
vtC
@@ -109583,18 +109582,18 @@ xzl
xzl
xzl
xzl
-rDD
+pFv
akq
rqw
fvj
uDz
-jXB
+bNb
nYs
qUt
ffi
mHh
uqq
-qOG
+gYu
pXk
cCv
wua
@@ -109625,16 +109624,16 @@ yfQ
ldq
yfQ
ldq
-xnn
-xnn
-jzj
+ohW
+ohW
+tMr
ldq
-tmr
-vWa
-hkt
-wKm
-pOX
-mJC
+beJ
+col
+pkN
+sHT
+oDC
+wDL
xaP
nUQ
ohM
@@ -109644,16 +109643,16 @@ ltP
bho
blh
qvL
-pHq
+tbK
oDB
ufn
iAJ
cqa
ufn
ufn
-eKP
+vjc
jcu
-jiY
+rVN
ufn
yhF
ull
@@ -109662,9 +109661,9 @@ ufn
ufn
jcu
iAJ
-ljj
+kqN
ufn
-gOh
+qRh
jFh
cjm
tuT
@@ -109832,7 +109831,7 @@ wJX
fYH
fYH
nuL
-djY
+nsV
rBO
gdF
kkS
@@ -109840,28 +109839,28 @@ oZO
kkS
kkS
kkS
-xjC
+kZs
xuQ
rqw
fcU
rem
-gGQ
+xvM
uDE
qUt
lhi
brw
mnl
uOx
-llY
-rdA
+tDg
+jqV
qUt
sqY
ata
taZ
shD
-oGQ
-dMe
-uEQ
+wfP
+xpU
+dDy
tBv
xbR
jDM
@@ -109882,15 +109881,15 @@ dDB
blb
dDB
ldq
-lxC
-lxC
-jzj
-tmV
-otQ
-nRS
-vIa
-bGk
-dst
+dbE
+dbE
+tMr
+bpW
+vRo
+cJM
+ifO
+cnJ
+nOl
ldq
ssz
ssz
@@ -109901,27 +109900,27 @@ ldq
hKw
ydf
tfh
-pHq
-pCT
-ivY
-dwX
-ivY
-ivY
-ivY
-ivY
-ivY
-qcv
-ivY
-kKN
-ivY
-ivY
-ivY
-kms
-uwI
-ivY
-ivY
-wwK
-wwK
+tbK
+lRj
+vbR
+oLw
+vbR
+vbR
+vbR
+vbR
+vbR
+igB
+vbR
+tcF
+vbR
+vbR
+vbR
+siC
+mcX
+vbR
+vbR
+fnz
+fnz
ufn
yhH
tuT
@@ -110086,8 +110085,8 @@ rqw
qAj
jsU
xFM
-qak
-bnX
+wKE
+vVw
jUA
pzd
pzd
@@ -110109,17 +110108,17 @@ qnb
qnb
oJx
qUt
-izo
+fXA
qUt
qUt
srA
lrH
aaH
rtZ
-mPu
-buk
-uEQ
-lOS
+kNd
+xZb
+dDy
+uUe
vyF
vTJ
wrQ
@@ -110139,26 +110138,26 @@ blb
blb
blb
yfQ
-ctu
-ogl
+mJQ
+cXj
xGw
ldq
-kdn
-tSH
-jYP
+bOf
+lQQ
+vEq
ldq
ldq
ldq
-rff
+cpQ
xQI
xGw
-hGj
-dHy
-jIc
-bAT
-mvC
-fwZ
-pHq
+sgo
+bIM
+xMA
+nRn
+qMD
+lhS
+tbK
oDB
ufn
ufn
@@ -110343,39 +110342,39 @@ fjp
xcF
gpA
fYH
-qak
+wKE
ctH
-xIf
-lKs
+yfd
+rHF
fex
fex
-byR
+nUv
qIe
dBj
luG
evA
vVV
-vaw
-jWz
+gLe
+uWz
bAb
-dWG
-iMG
+gcG
+bQQ
bji
-pjT
-pCv
-tOk
-pCv
-unc
-sWQ
-raZ
-sVG
-gdx
-gdx
-gdx
-iOq
-nhZ
-xsT
-uEQ
+xJY
+xBi
+vkg
+xBi
+bWD
+vXm
+iCZ
+hle
+qUa
+qUa
+qUa
+tvq
+oKT
+pua
+dDy
vzX
vyR
vyR
@@ -110396,26 +110395,26 @@ dDB
blb
dDB
ldq
-oFg
+wEl
xQI
-jzj
+tMr
ldq
ldq
ldq
ldq
ldq
-jSX
-jzj
-jzj
-jKb
-kuY
-dnc
-wfp
+fhW
+tMr
+tMr
+jIS
+wSS
+lbv
+lEi
ldq
-clZ
+dle
reH
ico
-pHq
+tbK
wBh
lcC
rUb
@@ -110600,13 +110599,13 @@ rqw
lXX
rLx
fYH
-vrB
+gsr
ctH
-gby
+urL
ntZ
jpp
jpp
-dxw
+pEj
qOQ
jpp
jpp
@@ -110624,16 +110623,16 @@ wrw
qfo
jRs
jRs
-xhG
+eun
mHf
-fyh
-sZh
-qSh
-tmI
-vfH
-pFI
-dJj
-uWz
+kFA
+gdx
+mDt
+vMo
+cCR
+pFx
+jsr
+uwF
vze
vUe
vUe
@@ -110653,26 +110652,26 @@ blb
blb
blb
yfQ
-sXo
-rzO
-sXo
-dvI
-aXi
-sXo
-rzO
-aXi
-sXo
-ixG
+jze
+lmC
+jze
+aqj
+rvJ
+jze
+lmC
+rvJ
+jze
+kaT
ldq
ldq
ldq
ldq
ldq
ldq
-dNU
-off
+bSL
+wXM
okl
-mDs
+umX
idp
tuT
tuT
@@ -110858,7 +110857,7 @@ rsv
rLx
ctH
pDX
-mIR
+uSI
urK
pzd
tpG
@@ -110881,19 +110880,19 @@ sCi
sCi
vuu
vuu
-vcW
+oCa
sCi
vDX
-tNn
+wbq
vDX
vDX
-oPM
-mAs
-kwB
-mnj
-oYS
-pUL
-wrW
+rgz
+aIF
+aig
+dNR
+pvS
+vSz
+qRF
ssz
dDB
dDB
@@ -110910,26 +110909,26 @@ dDB
blb
dDB
ldq
-wBF
+buZ
ldq
ldq
ldq
ldq
ldq
-eLf
-lGp
-fRe
-vWC
+ggE
+klI
+kHH
+nWf
ldq
sgB
fhT
fhT
-pJz
+scc
uLj
oig
oig
tuT
-aNX
+bEA
idp
vtC
blb
@@ -111111,7 +111110,7 @@ nFW
qAJ
xHi
rqw
-aRv
+eoN
pbk
cll
sOy
@@ -111137,16 +111136,16 @@ tOO
aYY
sCi
rqt
-uTb
+ktk
rrU
vwc
vDX
-mWE
+avn
sso
vDX
-dWh
-dNL
-aBV
+nMo
+ijR
+hIr
xqW
ssz
ssz
@@ -111167,26 +111166,26 @@ yfQ
ldq
yfQ
ldq
-sXo
+jze
ldq
-esW
-ipM
-piI
+sxK
+rAe
+fQG
ldq
-ezy
-lGp
-xpY
-sXo
-xko
-hPQ
-uNe
-uNe
-iNS
+aQd
+klI
+roz
+jze
+dhW
+mgU
+nBq
+nBq
+pMf
uLj
blb
blb
oig
-oqg
+cuz
pkR
vtC
blb
@@ -111368,7 +111367,7 @@ nFW
nFW
nFW
nFW
-jGT
+bnd
pbk
qKz
pfW
@@ -111393,57 +111392,57 @@ sCc
tDz
pTs
sCi
-cHC
+eGE
qUm
rrU
-rZw
+vOZ
vDX
-mWE
+avn
ruD
vDX
-nyZ
-ujX
-ilC
-uUj
-jfj
-hDz
-pKU
-pKU
-pKU
-pKU
-wFQ
-pKU
-xpY
-aGR
-qAl
-qAl
-pKU
-pKU
-pKU
-pKU
-gOR
+nog
+bKk
+xse
+wow
+cth
+pAr
+hua
+hua
+hua
+hua
+aoY
+hua
+roz
+nBm
+qRO
+qRO
+hua
+hua
+hua
+hua
+wig
krz
-xpY
-aXi
-wWN
-lVo
-jzj
-caG
+roz
+rvJ
+ruT
+hWs
+tMr
+suu
ldq
ldq
ldq
-fnx
+rbf
ldq
ldq
uLj
uLj
-aid
-cdg
+vOr
+vhM
uLj
foL
blb
oig
-oqg
+cuz
idp
vtC
blb
@@ -111649,18 +111648,18 @@ ibv
sCc
pTz
pTz
-qfA
+igJ
mlK
npV
-rsg
-rSz
+uIv
+rKo
vDX
-mWE
+avn
vDX
vDX
-bFU
+eAP
upz
-uFA
+ciI
uWe
ssz
ssz
@@ -111672,35 +111671,35 @@ ssz
ssz
ssz
ssz
-jzj
+tMr
xQI
-aGR
-kDR
-fSC
-pvU
-owc
-vje
-ilB
-rzO
-sXc
-vtU
-hhK
-dHp
+nBm
+qUD
+sqC
+fIr
+qwB
+hTE
+sCn
+lmC
+djy
+fSb
+cWT
+chT
ldq
-fOw
-iis
-knY
-qgi
+oRe
+jxV
+yeT
+xVD
ldq
-qdR
+iAI
naN
-aid
-jtD
+vOr
+fbV
uLj
blb
blb
tuT
-tHL
+wTA
xyR
tuT
blb
@@ -111904,7 +111903,7 @@ oss
gFm
shD
sCi
-mhZ
+dLA
pSN
sCi
kFq
@@ -111912,12 +111911,12 @@ vDX
vDX
vDX
vDX
-mWE
+avn
vDX
eDr
-uME
+xdc
xtL
-osy
+xQW
uWG
yeh
blb
@@ -111930,34 +111929,34 @@ blb
blb
ssz
ssz
-pnB
-tHy
-ixH
-qTv
-rUR
-rUR
+hDz
+lDx
+efd
+gNv
+fcm
+fcm
aSy
aSy
-lOi
+oCm
aSy
aSy
aSy
-evv
+bWM
aSy
aSy
-xoT
-knY
-dwT
+ody
+yeT
+pQv
ldq
uLj
uLj
-opg
-nBq
+aid
+puo
uLj
foL
blb
oig
-oqg
+cuz
idp
vtC
blb
@@ -112140,7 +112139,7 @@ exM
nFW
kNX
blP
-xUT
+vys
arH
nUY
nUY
@@ -112158,63 +112157,63 @@ bqy
bqy
pzd
djO
-nvB
+qnZ
wkF
-gxl
-pDD
+hnp
+ifh
dvY
vDX
vDX
vDX
-mWE
-mWE
-mWE
-hUH
+avn
+avn
+avn
+veq
vDX
twZ
-uME
+xdc
ugj
-osy
+xQW
uYo
urv
dDB
blb
tjj
tjj
-tqD
+xLz
tjj
tjj
blb
blb
ssz
-jzj
-aGR
+tMr
+nBm
ssz
aSy
aSy
aSy
aSy
-gjg
-dWs
-rrb
-cJL
+aRA
+lGS
lXg
-mJy
+cJL
+wvu
+oem
ktB
aSy
aSy
aSy
aSy
ssz
-fWT
-sRN
-aid
-dSz
+kwx
+wlB
+vOr
+mEF
uLj
blb
blb
oig
-uBo
+jWU
idp
vtC
blb
@@ -112396,9 +112395,9 @@ nFW
exM
nFW
uKD
-bFt
+iGG
xcF
-sDs
+eGg
aFu
bbT
mql
@@ -112418,20 +112417,20 @@ oss
yio
wkF
pkS
-pDQ
-clf
-qgx
-mWE
-uHR
-hUH
+moI
+bOo
+bJp
+avn
+fOe
+veq
wPd
wPd
wPd
wPd
txl
-uME
+xdc
fTM
-osy
+xQW
uto
yeh
blb
@@ -112444,34 +112443,34 @@ tjj
tjj
blb
ssz
-jzj
-pKU
+tMr
+hua
ssz
heB
nZQ
srb
-yeQ
-oom
-dhb
-ncH
-ncH
-aJX
-kej
-wOc
-yeQ
+qCN
+jly
+cjQ
+thL
+thL
+qKt
+pcR
+apb
+qCN
pus
nZQ
srb
ssz
ldq
ldq
-aid
-hwn
+vOr
+gFI
uLj
oig
oig
tuT
-nBF
+eoU
idp
vtC
blb
@@ -112675,10 +112674,10 @@ oEk
yio
wkF
plJ
-ncr
+esf
bgp
vDX
-qxP
+naE
vDX
wPd
wPd
@@ -112686,49 +112685,49 @@ pNF
vmn
pqm
pqm
-tLc
-qvF
-xPY
+xhF
+ugC
+kXV
ykL
ykL
ykL
tjj
wKc
xol
-aau
-aau
+xAM
+xAM
rMH
tjj
blb
ssz
xGw
-pKU
+hua
ssz
iWZ
rfJ
rcl
-nhC
-ktl
-nLM
+kza
+rNK
+rRm
hAJ
gPY
vsW
-wtc
-tQM
-uXV
+jBh
+pPw
+sTD
euO
rfJ
mOI
ssz
-eMH
-nXf
-aid
-hYW
+rvE
+poX
+vOr
+akB
uLj
vyU
sVA
okl
-oqg
+cuz
idp
tuT
tuT
@@ -112932,63 +112931,63 @@ oss
yio
wkF
gCI
-jpW
+sGz
tpk
vDX
-mWE
+avn
lVN
wPd
bjL
vMt
-vEm
+vCl
vMt
pqm
-tPm
+sCh
fTM
-ive
+otN
ykL
lJB
-oah
+bTG
wtt
fDQ
-sBc
+gjQ
oPc
-xUt
+vFo
ygK
tjj
dDB
ssz
vxp
-xpY
+roz
ssz
-dmT
+ydq
wlk
-dDO
-yeQ
-jAp
-nLM
+mLE
+qCN
+bfl
+rRm
tEj
bqD
rcl
-wtc
-uDg
-yeQ
+jBh
+msA
+qCN
cNZ
wlk
hwz
xnE
tuT
tuT
-xNL
+gFU
tuT
tuT
xCI
ufn
-rln
-ivY
+rFi
+vbR
oDB
-rwo
-eVM
+rKh
+tZY
tuT
vtC
vtC
@@ -113192,57 +113191,57 @@ vDX
vDX
vDX
vDX
-mWE
+avn
qUF
wPd
rVj
vMt
-sJw
-jZa
-jXA
-uWn
-xuu
-enb
-wQP
-xPv
-uSi
-wtu
+fjI
+ntJ
+nLD
+oZr
+pkY
+qfq
+jJk
+eWf
+fKI
+qNI
wKz
-xrX
+dFR
xBj
-xUB
-yha
-tqD
+bWn
+gUp
+xLz
dDB
ssz
ppL
-xpY
+roz
ssz
aSy
aSy
aSy
aSy
-lgw
-iTB
+wvj
+aNy
vHT
wlk
rce
-mFT
-cOC
+xMb
+oNV
aSy
aSy
aSy
aSy
xnE
bOR
-tUa
-gOq
+gXE
+gWN
vlj
-nRj
+fim
ufn
-gOh
+qRh
ufn
-ivY
+vbR
oDB
ufn
ufn
@@ -113444,82 +113443,82 @@ ppV
fLR
qOJ
yio
-iOv
-hUH
-mWE
-hUH
-aop
-mWE
-mWE
+lEL
+veq
+avn
+veq
+qKl
+avn
+avn
wPd
cmn
vMt
-xHS
+mWN
vMt
pqm
-eDz
+uDi
fTM
-xRB
+jsC
ykL
-ipj
+jMI
jyw
wtt
-kSd
-xoW
+mdJ
+nKf
ldF
-xUt
+vFo
yig
tjj
dDB
ssz
ldq
-reg
+qPV
ssz
-qIk
-cWm
-yeQ
-fJl
-lve
-iTB
+cQt
+jLF
+qCN
+dYg
+caa
+aNy
aSy
kkd
aSy
-mFT
-rpc
+xMb
+rer
kau
-yeQ
-acM
+qCN
+mWm
eAY
-pQE
+dMw
yim
fEd
-gOq
-pHq
-mEn
-pHq
-pHq
-kho
-ivY
-pCT
-ivY
-dwX
-ivY
-ivY
-nTU
-ivY
-ivY
-ivY
-ivY
-kKN
-ivY
-ivY
-ivY
-mUQ
-ivY
-ivY
-ivY
-ivY
-ivY
+gWN
+tbK
+dgj
+tbK
+tbK
+jKD
+vbR
+lRj
+vbR
+oLw
+vbR
+vbR
+dfi
+vbR
+vbR
+vbR
+vbR
+tcF
+vbR
+vbR
+vbR
+bbL
+vbR
+vbR
+vbR
+vbR
+vbR
ufn
yhH
tuT
@@ -113707,76 +113706,76 @@ vDX
vDX
vDX
vDX
-mWE
+avn
wPd
wPd
mzo
-rsl
+aHj
pqm
pqm
-tOZ
-biZ
-tsb
+gZg
+alb
+oPs
ykL
ykL
ykL
tjj
-wME
-aau
-aau
-aau
+kzq
+xAM
+xAM
+xAM
rMH
tjj
blb
ssz
jiB
-pKU
+hua
ssz
-xLk
-swn
-vuB
-orW
-bzm
-geM
+nAr
+qIk
+beC
+abo
+eis
+lsU
xvF
xvF
mIg
-oIx
-iFm
+dTm
+miv
sWc
-yeQ
-rJw
-xvY
-pQE
-nSl
-yhT
-qhd
-fFC
-nRj
-tXG
+qCN
+nsP
+xbe
+dMw
+osu
+bZp
+hia
+jIj
+fim
+olX
vcd
-pHq
-jUc
-ixM
-cwS
+tbK
+rvh
+dYA
+pel
ufn
hMA
-fFC
+jIj
ufn
vJB
uKN
lNk
ufn
yhF
-viT
+nhQ
hMA
ufn
ufn
uKN
qlr
-mwu
+iNA
ufn
-vgY
+yel
jFh
cjm
tuT
@@ -113957,14 +113956,14 @@ baO
pzd
gMz
rem
-iMG
+bQQ
shD
xbg
rOK
ebe
sKt
vDX
-mWE
+avn
ruD
wPd
vMC
@@ -113987,24 +113986,24 @@ tjj
blb
ssz
aZg
-pKU
+hua
ssz
-qIk
-dBO
+cQt
+nye
aSy
-jGL
-iOL
-geM
+aDg
+kuN
+lsU
pMA
xvF
xvF
-oIx
-opW
+dTm
+vpa
bWs
-yeQ
+qCN
mYW
ahD
-pQE
+dMw
jSw
fEd
ufn
@@ -114012,10 +114011,10 @@ ufn
tuT
kTw
kOV
-aJZ
+gyZ
kTw
kTw
-hLU
+izx
kWR
svs
tGU
@@ -114214,49 +114213,49 @@ baO
pzd
ycQ
rem
-klF
+dow
jqq
xbg
pGU
aRo
-qhF
-svh
-mWE
-hUH
+hmS
+iGc
+avn
+veq
vDX
gaU
wxU
vMC
kxp
-tSu
+awP
uhj
-wAl
+xSZ
uZA
urv
dDB
blb
tjj
tjj
-tqD
+xLz
tjj
tjj
blb
blb
ssz
xtv
-hDz
+pAr
ssz
aSy
aSy
aSy
aSy
-oUB
-iTB
+kUI
+aNy
aSy
vWI
aSy
-mFT
-uDg
+xMb
+msA
aSy
aSy
aSy
@@ -114264,15 +114263,15 @@ aSy
xnE
awT
wJF
-hRd
-jKS
+xqz
+mWt
tuT
-jOF
-jLt
-trl
-okk
+wkX
+xdU
+rlH
+cUP
kTw
-tqX
+wqZ
kfy
svs
vtC
@@ -114464,30 +114463,30 @@ pzd
pzd
tlJ
cYp
-jTC
+oId
eOX
pzd
xQJ
xQJ
xQJ
ryt
-klF
-lmb
-pnq
-dQm
-vbJ
-tPH
+dow
+uIy
+uZX
+pHI
+vsi
+vPu
wPd
wPd
-fpB
+iWO
wPd
gsv
wMN
tbB
ygu
-uME
+xdc
ugj
-wAl
+xSZ
vaf
yeh
blb
@@ -114501,20 +114500,20 @@ blb
ssz
ssz
xQI
-xpY
+roz
ssz
pus
cYG
srb
-yeQ
-jAp
-bLT
+qCN
+bfl
+tYv
tNw
nZQ
-qem
-aAL
-uDg
-yeQ
+syK
+mfi
+msA
+qCN
heB
cYG
srb
@@ -114525,11 +114524,11 @@ tuT
tuT
tuT
wOC
-nrD
-trl
+ucx
+rlH
oZL
kTw
-qXh
+doq
kfy
svs
dDB
@@ -114714,7 +114713,7 @@ fqT
mpl
wOp
oLr
-tLj
+aMC
wOp
fsq
iRl
@@ -114728,23 +114727,23 @@ xqs
xMO
xQJ
wMG
-xPx
+glC
ibv
oIR
pHM
tpK
-dnO
+kaZ
vMC
krd
-kUR
+sDM
cKa
-rsX
-gWa
+stP
+hrG
tbD
ygu
-uME
-qvF
-wAl
+xdc
+ugC
+xSZ
qld
ssz
ssz
@@ -114758,20 +114757,20 @@ ssz
ssz
xQI
xQI
-xpY
+roz
ssz
iWZ
oMI
okB
-nhC
-ktl
-nLM
+kza
+rNK
+rRm
tEj
rfJ
rcl
-wtc
-tQM
-uXV
+jBh
+pPw
+sTD
tEj
bqD
mOI
@@ -114783,11 +114782,11 @@ dxO
wOC
wOC
nyQ
-giW
+hiU
ktD
kTw
-sok
-qmy
+eOG
+rhH
grm
blb
blb
@@ -114971,7 +114970,7 @@ hOY
rCS
fsl
usP
-tAr
+nHo
mlp
fLg
tHi
@@ -114984,24 +114983,24 @@ vJx
pmq
xMo
xQJ
-wcR
-iMG
-suU
-hgt
-vsi
+kED
+bQQ
+shG
+uMC
+sUe
tpO
-cZx
+vBa
vMC
-apF
+opZ
vfk
-rWr
+gKM
tLn
-gWa
+hrG
tbD
tyA
tTx
hYf
-wAl
+xSZ
vbA
vAK
xQI
@@ -115015,23 +115014,23 @@ rgA
xGw
xGw
ssz
-vFB
+tnL
ssz
-xeT
+fKK
cCb
jlS
-yeQ
-buA
-idd
+qCN
+cto
+xUm
oEB
sGh
uEC
-vCs
-nVx
-yeQ
+wjk
+ryP
+qCN
eDF
wlk
-pAs
+gdp
rIY
irs
oND
@@ -115039,11 +115038,11 @@ ozs
dMm
wOC
aHu
-noJ
-nCo
+rXv
+onL
uHv
rIY
-qXh
+doq
jWO
svs
dDB
@@ -115242,23 +115241,23 @@ mrc
xMT
xQJ
rTC
-iMG
+bQQ
boi
xbg
sUE
tqh
qic
vMC
-hkQ
+jes
vfk
itO
sul
-nuC
+leY
veK
yeh
-dRv
+sfZ
hnV
-uGA
+pSC
yeh
ldq
ldq
@@ -115272,19 +115271,19 @@ ldq
ldq
ldq
ssz
-vId
+dgo
scj
aSy
aSy
aSy
aSy
-jKq
-lRm
+qmO
+jJb
eWO
eWO
eWO
jKg
-swF
+vmZ
eWI
eWI
eWI
@@ -115300,8 +115299,8 @@ kOV
kOV
rIY
rIY
-fPV
-kjw
+iBw
+eOj
svs
grm
grm
@@ -115499,49 +115498,49 @@ dWm
xQJ
xQJ
sgY
-oNX
+jLk
shD
xbg
rOK
vvW
fot
vMC
-tiQ
-iIw
-tff
+aeN
+ijS
+xMx
tLn
-sJN
+rNM
veK
tzz
-tUo
-uiB
-uGN
-vdf
-uJc
-vWe
-xsM
-wNb
-wtT
-gye
-rWm
-rUI
+fdQ
+rrg
+hbi
+bRe
+rDF
+mAC
+jiW
+kdB
+rHU
+ubn
+jTK
+pUB
xDg
xDg
-pWl
-fwU
+ykV
+lCH
phZ
wbp
wMH
hLc
hLc
aSy
-hOl
+roC
kTC
xQh
dUF
kKT
woI
-bcO
+hOl
eWI
eXK
mJr
@@ -115557,7 +115556,7 @@ iUK
iUK
cbU
rIY
-byx
+lvw
kfy
obP
iSd
@@ -115748,15 +115747,15 @@ vZK
dTd
ghX
kgw
-xvV
+tzU
xQJ
xQJ
bfE
rIo
xQJ
jIn
-udd
-iZl
+oUC
+oPM
sDj
uqw
uqw
@@ -115764,41 +115763,41 @@ uqw
uqw
vMC
eJm
-noe
-hYK
-pNO
-iyt
+xPM
+wKF
+pWq
+isf
vMC
-wMP
-uUf
-biM
-ylo
-ylq
-cRn
-gsh
-hok
-eMm
-eMm
-eMm
-eMm
-eMm
-hok
-cov
-oOh
+ruu
+kJE
+hxP
+fCO
+sJA
+vff
+pqn
+uDj
+iqL
+iqL
+iqL
+iqL
+iqL
+uDj
+xIK
+ecW
aXI
-qHY
+qSx
wML
wMH
wMH
aSy
aSy
-aFY
-pWZ
+lnH
+yju
qZe
xvF
eqz
-cLS
-bcO
+jzC
+hOl
eWI
eWI
wNZ
@@ -115814,7 +115813,7 @@ ycE
ycE
cOW
aLr
-tqX
+wqZ
kfy
svs
svs
@@ -116003,9 +116002,9 @@ iHz
dTd
vCq
ppT
-pyk
+sSm
wOp
-mIW
+uqt
xRW
tSv
fik
@@ -116013,7 +116012,7 @@ nou
xQJ
ifg
xlL
-iZl
+oPM
wBI
pnQ
pIp
@@ -116024,39 +116023,39 @@ veK
dDF
veK
vPa
-wbO
+uNT
vMC
pAo
-lOO
+wCj
xsJ
-uGT
-veg
+wbu
+qGw
vAX
vXy
-ezb
-hqc
+wuo
+slA
afA
qEe
qEe
qEe
sRj
-oxl
+jkz
ifU
eGc
-cAb
+vQK
xjb
pYZ
nyB
gOQ
cvH
-xiT
+uvX
blk
fxi
xvF
fxi
ibI
-bON
-dcx
+tqA
+cYz
eWI
maL
usF
@@ -116071,7 +116070,7 @@ ycE
ycE
cOW
aLr
-tqX
+wqZ
kfy
grm
blb
@@ -116262,15 +116261,15 @@ wOp
wOp
wOp
wOp
-mTc
+twf
xRW
xqS
fik
xqS
xQJ
tOa
-iZl
-iZl
+oPM
+oPM
wBI
xTO
xPj
@@ -116281,17 +116280,17 @@ vso
fHT
veK
dDF
-obb
+jQM
vMC
xFA
-sMh
+qAk
xFA
-xws
+nwc
xFA
mdt
mdt
iAD
-cAt
+sfp
mdt
mdt
jEi
@@ -116300,19 +116299,19 @@ lUo
lUo
hHf
aXI
-awE
-kdO
-niF
-mIm
-gMR
-pAl
-deh
-hcU
-uTR
+bPY
+nnc
+aHF
+esV
+gEY
+fal
+kYp
+aVa
+yaD
rFF
-sea
-wqb
-dlG
+owS
+aLg
+mwA
ois
eWI
umz
@@ -116328,7 +116327,7 @@ ycE
ycE
cOW
aLr
-tqX
+wqZ
kfy
grm
blb
@@ -116519,15 +116518,15 @@ wtx
xXT
kNu
lfa
-mTc
+twf
xQJ
mjf
mFh
noB
xQJ
avN
-iZl
-rWS
+oPM
+oRd
wBI
sEr
dQQ
@@ -116538,17 +116537,17 @@ vir
vir
vir
vir
-oNN
-xds
-mfl
-uZf
-aQl
-uGU
+txv
+kfb
+xJu
+dys
+dQk
+mWV
vfT
uMU
iPJ
ilD
-otk
+bBe
mYm
mdt
fdM
@@ -116557,19 +116556,19 @@ reh
tgp
reh
reh
-vnf
+agd
wML
oOw
keP
qrb
aSy
-svz
+exy
aSy
kRt
mjN
eFt
aSy
-tJw
+rLu
aSy
eWI
brZ
@@ -116585,7 +116584,7 @@ ycE
ycE
cOW
aLr
-tqX
+wqZ
sNb
svs
blb
@@ -116774,28 +116773,28 @@ aJq
xXT
bsu
opA
-goA
-xdu
-uFt
-plB
-caI
+kcd
+lli
+uEk
+mSb
+wsD
mFP
-qrm
+nHX
qNn
wBI
-fEM
+qdI
wBI
sDj
sES
wJL
wJL
vbK
-uKH
+lDt
qWF
-kUF
-kUF
-kUF
-kUF
+wco
+wco
+wco
+wco
jtI
jtI
jtI
@@ -116805,7 +116804,7 @@ xWD
uMU
pQr
xWs
-hio
+tCG
vfD
uMU
lDI
@@ -116814,13 +116813,13 @@ xKq
mMN
ljZ
uHd
-vnf
-exu
+agd
+mcn
rOX
rOX
sYa
omW
-nYl
+mFC
aSy
aSy
aSy
@@ -116842,7 +116841,7 @@ ycE
ycE
cOW
aLr
-hJO
+ugv
kfy
grm
blb
@@ -117031,7 +117030,7 @@ aJq
xXT
nkm
xXT
-mTc
+twf
lfd
vwd
xQJ
@@ -117039,15 +117038,15 @@ mjF
mGp
vUz
qNn
-pgy
-aHV
+sGI
+owm
sXi
bfe
sXi
ioR
mEL
vbK
-sfq
+rJk
uMH
vbK
wOs
@@ -117056,22 +117055,22 @@ wOs
wOs
wOs
vbK
-xuW
-myp
-kwX
-kOh
+jsy
+xam
+vhJ
+hfH
wec
-gGK
-aPX
-smk
-elc
-aZL
-aZL
-nAF
+seb
+sxj
+byk
+mzT
+wIY
+wIY
+oye
srK
srK
-tEC
-vnf
+eZu
+agd
wML
rOX
aUB
@@ -117099,7 +117098,7 @@ ycE
ycE
cOW
aLr
-hJO
+ugv
kfy
grm
blb
@@ -117288,7 +117287,7 @@ dDB
xXT
xXT
xXT
-wHS
+gje
xXT
xXT
xQJ
@@ -117297,14 +117296,14 @@ xQJ
qNn
qNn
vpM
-owD
+oJr
xda
rKC
pnU
xlL
xlL
mok
-xvv
+vRh
uMH
vbK
hVY
@@ -117313,36 +117312,36 @@ oTT
wuI
aeD
vbK
-xva
+vyD
xUV
rpk
uMU
vYx
xWs
-hio
+tCG
xwr
uMU
-xVn
-aej
+bvX
+yiU
tNu
-ltE
+pEy
udw
uHd
-lhm
-rKE
-wed
-vsJ
+tHO
+wEC
+kFg
+pkF
sYa
-cqn
+ccv
xTR
-foI
-gJS
-lIL
-gJS
-bYo
+pFZ
+cQQ
+iRs
+cQQ
+qco
mOm
uLT
-oWr
+oQM
tJX
tJX
eWI
@@ -117356,7 +117355,7 @@ ycE
ycE
cOW
aLr
-hJO
+ugv
kfy
svs
svs
@@ -117545,39 +117544,39 @@ dDB
dDB
blb
xXT
-mTc
+twf
xXT
oOb
xRq
pCa
-xdu
-mFt
-saA
+lli
+tgm
+sPr
nXS
-kYY
+iGL
oQj
pdz
pps
-lHZ
+sXz
xkO
sQb
-xvv
+vRh
uMH
xfc
rYm
phm
-vmp
+aLi
phm
wPK
xfc
-xvv
+vRh
xUV
rpk
uMU
eAn
bZN
-xEo
-wwz
+uWJ
+xqJ
uMU
rwB
iio
@@ -117585,19 +117584,19 @@ ifI
viX
uhe
sZK
-vnf
+agd
cVQ
rOX
-xre
+wXX
sYa
rtI
-dXU
+vwa
aSy
deQ
-tst
+eCW
deQ
aSy
-iMI
+lJU
tTT
eWI
wuf
@@ -117613,7 +117612,7 @@ xXP
xXP
oOl
rIY
-pAY
+oGM
kfy
obP
urB
@@ -117802,24 +117801,24 @@ dDB
dDB
blb
ukI
-wkG
-ebc
-xdu
-cmD
-pEq
-lYf
+vsS
+aqR
+lli
+qAv
+odG
+uTo
rsL
-iJb
-udd
-mLO
-oQJ
-pdU
-qka
-voh
-ueT
-vzN
-xvv
-cFo
+ciB
+oUC
+prI
+nxn
+fTN
+aMH
+wuX
+eWD
+nyz
+vRh
+pwA
rvX
ixT
svy
@@ -117842,19 +117841,19 @@ sip
wDA
mNu
uHd
-vnf
+agd
dav
rOX
ufe
sYa
xlM
-qrB
-yeQ
-yeQ
-riq
-yeQ
-yeQ
-qrB
+oUW
+qCN
+qCN
+het
+qCN
+qCN
+oUW
bjc
eWI
dNy
@@ -117870,7 +117869,7 @@ eWI
eWI
eWI
vlV
-sok
+eOG
kfy
svs
grm
@@ -118064,18 +118063,18 @@ xXT
wsL
vwd
fzq
-mTc
+twf
rsL
-qhh
-ghC
-vmJ
-hbk
-qIM
-kNZ
-lpt
-snJ
+edl
+oyA
+iFQ
+agJ
+bvd
+xfu
+xbT
+mIV
vbK
-upr
+nWq
uMH
xfc
yka
@@ -118084,8 +118083,8 @@ rXW
tdw
uaV
xfc
-xvv
-kqb
+vRh
+xYQ
vbK
xia
xia
@@ -118099,18 +118098,18 @@ wDA
wDA
ohA
sZK
-vnf
+agd
lsO
rOX
-vLH
+rOL
sYa
sYa
sYa
-xlP
-xlP
-fGE
-xlP
-xlP
+rwY
+rwY
+odu
+rwY
+rwY
eWI
eWI
eWI
@@ -118127,7 +118126,7 @@ fLI
cQo
cMY
vlV
-fPV
+iBw
jWO
svs
dDB
@@ -118309,9 +118308,9 @@ vPe
vPe
vPe
vPe
-qUZ
-qUZ
-qUZ
+xun
+xun
+xun
vCm
blb
rsL
@@ -118321,7 +118320,7 @@ rsL
rsL
rsL
rsL
-mTc
+twf
rsL
xSe
miz
@@ -118329,10 +118328,10 @@ hpM
ati
wJL
ppQ
-tTp
+ohJ
cCc
vbK
-xva
+vyD
uMH
vbK
fyL
@@ -118341,8 +118340,8 @@ sKz
uWv
uaV
vbK
-upy
-kWN
+isX
+uGW
sQb
mbZ
fIf
@@ -118356,25 +118355,25 @@ lZB
ivz
jYr
uHd
-mDW
+shE
wML
rrt
uWl
nbF
cVz
sYa
-rQw
-xlP
-pPp
-xlP
-tGp
+dxz
+rwY
+iTT
+rwY
+pxk
eWI
asc
usJ
lCN
jsX
vlV
-dqj
+sIt
vlV
lEN
fsW
@@ -118384,8 +118383,8 @@ kjO
fla
keO
vlV
-qXh
-qmy
+doq
+rhH
grm
blb
blb
@@ -118568,38 +118567,38 @@ uPX
uPX
opL
sTq
-qUZ
+xun
wgv
dDB
blb
uRF
-kNJ
+nJE
orC
oPQ
kbm
rsL
-mTc
+twf
rsL
xSt
xWq
iRk
aQZ
wJL
-prf
-dSb
-hiV
+voa
+tIy
+sbr
vbK
-tjm
-tis
-flx
-oBX
-mzl
-aOz
-mzl
+xgP
+qWJ
+hej
+qGV
+nXJ
+eQc
+nXJ
skV
-eHP
-pcy
-fdv
+ngy
+gto
+fqG
sQb
kZh
wJY
@@ -118613,25 +118612,25 @@ uHd
uHd
uHd
uHd
-meG
+lpg
wML
rrt
-lXV
saY
+qbo
hnP
sYa
-xlP
-xlP
-yeI
-xlP
-xlP
+rwY
+rwY
+cWd
+rwY
+rwY
eWI
eKf
tNT
vlV
tJX
tJX
-vid
+gky
vlV
vlV
vlV
@@ -118639,9 +118638,9 @@ vlV
vlV
uhT
uhT
-fpq
-pCU
-tqX
+niZ
+qfI
+wqZ
kfy
svs
dDB
@@ -118811,21 +118810,21 @@ dDB
vdg
wdB
sxv
-qnt
+nHV
dDB
-qnt
+nHV
lBy
vPe
sOk
-qnt
+nHV
blb
-qnt
-qnt
-qnt
+nHV
+nHV
+nHV
blb
-qnt
+nHV
lBy
-qUZ
+xun
vCm
blb
uRF
@@ -118833,9 +118832,9 @@ uRF
uRF
orC
vWM
-tGB
+sgW
rsL
-mIh
+hgx
rsL
xTO
cHI
@@ -118843,63 +118842,63 @@ ily
xPj
wJL
sHX
-sXG
+kqo
tqV
vbK
-upP
+vNe
rwg
vbK
-dtC
+aCS
vym
phm
phm
dss
vbK
-sfq
-kFV
-cpU
-wcT
-wcT
-wvM
-wcT
-xwu
-xEd
-bBr
-yjt
-eTT
-dUS
-jxk
-vKX
-vnf
+rJk
+uGX
+dHJ
+xqn
+xqn
+vrg
+xqn
+tnv
+tfG
+jps
+lKD
+bkc
+jht
+nJx
+wVC
+agd
wML
rOX
-bXG
+xif
jlN
duc
sYa
-axN
-xlP
-gWf
-xlP
-xlP
+uvi
+rwY
+dnN
+rwY
+rwY
eWI
fxN
clb
vlV
fSB
eWI
-vid
-vid
-lrh
-vid
-vid
-mNv
-fpq
-fpq
-fpq
+gky
+gky
+bQh
+gky
+gky
+jSu
+niZ
+niZ
+niZ
vlV
-tqX
-xnY
+wqZ
+vEn
svs
grm
grm
@@ -119066,33 +119065,33 @@ wCc
wCc
blb
lBy
-qUZ
-qUZ
-qnt
+xun
+xun
+nHV
blb
-qnt
-qUZ
+nHV
+xun
vPe
-qUZ
-qnt
+xun
+nHV
dDB
dDB
blb
dDB
dDB
-qnt
-qUZ
-qUZ
-qUZ
-qUZ
-kmd
+nHV
+xun
+xun
+xun
+xun
+ygC
nJd
-kOG
-osj
+dKH
+gMl
vWt
tFH
-vkr
-mIW
+ihK
+uqt
rsL
afv
rdM
@@ -119100,10 +119099,10 @@ rdM
ekL
wJL
prh
-sYb
+trC
ttD
vbK
-pcE
+sRB
xfc
vbK
bWi
@@ -119112,33 +119111,33 @@ wyy
pjn
tzH
vbK
-the
-fdv
+jez
+fqG
uUS
ocb
-mbk
+mau
ocb
bYk
-jPy
-mpE
+ayu
+xVv
ocb
ocb
-mbk
+mau
nTP
dNz
erE
-vnf
+agd
uZG
rOX
-pXQ
-kwA
+hEY
+iRr
xaR
sYa
-xdV
-xlP
-gpy
-xlP
-orz
+ltB
+rwY
+umY
+rwY
+eHZ
eWI
eWI
eWI
@@ -119155,7 +119154,7 @@ vlV
vlV
vlV
vlV
-vgy
+mAk
kfy
svs
oOg
@@ -119323,23 +119322,23 @@ dDB
dDB
dDB
qyN
-qUZ
+xun
wgv
-qnt
+nHV
dDB
-qnt
+nHV
lBy
vPe
sOk
-qnt
+nHV
blb
-qnt
-qnt
-qnt
+nHV
+nHV
+nHV
blb
-qnt
+nHV
lBy
-qUZ
+xun
vCm
blb
uRF
@@ -119347,7 +119346,7 @@ uRF
uRF
vWM
vWM
-ewt
+qdK
rsL
mJq
rsL
@@ -119360,7 +119359,7 @@ rsL
xNw
xNw
xNw
-uqH
+nMc
uNd
wMO
wcp
@@ -119369,33 +119368,33 @@ wcp
wcp
wcp
xFA
-ryk
-iYo
+wgW
+xVG
sQb
rxT
vYF
wwk
sbX
rxT
-bkg
+ybo
xYH
gTc
rxT
kse
sst
eQn
-vnf
+agd
wML
rrt
bqR
ryy
boW
sYa
-mwJ
-xlP
-ygf
-xlP
-fvH
+uvS
+rwY
+bIz
+rwY
+lZD
eWI
blb
blb
@@ -119410,13 +119409,13 @@ tJX
tJX
vlV
nsW
-geS
-aWz
-xsW
-tfH
-qRo
-wGq
-oWf
+uCA
+etW
+frp
+sTs
+yhe
+iza
+qMO
jzp
ogF
grm
@@ -119580,7 +119579,7 @@ dDB
vdg
wdB
qis
-qUZ
+xun
twg
lvk
wdB
@@ -119591,12 +119590,12 @@ twg
hrL
wdB
wdB
-qUZ
+xun
sxv
dDB
blb
qyN
-qUZ
+xun
wgv
dDB
blb
@@ -119604,10 +119603,10 @@ uRF
kPv
fMg
auO
-cbH
+lmf
rsL
wBs
-noN
+kZJ
vjb
vjb
uoH
@@ -119615,33 +119614,33 @@ ikc
vwd
rsL
vBG
-bpI
+pen
qiM
urd
-lTg
-viA
+qWL
+pnO
vqU
mUO
mUO
-uNK
+bYj
owv
-rOW
-xvv
-fdv
+mDO
+vRh
+fqG
sQb
mbZ
wHg
wwU
wHg
mbZ
-fUG
+tpl
xYK
jSl
mbZ
kse
aBu
xLZ
-vnf
+agd
wML
rrt
yep
@@ -119657,9 +119656,9 @@ eWI
dDB
blb
eXo
-vgz
-vgz
-vgz
+pij
+pij
+pij
eXo
blb
eWI
@@ -119667,14 +119666,14 @@ pPZ
uzo
vlV
bNu
-xQj
+rVX
msJ
nwj
kfy
mVD
jzp
-oWf
-lXs
+qMO
+aLA
cpE
grm
dDB
@@ -119835,14 +119834,14 @@ wCc
blb
blb
lBy
-hgY
-qUZ
-qUZ
-qUZ
-qUZ
-qUZ
-qUZ
-qUZ
+gro
+xun
+xun
+xun
+xun
+xun
+xun
+xun
vPe
vPe
vPe
@@ -119853,7 +119852,7 @@ sOk
blb
blb
vav
-qUZ
+xun
vCm
blb
woi
@@ -119868,37 +119867,37 @@ xXT
qNF
rej
wBs
-jSR
-jSR
-wxd
-qYv
-qYv
-tWG
-eXW
-uNR
-viA
+ijk
+ijk
+mMP
+tDo
+tDo
+wzg
+oAU
+mZX
+pnO
sbN
iXM
oKn
-uNK
+bYj
owv
-rOW
-wnO
-uHf
+mDO
+xvv
+cwZ
vbK
xia
xia
xia
xia
-cxO
-egL
-cxO
+fna
+euM
+fna
xia
xia
xia
uXC
uXC
-vnf
+agd
lHn
rOX
rOX
@@ -119916,22 +119915,22 @@ eXo
eXo
pGJ
oyW
-ief
+cPu
eXo
blb
eWI
eWI
eWI
eWI
-pTi
-xQj
+cDf
+rVX
svs
uzY
qbn
svs
kNK
-qIZ
-vtd
+oPO
+cfH
svs
svs
dDB
@@ -120095,12 +120094,12 @@ rMm
uPX
uPX
sTq
-qUZ
+xun
xCH
vqH
uPX
uPX
-qUZ
+xun
uPX
uPX
vqH
@@ -120110,7 +120109,7 @@ wgv
blb
dDB
rMm
-qUZ
+xun
pSs
dDB
blb
@@ -120137,28 +120136,28 @@ xok
xok
xok
sMD
-sJg
+aaV
sMD
wMO
-ukQ
+kDY
qTe
-sxF
-qTb
-vYL
-gIR
-wNT
+jUT
+mkd
+maj
+lAQ
+wwJ
xnC
xnC
xnC
-rfO
-aGv
-nLk
-nxp
-icT
-bxI
-wwI
-ghK
-vXH
+irf
+gFP
+pIe
+vId
+qob
+qqX
+iuB
+erp
+uqn
blb
blb
blb
@@ -120169,25 +120168,25 @@ eWI
eWI
eWI
blb
-vgz
+pij
nFs
-hwj
-wGU
-yhn
+bgQ
+hvX
+lRw
eXo
blb
blb
blb
blb
-eXt
-kML
-imI
+bMH
+tYN
+cYm
svs
ewF
xJi
svs
pSq
-ycj
+ePA
qZG
svs
dDB
@@ -120350,27 +120349,27 @@ dDB
dDB
dDB
dDB
-qnt
+nHV
qyN
-qUZ
+xun
wgv
-qnt
+nHV
blb
-qnt
-qnt
-qnt
+nHV
+nHV
+nHV
blb
-qnt
+nHV
qyN
vPe
wgv
-qnt
+nHV
blb
-qnt
-qnt
-qnt
+nHV
+nHV
+nHV
blb
-qnt
+nHV
xzd
hrL
ljl
@@ -120382,7 +120381,7 @@ rsL
ndY
pms
gaL
-oJL
+rgb
yhK
prW
pms
@@ -120393,26 +120392,26 @@ qXL
xok
uGK
xok
-wcq
+iQw
pED
-kea
-iCJ
-ede
-hoG
-vkt
+doh
+mSr
+kUM
+ixA
+dwd
vCe
-oJn
-xer
-sZx
-wPX
-wFa
-emn
-unT
-hsC
-jbd
+pNo
+lCW
+udg
+gsw
+bJQ
+aEh
+kEz
+mQt
+mUT
jiT
cDy
-efK
+eIU
wML
fKP
sxm
@@ -120426,25 +120425,25 @@ dDB
dDB
blb
blb
-vgz
-jMa
-wHJ
-oCg
-oJP
+pij
+iZr
+mWE
+gzL
+iKA
eXo
blb
eXo
eXo
eXo
eXo
-tJC
-xBp
+qCc
+bPO
svs
grm
grm
svs
fnw
-exR
+nRJ
bIg
svs
dDB
@@ -120607,29 +120606,29 @@ dDB
dDB
dDB
dDB
-qnt
-qUZ
-qUZ
-qUZ
-qnt
+nHV
+xun
+xun
+xun
+nHV
dDB
dDB
blb
dDB
dDB
-qnt
-qUZ
+nHV
+xun
vPe
-qUZ
-qnt
+xun
+nHV
dDB
dDB
blb
dDB
dDB
-qnt
-qUZ
-qUZ
+nHV
+xun
+xun
vPe
rqR
woE
@@ -120639,16 +120638,16 @@ rsL
lRh
pfT
kaD
-hWE
-hWE
-sJr
+jpE
+jpE
+ooV
kaD
tCD
vtA
-phM
urk
-viK
-dSq
+rza
+rzk
+luS
xok
mzf
wwQ
@@ -120658,50 +120657,50 @@ gAA
jtI
tRw
xFA
-rFH
+neH
xFA
fbO
ixU
-ipx
-lHb
-skT
+txz
+fPx
+kuU
sCR
eQt
fjL
lXE
-vnf
+agd
wML
pwn
eXo
-auG
-wdS
+iUp
+dqH
eXo
-vgz
-vgz
-vgz
+pij
+pij
+pij
eXo
-vgz
-vgz
-vgz
+pij
+pij
+pij
eXo
-srH
-vqX
-liL
-naa
+jfK
+pJe
+dzI
+bQX
eXo
eXo
eXo
-cmA
-auG
-nVF
+jat
+iUp
+dUY
msJ
-xQj
+rVX
svs
dDB
dDB
svs
mrt
-oWf
+qMO
gRX
svs
dDB
@@ -120864,29 +120863,29 @@ wCc
wCc
wCc
dDB
-qnt
+nHV
qyN
-qUZ
+xun
wgv
-qnt
+nHV
blb
-qnt
-qnt
-qnt
+nHV
+nHV
+nHV
blb
-qnt
+nHV
qyN
vPe
wgv
-qnt
+nHV
blb
-qnt
-qnt
-qnt
+nHV
+nHV
+nHV
blb
-qnt
+nHV
lBy
-qUZ
+xun
vCm
xXT
xXT
@@ -120896,69 +120895,69 @@ rsL
cgy
seM
seM
-cPh
+rVy
seM
-oGL
+rhX
gfQ
tCD
mkh
ntK
lSu
xok
-tNz
+lCY
xok
bgg
tfE
vFG
wMO
-kzs
-uTO
-uTO
+feN
+vmx
+vmx
xok
-dXb
+bGp
xok
wOh
rUc
-qbN
-xZE
+lBS
+tZe
ugo
roZ
eQt
wYa
dBh
-vnf
-lSa
+agd
+fdG
uXC
eXo
-hQd
-olG
-vgz
+ptz
+jHx
+pij
sXw
-vVX
+cfZ
sTK
hGr
vbQ
-iVE
+hWg
ksg
-vgz
-mLM
-iIN
-nIx
-lPI
-iOF
+pij
+tZh
+dSn
+dTJ
+inw
+rfY
ePX
-vgz
-nxy
-lkv
-nVF
+pij
+jrU
+qlz
+dUY
msJ
-cYk
+mJt
svs
blb
blb
svs
gFX
-oWf
+qMO
lxN
svs
svs
@@ -121123,12 +121122,12 @@ blb
dDB
dDB
qyN
-qUZ
+xun
wgv
dDB
dDB
vdg
-wEw
+eDe
wdB
wdB
hrL
@@ -121138,12 +121137,12 @@ twg
lvk
wdB
wdB
-qUZ
+xun
wdB
wdB
lvk
qis
-qUZ
+xun
wgv
dDB
dDB
@@ -121155,24 +121154,24 @@ rsL
rsL
skP
skP
-psn
+udl
oyQ
oyQ
oyQ
-uuY
+fQK
tCD
xok
-iPF
+mCk
xok
xok
xok
xok
xok
-xvx
-xVY
+uQa
+fYj
cyx
xok
-upe
+aPp
xok
avr
nuo
@@ -121183,39 +121182,39 @@ eQt
xok
xok
xok
-qID
-fqv
-uSB
-vSM
-blm
-nKj
-juf
-fJK
-daH
-fJK
-gxq
-daH
-daH
-daH
-pJu
-tsA
-vyi
-qDi
-aEJ
-bZt
-gnp
-srE
-lom
-hIF
-lDc
-pGK
-pGp
+jON
+iHM
+uwM
+dve
+pFN
+lRF
+xuR
+mny
+gEy
+mny
+jlx
+gEy
+gEy
+gEy
+eFW
+iMT
+bLK
+llf
+kcD
+mFc
+pBp
+hmq
+rQX
+ixm
+lVB
+dns
+pQh
svs
dDB
dDB
svs
dlJ
-eem
+omu
lwY
pJj
grm
@@ -121385,22 +121384,22 @@ pSs
dDB
dDB
qyN
-qUZ
-qUZ
-qUZ
-qUZ
-hJR
-qUZ
-qUZ
-qUZ
-qUZ
-qUZ
-qUZ
-qUZ
-qUZ
-qUZ
-qUZ
-qUZ
+xun
+xun
+xun
+xun
+rGu
+xun
+xun
+xun
+xun
+xun
+xun
+xun
+xun
+xun
+xun
+xun
wgv
dDB
dDB
@@ -121414,22 +121413,22 @@ nsd
pdY
psP
oyQ
-pVa
+mBY
qjh
qzL
kbI
xok
-iPF
+mCk
sHV
wcs
xaN
fds
xok
-fni
-xWw
-cip
-ujT
-mYd
+xlY
+qbH
+bla
+cEB
+pyM
xok
xok
xok
@@ -121440,39 +121439,39 @@ xOw
xok
itF
xok
-qFb
+hul
wML
gDB
-hAe
-fHk
+mBl
+gMe
nRr
-vTg
+glF
rqm
-lPJ
+odz
rYp
aKx
rYp
-bYC
+xxw
rqm
-mrs
-mhW
-hfI
-ikS
+uLx
+nFp
+exj
woD
+qCY
toh
tAT
-vhu
+aQJ
ldx
-fHk
-hAe
+gMe
+mBl
msJ
-xQj
+rVX
svs
svs
svs
svs
oXs
-ljw
+gKh
gyi
svq
grm
@@ -121669,68 +121668,68 @@ yfJ
rsL
quq
xQX
-ptj
-tNy
+wuN
+hIG
jGW
vkU
-ogT
+nSD
wgC
xok
vzg
-vPS
-jKC
-twi
-iBZ
+pbQ
+eay
+uUG
+qrK
xok
ukV
uHo
-vkJ
+dxc
xok
-mYd
-txV
-txV
-txV
+pyM
+xEq
+xEq
+xEq
xok
cnG
cZl
gMQ
xok
-kSv
-rNd
-vnf
-ukk
+jOm
+vcr
+agd
+uzK
dde
-nVF
-qsg
+dUY
+jZN
kcW
-vgz
+pij
udv
-tSq
+ogl
mvo
hGr
bFw
-ulK
+tIM
cdn
-vgz
-vwE
-ujZ
-mkZ
-lZa
+pij
+mSh
+iJo
+xcN
+jmA
fZp
xHc
-vgz
+pij
oGk
eFV
-nVF
+dUY
msJ
-xQj
+rVX
grm
blb
blb
grm
oqK
-qhv
-vtd
+vFb
+cfH
aqW
grm
dDB
@@ -121929,7 +121928,7 @@ utm
utm
utm
jXR
-dZp
+kIU
urm
ciT
xok
@@ -121937,56 +121936,56 @@ dex
bxT
qNO
xaN
-iPF
+mCk
xok
xok
xok
xok
xok
-mYd
+pyM
xaN
uGK
-txV
+xEq
xok
xok
xok
xok
xok
-kSv
+jOm
xaN
-xjo
+xlk
qQK
kuO
-nVF
+dUY
aAD
sCk
eXo
-vgz
-vgz
-vgz
+pij
+pij
+pij
eXo
-vgz
-vgz
-vgz
+pij
+pij
+pij
eXo
-oYx
-leW
-liL
-oYx
+nGo
+lyX
+dzI
+nGo
eXo
eXo
eXo
xhM
oJv
-nVF
+dUY
msJ
-xQj
+rVX
grm
blb
blb
grm
wHP
-bkX
+iia
msJ
tuP
grm
@@ -122194,25 +122193,25 @@ xCV
swb
xCV
xaN
-tAQ
-tUH
-wZA
-wZA
-tUH
-vDC
-esz
+dgJ
+rwb
+oNR
+oNR
+rwb
+bKp
+oBg
xaN
wQx
-txV
-tec
-txV
-txV
-uqc
-txV
-kSv
+xEq
+vEG
+xEq
+xEq
+lWa
+xEq
+jOm
xaN
-eSd
-vXH
+vwj
+uqn
uXC
eXo
eXo
@@ -122225,19 +122224,19 @@ dDB
dDB
blb
blb
-vgz
-tMs
-wHJ
-oCg
-bmr
+pij
+kHz
+mWE
+gzL
+gCf
eXo
blb
eXo
eXo
eXo
eXo
-qCc
-xaI
+ptv
+gRN
svs
svs
svs
@@ -122455,7 +122454,7 @@ mSH
xaN
xaN
xaN
-taL
+pzG
xaN
xaN
xaN
@@ -122468,10 +122467,10 @@ uGK
vbp
fWJ
xaN
-bCQ
+jCx
llT
-kfI
-vXH
+qEB
+uqn
blb
blb
blb
@@ -122482,19 +122481,19 @@ ifa
ifa
ifa
blb
-vgz
+pij
aoa
-asG
-gDQ
-lSc
+llH
+cKL
+mTM
eXo
blb
blb
blb
blb
-eXt
-kML
-apl
+bMH
+tYN
+dkP
svs
dDB
dDB
@@ -122711,9 +122710,9 @@ xaN
xCV
xaN
tZi
-xWL
-vkV
-nBG
+oAz
+iuO
+lqN
liS
xaN
eUN
@@ -122725,9 +122724,9 @@ xok
xok
fWJ
bNl
-bCQ
-qac
-vOf
+jCx
+qgq
+iQP
uXC
scj
ifa
@@ -122743,15 +122742,15 @@ eXo
eXo
mFG
epa
-whu
+ofG
eXo
blb
kQt
kQt
kQt
kQt
-xJm
-sOt
+dGm
+dfg
svs
dDB
dDB
@@ -122969,46 +122968,46 @@ dDB
xaN
xwk
gnY
-mOM
-vFh
-vYS
-dfO
+kCA
+uJP
+kPs
+wxu
xok
xok
xok
xok
dTi
-evq
+tbI
xok
qNO
xaN
-lGL
-jML
-jML
-awQ
-dXe
-jTu
-gTK
-bDD
-dhy
-otB
-lee
+muK
+ukN
+ukN
+vlp
+iSo
+kBT
+epi
+aIf
+aBN
+bCB
+dJh
lCh
ifa
dDB
blb
eXo
-vgz
-vgz
-vgz
+pij
+pij
+pij
eXo
blb
kQt
kVx
bEd
hyE
-hZP
-uaF
+fJY
+nQW
svs
blb
blb
@@ -123230,26 +123229,26 @@ vlq
vFn
qNO
sbq
-wRd
-wRo
-xEQ
-elh
-fpw
-pOL
+jYV
+qsV
+cFl
+lDF
+yba
+lDr
xok
geg
xok
bEB
-vjV
+mWc
eYH
-ruB
-vXH
+jTH
+uqn
jnk
gqh
bcK
-kXQ
-jId
-spK
+eSb
+iTI
+gqV
qKe
ifa
blb
@@ -123262,10 +123261,10 @@ blb
blb
kQt
lxo
-aWB
+uFc
pil
-cxy
-cyf
+oXO
+nlb
svs
dDB
dDB
@@ -123487,26 +123486,26 @@ lOG
xaN
xCV
sbq
-cNT
-vTf
-xFI
-gfu
-pQW
-pQW
-nOD
-pzg
+wRo
+nEo
+aXy
+iRv
+ckt
+ckt
+cdx
+lwu
lkV
whF
-okW
+eKB
kQt
-fUo
+myW
hyE
xKl
vkW
-djE
-kCI
+uWr
+fkL
gqh
-spK
+gqV
jJT
kQt
kQt
@@ -123518,11 +123517,11 @@ kQt
kQt
kQt
kQt
-bFW
+dHL
leP
hyE
-iVT
-uYO
+pgF
+wDy
svs
dDB
dDB
@@ -123747,24 +123746,24 @@ sbq
sbq
sbq
sbq
-muB
+aFj
lkV
-iJL
-dNo
-uDI
-juU
-vMi
-agI
+tZD
+aZU
+vTv
+uOe
+boY
+abS
kQt
-xZX
+sHl
hyE
gTS
nUo
bGe
iqD
-cHy
-nQo
-pcL
+fVy
+iOC
+nGC
kQt
bRk
oix
@@ -123778,8 +123777,8 @@ hyE
qww
hyE
hyE
-xVj
-oHy
+uPx
+kIi
grm
dDB
dDB
@@ -124002,18 +124001,18 @@ dDB
blb
rLr
xtW
-lUt
-wBN
-fId
-wBN
-cCK
-rci
+jiR
+reN
+hRA
+reN
+uOn
+nIf
kpX
lnu
enG
-xMK
+hIV
kQt
-xZX
+sHl
hyE
hyE
hyE
@@ -124021,7 +124020,7 @@ iut
hyE
tbu
tbu
-tbk
+nLC
kQt
hyE
oix
@@ -124035,8 +124034,8 @@ leP
xXi
hyE
kXS
-jhY
-maE
+pJa
+blA
grm
dDB
dDB
@@ -124261,25 +124260,25 @@ rLr
naz
rlM
oZz
-hRA
+xZJ
aVT
enG
-pJr
-pJr
-pJr
-hUD
-xpR
+kUa
+kUa
+kUa
+vIz
+dXx
kQt
-nhl
-rBc
-dzE
+kjT
+feF
+qoR
oTj
eLB
hyE
hKs
pYx
-tdS
-uch
+oIz
+iIk
hyE
oix
hyE
@@ -124289,11 +124288,11 @@ osY
hyE
hyE
lSb
-tUZ
+mch
hyE
wmB
-qGB
-pXS
+luC
+ebx
svs
dDB
dDB
@@ -124516,20 +124515,20 @@ dDB
blb
rLr
xtW
-wja
+xxa
nWh
-xEn
+mgQ
nWh
-xnR
-aLC
-wLZ
-eKV
-jPM
-vwJ
+lXI
+qdn
+wgO
+ncA
+cns
+aEV
kQt
kQt
kQt
-fAP
+eHj
vWU
kRE
hyE
@@ -124549,8 +124548,8 @@ qgu
hyE
hyE
svs
-bpo
-sTi
+qlS
+nYn
svs
dDB
dDB
@@ -124775,18 +124774,18 @@ yeZ
yeZ
yeZ
yeZ
-sBA
+fnd
yeZ
yeZ
qei
qei
qei
-jZL
-dDc
+nZm
+heQ
hGb
-iSh
+iUc
kQt
-xZX
+sHl
eBe
bEd
hyE
@@ -124798,16 +124797,16 @@ hyE
oix
hyE
iZH
-shm
+mXk
lKG
scv
hyE
-bFW
+dHL
hyE
blb
grm
lZH
-ppm
+qZM
grm
dDB
dDB
@@ -125029,33 +125028,33 @@ dDB
dDB
blb
yeZ
-rma
-oqi
+wrT
+oCB
xFL
-pPD
+dtk
kZF
pSB
qei
qZU
jeG
-wRm
-dyJ
+oxg
+fZG
hQD
cqx
kQt
-xZX
+sHl
iix
gFu
hyE
-rLk
-umr
+cJF
+uOc
cAm
ggN
hyE
mME
hyE
mJS
-tSI
+bJw
eoC
cRS
hyE
@@ -125064,7 +125063,7 @@ hyE
blb
grm
eUC
-oIa
+hoN
grm
dDB
dDB
@@ -125286,21 +125285,21 @@ dDB
dDB
blb
rle
-xKA
+oqi
xFL
-rbH
+rCa
lwn
-vZf
+aMy
nNZ
qei
rss
hcb
-owH
-rzd
+peH
+sQX
idt
tKG
kQt
-nyd
+aSX
hyE
hyE
hyE
@@ -125321,7 +125320,7 @@ hyE
hyE
svs
svs
-whA
+bpO
svs
dDB
dDB
@@ -125543,21 +125542,21 @@ dDB
dDB
blb
yeZ
-iyr
-rCa
-wVg
+sKQ
+dEL
+qLB
nzL
nzL
nzL
qei
vCQ
qSC
-rez
-xwU
+kcQ
+gpT
bVD
-agy
+pME
kQt
-tdE
+qrL
rWA
mfp
uyA
@@ -125573,12 +125572,12 @@ uqL
bGL
pjb
jLP
-bFW
+dHL
bRk
hyE
blb
wJd
-khG
+tfQ
huy
dDB
dDB
@@ -125802,21 +125801,21 @@ blb
rle
wTJ
lDw
-pAC
+ejx
bry
heT
teE
qei
xwQ
wCH
-fkK
-qPJ
-sGE
-hon
+sXL
+rzd
+dUb
+hcF
kQt
-lHc
-njh
-xyZ
+sAc
+xaF
+mmP
pxZ
xTf
nZq
@@ -125827,15 +125826,15 @@ xap
ieY
kks
dof
-sdm
-gJj
+uVO
+lEg
rWO
wrD
bHs
hyE
blb
wJd
-jSU
+oTq
huy
dDB
dDB
@@ -126059,21 +126058,21 @@ nzL
yeZ
iHv
lDw
-fKd
+opp
lDw
bHy
rxP
qei
whD
-qRa
-cTp
-qPJ
-uQb
-ijB
+hwh
+gzS
+rzd
+gbE
+qoM
kQt
hyE
hyE
-xXy
+cqW
hyE
hyE
pYu
@@ -126092,7 +126091,7 @@ hyE
hyE
wJd
wJd
-kci
+owI
wJd
wJd
wJd
@@ -126316,21 +126315,21 @@ nFI
yeZ
wXg
rud
-aGb
-rFp
+hWG
+rEN
yly
-kHJ
-rGp
-qLE
-qnJ
-oiT
-obs
-ilE
-nwk
+rBg
+bTH
+blJ
+kwU
+bVH
+csU
+aQL
+xoM
kQt
-bHF
-mdG
-jie
+mHY
+teF
+sHv
vHx
hyE
lKG
@@ -126349,7 +126348,7 @@ xjZ
xjZ
gTb
utD
-ucY
+rkr
qVK
iEG
vGK
@@ -126585,7 +126584,7 @@ kQt
kQt
kQt
kQt
-fSx
+mGU
hyE
hyE
hyE
@@ -126606,14 +126605,14 @@ vWQ
fBX
fBX
vvz
-jvP
+cnK
vvz
fbM
mCF
xIP
-rGO
-mqO
-vKe
+nlM
+gkJ
+rJc
gXS
njL
xIP
@@ -126832,17 +126831,17 @@ yeZ
yeZ
yeZ
yeZ
-oXa
-dYW
-dxZ
-mdG
-mdG
-mdG
-mdG
-irc
+oVV
+kpD
+piP
+teF
+teF
+teF
+teF
+mxA
hyE
-bHF
-xAv
+mHY
+olz
hyE
dDB
dDB
@@ -126853,22 +126852,22 @@ dDB
dDB
dDB
hyE
-dAr
-afF
-afF
lVg
+afF
+afF
+pMs
hyE
wWz
nQz
sSS
fLC
-hgP
-uyF
-bmA
-xZs
-jif
-wBi
-fUN
+uJm
+wtC
+kuZ
+eQd
+qcf
+dPS
+swH
kGB
bzZ
flo
@@ -127096,9 +127095,9 @@ hyE
hyE
hyE
hyE
-kit
-mdG
-rta
+nvU
+teF
+vai
hyE
hyE
dDB
@@ -127110,11 +127109,11 @@ dDB
dDB
dDB
hyE
+iWI
+hyE
+hyE
ecL
hyE
-hyE
-oOR
-hyE
pNC
luo
jAq
@@ -127125,7 +127124,7 @@ lhP
ksa
hyA
xIP
-sib
+lNq
uVD
bzZ
bGn
@@ -127354,7 +127353,7 @@ dDB
dDB
hyE
hyE
-aKJ
+jKv
hyE
hyE
dDB
@@ -127367,10 +127366,10 @@ dDB
dDB
dDB
dDB
-ury
-blb
-blb
fKx
+blb
+blb
+seV
wJd
nle
lnA
@@ -127611,7 +127610,7 @@ dDB
dDB
dDB
loo
-jIm
+ept
loo
dDB
dDB
@@ -127624,10 +127623,10 @@ dDB
dDB
dDB
dDB
-wHl
+iaJ
blb
blb
-fKx
+seV
wJd
wJd
wJd
@@ -127868,7 +127867,7 @@ dDB
dDB
dDB
xeo
-xTo
+mZu
cMv
dDB
dDB
@@ -127881,7 +127880,7 @@ dDB
dDB
dDB
dDB
-wHl
+iaJ
blb
blb
vVT
@@ -128125,7 +128124,7 @@ dDB
dDB
dDB
xeo
-xTo
+mZu
cMv
dDB
dDB
@@ -128138,10 +128137,10 @@ dDB
dDB
dDB
dDB
-ury
-blb
-blb
fKx
+blb
+blb
+seV
dDB
blb
dDB
@@ -128382,7 +128381,7 @@ dDB
dDB
dDB
xeo
-xTo
+mZu
cMv
dDB
dDB
@@ -128395,7 +128394,7 @@ ylD
dDB
dDB
ylD
-sgt
+cpJ
ylD
ylD
mTU
@@ -128639,13 +128638,13 @@ dDB
dDB
dDB
loo
-jIm
+ept
loo
dDB
dDB
dDB
cSC
-aRT
+lnU
cNR
jNn
ylD
@@ -128896,22 +128895,22 @@ ylD
ylD
ylD
ylD
-mud
+kQP
ylD
ylD
ylD
ylD
cSC
rir
-swh
-xFT
+nKp
+lXH
ylD
wNK
pnt
ylD
ksN
-ubk
-eRO
+sVk
+jQj
xpb
ylD
lVz
@@ -128924,9 +128923,9 @@ dDB
ylD
urn
pHk
-aMp
-wla
vlX
+wla
+aRw
egN
oFf
cbg
@@ -129148,26 +129147,26 @@ ylD
sge
lVz
idq
-oRB
-vfK
-vfK
-pST
-pST
-vfK
-vfK
-bnr
-bnr
+hTI
+pyr
+pyr
+cCl
+cCl
+pyr
+pyr
+gwI
+gwI
qkp
-jKT
+okO
sEB
-kNk
-wiO
+odk
+pof
eLn
xlx
sEn
csI
-xae
-sgm
+bVR
+jLl
xlx
sOF
cFq
@@ -129181,12 +129180,12 @@ dDB
ylD
ylD
ylD
+sPa
+ylD
+ylD
oRV
ylD
ylD
-hGk
-ylD
-ylD
ylD
dDB
dDB
@@ -129412,19 +129411,19 @@ ylD
ylD
ylD
ylD
-mUn
+nOg
ylD
ylD
-rhL
+bKq
sEB
-rMb
-jTp
+wgt
+eAo
sWA
-mmy
+kwu
ouL
-cfy
-mmy
-mmy
+aqV
+kwu
+kwu
vLs
qeT
ylD
@@ -129437,11 +129436,11 @@ ylD
ylD
ylD
mEq
-xCT
+ozV
bsI
ylD
wBa
-tob
+xCT
kRN
ylD
wdk
@@ -129667,33 +129666,33 @@ jmd
bRm
wKG
lAO
-ncb
+mfI
ylD
-mLA
+wBJ
pFk
ylD
sIZ
rir
-bAI
-bGi
+kRU
+aVL
ylD
vPJ
-dTB
+bER
ylD
pdt
xBF
sVp
oyR
ylD
-iWf
-nTE
+ymh
+meJ
xkn
xEv
-nTE
-nTE
-nTE
-oRV
-hMk
+meJ
+meJ
+meJ
+sPa
+eQQ
gYq
aUA
ylD
@@ -129926,13 +129925,13 @@ rEb
oiU
oiU
mZA
-uqU
-qwc
+add
+xNV
ylD
fbj
-tTA
+jPU
fbj
-mMr
+jNX
ylD
nuY
ovB
@@ -129942,7 +129941,7 @@ ylD
ylD
ylD
ylD
-iWf
+ymh
ylD
ylD
ylD
@@ -130184,7 +130183,7 @@ lQu
ylD
ylD
oWk
-mVy
+qHt
ylD
ylD
ylD
@@ -130193,13 +130192,13 @@ ylD
ylD
dOb
ovB
-kUW
-nTE
-nTE
-nTE
-nTE
+lko
+meJ
+meJ
+meJ
+meJ
xkn
-iWf
+ymh
ylD
xqq
xLY
@@ -130440,13 +130439,13 @@ mwx
wgF
ylD
rZG
-krv
-bNP
+cFj
+ruG
fii
fNv
jwh
-mAP
-goz
+fvz
+aYR
vNt
kIY
vqb
@@ -130698,8 +130697,8 @@ ylD
ylD
xcH
xmg
-aiX
-mlm
+cXN
+tGY
vlb
xgz
iKo
@@ -130956,7 +130955,7 @@ ylD
ylD
ylD
vnv
-wnI
+elr
vnv
ylD
ylD
@@ -131213,7 +131212,7 @@ ylD
wFz
baE
fcq
-nAI
+urc
fkT
fcq
sQv
@@ -131470,12 +131469,12 @@ ylD
olm
fcq
fkT
-jcm
-nAI
-nAI
-nAI
-nAI
-vjp
+wCS
+urc
+urc
+urc
+urc
+tKm
wdk
wdk
wdk
@@ -131727,8 +131726,8 @@ cgM
fcq
fcq
mcl
-xYz
-nAI
+vjO
+urc
fcq
fkT
fcq
@@ -131984,8 +131983,8 @@ lgf
fkT
mcl
mcl
-xYz
-gSk
+vjO
+efO
fcq
oBh
fcq
diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm
index 3f99621867d..da86edde001 100644
--- a/_maps/map_files/Deltastation/DeltaStation2.dmm
+++ b/_maps/map_files/Deltastation/DeltaStation2.dmm
@@ -164,23 +164,6 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/iron,
/area/station/construction/mining/aux_base)
-"acn" = (
-/obj/machinery/door/airlock/medical{
- name = "Medbay Cold Room"
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/structure/cable,
-/obj/effect/mapping_helpers/airlock/access/all/medical/surgery,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/iron,
-/area/station/medical/coldroom)
"acp" = (
/obj/item/kirbyplants/random,
/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
@@ -375,21 +358,6 @@
},
/turf/open/floor/iron/white,
/area/station/science/xenobiology)
-"aeD" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/camera/directional/east{
- c_tag = "Cargo Bay - Delivery Office";
- name = "cargo camera"
- },
-/obj/effect/turf_decal/tile/brown,
-/obj/machinery/light/directional/east,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/light_switch/directional/east{
- pixel_y = -6
- },
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
"aeF" = (
/turf/open/floor/plating,
/area/station/construction/mining/aux_base)
@@ -852,6 +820,11 @@
/obj/effect/decal/cleanable/blood/splatter,
/turf/open/floor/plating,
/area/station/maintenance/disposal)
+"akV" = (
+/obj/machinery/announcement_system,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron/dark,
+/area/station/tcommsat/computer)
"akW" = (
/obj/machinery/camera/directional/east{
c_tag = "Security - Visitation"
@@ -1051,13 +1024,6 @@
/obj/effect/decal/cleanable/insectguts,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
-"amU" = (
-/obj/structure/table/wood,
-/obj/item/folder/blue,
-/obj/item/pen,
-/obj/machinery/newscaster/directional/north,
-/turf/open/floor/iron/grimy,
-/area/station/tcommsat/computer)
"amW" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -1295,6 +1261,18 @@
},
/turf/open/floor/iron,
/area/station/maintenance/department/science)
+"apM" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/obj/structure/sign/poster/official/random/directional/north,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/fore)
"apT" = (
/obj/machinery/camera/directional/north{
c_tag = "AI - Upload";
@@ -1787,6 +1765,20 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/hallway/secondary/exit)
+"auH" = (
+/obj/machinery/autolathe,
+/obj/effect/turf_decal/tile/brown/anticorner/contrasted{
+ dir = 8
+ },
+/obj/machinery/light_switch/directional/south{
+ pixel_x = 5
+ },
+/obj/machinery/firealarm/directional/south{
+ pixel_x = -5
+ },
+/obj/item/radio/intercom/directional/west,
+/turf/open/floor/iron,
+/area/station/cargo/office)
"auI" = (
/obj/structure/table,
/obj/item/stack/package_wrap,
@@ -2000,13 +1992,6 @@
},
/turf/open/floor/iron/white,
/area/station/medical/pharmacy)
-"awL" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/maintenance/department/crew_quarters/bar)
"awT" = (
/obj/structure/chair/stool/directional/east,
/turf/open/floor/iron/cafeteria,
@@ -2068,15 +2053,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/maintenance/department/science/xenobiology)
-"axz" = (
-/obj/structure/disposalpipe/trunk,
-/obj/structure/disposaloutlet,
-/obj/machinery/light/small/directional/north,
-/obj/machinery/status_display/supply{
- pixel_x = 32
- },
-/turf/open/floor/plating,
-/area/station/cargo/sorting)
"axQ" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 1
@@ -2198,6 +2174,11 @@
},
/turf/open/floor/iron,
/area/station/security/processing)
+"aAa" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/iron/dark,
+/area/station/tcommsat/server)
"aAh" = (
/obj/effect/turf_decal/stripes/line,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -2824,15 +2805,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/hallway/primary/central/fore)
-"aIm" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 8
- },
-/obj/machinery/light/directional/west,
-/obj/machinery/computer/security/telescreen/entertainment/directional/west,
-/turf/open/floor/iron,
-/area/station/cargo/office)
"aIp" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/yellow{
@@ -2885,6 +2857,11 @@
/obj/effect/turf_decal/tile/yellow/anticorner/contrasted,
/turf/open/floor/iron,
/area/station/engineering/main)
+"aIX" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/turf/open/floor/plating,
+/area/station/cargo/drone_bay)
"aIY" = (
/obj/machinery/atmospherics/pipe/bridge_pipe/orange/visible{
dir = 8
@@ -4051,6 +4028,19 @@
},
/turf/open/floor/iron/grimy,
/area/station/service/library/lounge)
+"aYk" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/landmark/event_spawn,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 1
+ },
+/obj/item/radio/intercom/directional/south,
+/obj/machinery/light_switch/directional/south{
+ pixel_x = 16
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron/kitchen_coldroom/dark,
+/area/station/medical/coldroom)
"aYs" = (
/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{
dir = 9
@@ -4275,6 +4265,12 @@
/obj/machinery/air_sensor/nitrous_tank,
/turf/open/floor/engine/n2o,
/area/station/engineering/atmos)
+"bbc" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/iron/dark,
+/area/station/tcommsat/server)
"bbj" = (
/obj/effect/turf_decal/trimline/purple/filled/corner{
dir = 4
@@ -4863,9 +4859,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/security/prison)
-"bij" = (
-/turf/open/floor/plating,
-/area/station/cargo/drone_bay)
"bil" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/turf/open/floor/iron/grimy,
@@ -6048,18 +6041,6 @@
},
/turf/open/floor/wood,
/area/station/engineering/break_room)
-"byP" = (
-/obj/machinery/camera{
- c_tag = "Cargo Bay - Drone Bay";
- dir = 4;
- name = "cargo camera"
- },
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 4
- },
-/obj/machinery/light/directional/east,
-/turf/open/floor/iron,
-/area/station/cargo/drone_bay)
"byX" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -6699,18 +6680,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/commons/fitness/recreation)
-"bFs" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/table/reinforced,
-/obj/item/clipboard,
-/obj/item/folder/yellow,
-/obj/item/reagent_containers/pill/patch/aiuri,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/yellow{
- dir = 8
- },
-/turf/open/floor/iron/dark/corner,
-/area/station/maintenance/disposal/incinerator)
"bFA" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -8109,6 +8078,17 @@
/obj/effect/turf_decal/tile/neutral/full,
/turf/open/floor/iron/dark/smooth_large,
/area/station/science/circuits)
+"bVb" = (
+/obj/item/kirbyplants/random,
+/obj/effect/turf_decal/tile/brown/half{
+ dir = 8
+ },
+/obj/machinery/light/directional/west,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/iron/half{
+ dir = 1
+ },
+/area/station/cargo/miningoffice)
"bVo" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
@@ -8240,6 +8220,11 @@
/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
+"bXq" = (
+/obj/machinery/netpod,
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/station/cargo/bitrunning/den)
"bXw" = (
/obj/effect/turf_decal/trimline/blue/end{
dir = 4
@@ -8522,6 +8507,16 @@
},
/turf/open/floor/plating,
/area/station/maintenance/department/science/xenobiology)
+"caC" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 6
+ },
+/obj/effect/turf_decal/stripes/corner,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light/small/directional/west,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+/area/station/service/kitchen/coldroom)
"caH" = (
/obj/effect/decal/remains/human,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -9099,11 +9094,6 @@
/obj/effect/mapping_helpers/airlock/access/all/security/brig,
/turf/open/floor/iron,
/area/station/security/checkpoint/supply)
-"cjl" = (
-/obj/machinery/announcement_system,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron/dark,
-/area/station/tcommsat/computer)
"cjs" = (
/obj/structure/chair/office,
/obj/effect/decal/cleanable/dirt,
@@ -10647,19 +10637,6 @@
/obj/structure/plasticflaps,
/turf/open/floor/iron,
/area/station/medical/storage)
-"cBS" = (
-/obj/machinery/computer/exoscanner_control,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/structure/window/spawner/directional/north,
-/obj/effect/turf_decal/bot,
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/cargo/drone_bay)
"cBT" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 4
@@ -12089,6 +12066,16 @@
/obj/structure/fans/tiny,
/turf/open/floor/plating/airless,
/area/station/science/ordnance/testlab)
+"cUN" = (
+/obj/structure/closet/crate/freezer/blood,
+/obj/machinery/light/small/blacklight/directional/north,
+/obj/machinery/airalarm/directional/west,
+/obj/effect/turf_decal/bot_white{
+ color = "#435a88"
+ },
+/obj/effect/mapping_helpers/airalarm/tlv_cold_room,
+/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+/area/station/medical/coldroom)
"cUU" = (
/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 8
@@ -12394,6 +12381,26 @@
/obj/effect/turf_decal/tile/yellow/fourcorners,
/turf/open/floor/iron,
/area/station/engineering/main)
+"cZa" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/door/airlock/maintenance_hatch{
+ name = "Kitchen Coldroom"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/mapping_helpers/airlock/access/all/service/kitchen,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/iron,
+/area/station/maintenance/port/fore)
"cZl" = (
/obj/effect/decal/cleanable/dirt,
/obj/item/kirbyplants/random,
@@ -13242,17 +13249,12 @@
},
/turf/open/floor/iron/white,
/area/station/medical/medbay/lobby)
-"dkr" = (
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/chair/office,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/firealarm/directional/east,
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
+"dkx" = (
+/obj/effect/decal/cleanable/glass,
+/obj/item/shard,
+/obj/structure/sign/poster/random/directional/east,
+/turf/open/floor/plating,
+/area/station/maintenance/department/crew_quarters/bar)
"dkz" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/light/small/directional/west,
@@ -13570,19 +13572,6 @@
},
/turf/open/floor/iron/white,
/area/station/science/research)
-"dpN" = (
-/obj/machinery/door/airlock/research/glass{
- name = "Xenobiology Kill Room"
- },
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/xenobio,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/iron,
-/area/station/science/xenobiology)
"dpO" = (
/obj/structure/table/wood,
/obj/item/camera_film,
@@ -13784,11 +13773,6 @@
dir = 4
},
/area/station/science/lobby)
-"dsb" = (
-/obj/machinery/netpod,
-/obj/effect/decal/cleanable/cobweb/cobweb2,
-/turf/open/floor/catwalk_floor/iron_dark,
-/area/station/cargo/bitrunning/den)
"dse" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -14011,6 +13995,13 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/science/xenobiology)
+"dus" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/obj/effect/landmark/event_spawn,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/cargo/drone_bay)
"duA" = (
/turf/closed/wall/r_wall,
/area/station/command/corporate_showroom)
@@ -14311,6 +14302,13 @@
/obj/structure/chair/stool/directional/east,
/turf/open/floor/iron/dark,
/area/station/service/theater)
+"dxl" = (
+/obj/structure/table/wood,
+/obj/item/folder/blue,
+/obj/item/pen,
+/obj/machinery/newscaster/directional/north,
+/turf/open/floor/iron/grimy,
+/area/station/tcommsat/computer)
"dxo" = (
/obj/structure/bed/medical/emergency,
/obj/item/radio/intercom/directional/south,
@@ -14846,6 +14844,11 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/iron/white/smooth_large,
/area/station/medical/medbay)
+"dFE" = (
+/obj/structure/fireplace,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/captain)
"dFG" = (
/obj/machinery/door/poddoor/preopen{
id = "brigprison";
@@ -14995,6 +14998,15 @@
/obj/machinery/light/cold/directional/south,
/turf/open/floor/plating,
/area/station/maintenance/port)
+"dHU" = (
+/obj/structure/table/wood,
+/obj/item/book/manual/wiki/tcomms,
+/obj/item/radio{
+ pixel_y = 5
+ },
+/obj/machinery/airalarm/directional/north,
+/turf/open/floor/iron/grimy,
+/area/station/tcommsat/computer)
"dHX" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 8
@@ -16629,16 +16641,6 @@
/obj/machinery/light/small/directional/north,
/turf/open/floor/iron,
/area/station/engineering/atmos/hfr_room)
-"ecX" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/conveyor{
- id = "cargodisposals"
- },
-/obj/machinery/status_display/supply{
- pixel_x = 32
- },
-/turf/open/floor/plating,
-/area/station/cargo/sorting)
"eda" = (
/obj/structure/chair/sofa/bench{
dir = 8
@@ -16770,20 +16772,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"eew" = (
-/obj/structure/cable,
-/obj/structure/table,
-/obj/item/storage/box/shipping{
- pixel_x = 4;
- pixel_y = 4
- },
-/obj/item/folder/yellow,
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/effect/turf_decal/tile/brown/anticorner/contrasted{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
"eex" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/siding/wood{
@@ -16811,14 +16799,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/commons/locker)
-"eeZ" = (
-/obj/item/exodrone,
-/obj/machinery/exodrone_launcher,
-/obj/effect/turf_decal/box,
-/obj/effect/decal/cleanable/oil/slippery,
-/obj/machinery/status_display/evac/directional/north,
-/turf/open/floor/plating,
-/area/station/cargo/drone_bay)
"efb" = (
/obj/effect/turf_decal/trimline/blue/filled/line{
dir = 6
@@ -17215,19 +17195,6 @@
dir = 1
},
/area/station/service/barber)
-"emf" = (
-/obj/machinery/computer/exodrone_control_console,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/structure/window/spawner/directional/north,
-/obj/effect/turf_decal/bot,
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/cargo/drone_bay)
"emm" = (
/obj/item/kirbyplants/random,
/obj/effect/decal/cleanable/dirt,
@@ -17282,20 +17249,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/turret_protected/ai_upload)
-"enq" = (
-/obj/item/folder/yellow,
-/obj/item/multitool,
-/obj/item/pen/red,
-/obj/structure/table,
-/obj/item/pen/blue{
- pixel_y = -4
- },
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 1
- },
-/obj/machinery/airalarm/directional/north,
-/turf/open/floor/iron,
-/area/station/cargo/office)
"env" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/delivery,
@@ -17356,6 +17309,21 @@
/obj/effect/turf_decal/trimline/purple/filled/warning,
/turf/open/floor/iron/white,
/area/station/science/research)
+"eov" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/camera/directional/east{
+ c_tag = "Cargo Bay - Delivery Office";
+ name = "cargo camera"
+ },
+/obj/effect/turf_decal/tile/brown,
+/obj/machinery/light/directional/east,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/light_switch/directional/east{
+ pixel_y = -6
+ },
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
"eoy" = (
/obj/structure/cable,
/obj/effect/spawner/structure/window/reinforced,
@@ -17459,6 +17427,19 @@
dir = 1
},
/area/station/engineering/supermatter/room)
+"epT" = (
+/obj/structure/closet/crate/freezer/surplus_limbs,
+/obj/machinery/camera/directional/north{
+ c_tag = "Medbay - Coldroom";
+ dir = 9;
+ name = "medbay camera";
+ network = list("ss13","medbay")
+ },
+/obj/effect/turf_decal/bot_white{
+ color = "#435a88"
+ },
+/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+/area/station/medical/coldroom)
"epU" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/neutral/fourcorners,
@@ -18377,6 +18358,15 @@
"eBn" = (
/turf/closed/wall,
/area/station/security/checkpoint/customs/aft)
+"eBr" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/firealarm/directional/west,
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"eBE" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/obj/effect/turf_decal/tile/neutral/full,
@@ -18744,11 +18734,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/science/robotics/lab)
-"eGM" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/turf/open/floor/plating,
-/area/station/cargo/drone_bay)
"eGO" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/line{
@@ -19408,13 +19393,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/secondary/exit)
-"eOE" = (
-/obj/structure/table/wood,
-/obj/machinery/newscaster/directional/west,
-/obj/machinery/coffeemaker/impressa,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron/dark,
-/area/station/medical/break_room)
"eOF" = (
/obj/structure/chair/office{
dir = 1
@@ -20226,6 +20204,24 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/commons/storage/primary)
+"eYf" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/siding/white/corner{
+ dir = 4
+ },
+/obj/machinery/door/airlock/freezer{
+ name = "Coldroom"
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/door/firedoor,
+/obj/machinery/duct,
+/obj/effect/mapping_helpers/airlock/access/all/service/kitchen,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/iron/freezer,
+/area/station/service/kitchen/coldroom)
"eYj" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/siding/purple{
@@ -20469,20 +20465,6 @@
/obj/effect/turf_decal/tile/red/fourcorners,
/turf/open/floor/iron/dark,
/area/station/security/warden)
-"fcg" = (
-/obj/structure/cable,
-/obj/item/kirbyplants/random,
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 8
- },
-/obj/machinery/firealarm/directional/west{
- pixel_y = -4
- },
-/obj/machinery/light_switch/directional/west{
- pixel_y = 6
- },
-/turf/open/floor/iron,
-/area/station/cargo/drone_bay)
"fcl" = (
/obj/item/reagent_containers/cup/bowl{
pixel_y = 3
@@ -21067,6 +21049,13 @@
/obj/effect/turf_decal/tile/blue/fourcorners,
/turf/open/floor/iron,
/area/station/medical/treatment_center)
+"fiY" = (
+/obj/structure/sign/poster/greenscreen/directional/west,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/captain)
"fiZ" = (
/obj/effect/spawner/random/trash/garbage,
/obj/effect/decal/cleanable/dirt,
@@ -21330,6 +21319,13 @@
},
/turf/open/floor/iron,
/area/station/cargo/warehouse)
+"fml" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/cargo/warehouse)
"fmo" = (
/obj/structure/table/reinforced,
/obj/item/clipboard,
@@ -21498,6 +21494,15 @@
/obj/structure/chair/office,
/turf/open/floor/iron/grimy,
/area/station/tcommsat/computer)
+"fnN" = (
+/obj/machinery/computer/telecomms/server{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/light/dim/directional/east,
+/obj/item/radio/intercom/directional/east,
+/turf/open/floor/iron/dark,
+/area/station/tcommsat/computer)
"foh" = (
/obj/machinery/atmospherics/components/binary/volume_pump{
name = "Ports to Distro"
@@ -21917,6 +21922,19 @@
/obj/effect/mapping_helpers/airlock/access/all/supply/general,
/turf/open/floor/iron,
/area/station/maintenance/department/crew_quarters/bar)
+"ftF" = (
+/obj/machinery/door/airlock/research/glass{
+ name = "Xenobiology Kill Room"
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/xenobio,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/iron,
+/area/station/science/xenobiology)
"ftG" = (
/obj/structure/sign/nanotrasen{
pixel_y = -32
@@ -21943,6 +21961,15 @@
/obj/effect/turf_decal/siding/yellow,
/turf/open/floor/iron,
/area/station/engineering/atmos/storage/gas)
+"fum" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/light/directional/west,
+/obj/machinery/computer/security/telescreen/entertainment/directional/west,
+/turf/open/floor/iron,
+/area/station/cargo/office)
"fuw" = (
/obj/structure/disposalpipe/trunk{
dir = 1
@@ -22120,6 +22147,16 @@
/obj/machinery/light/small/directional/north,
/turf/open/floor/iron/dark,
/area/station/science/xenobiology)
+"fwv" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/frame/machine,
+/obj/item/stack/cable_coil/five,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/airalarm/directional/west,
+/turf/open/floor/iron,
+/area/station/maintenance/department/crew_quarters/bar)
"fwK" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -22525,6 +22562,14 @@
/obj/structure/lattice/catwalk,
/turf/open/space/basic,
/area/space/nearstation)
+"fBN" = (
+/obj/machinery/greenscreen_camera{
+ dir = 8;
+ pixel_x = -8;
+ pixel_y = 6
+ },
+/turf/open/floor/wood,
+/area/station/command/heads_quarters/captain)
"fBQ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -22857,6 +22902,20 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/iron/dark,
/area/station/service/abandoned_gambling_den)
+"fGx" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/command{
+ name = "E.V.A. Storage"
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/mapping_helpers/airlock/access/all/command/eva,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/mapping_helpers/airlock/red_alert_access,
+/turf/open/floor/iron,
+/area/station/ai_monitored/command/storage/eva)
"fGD" = (
/obj/machinery/light/directional/south,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -22984,6 +23043,13 @@
/obj/effect/turf_decal/tile/blue,
/turf/open/floor/iron/dark,
/area/station/command/bridge)
+"fIl" = (
+/obj/structure/plaque/static_plaque/golden/captain{
+ pixel_x = 32
+ },
+/obj/item/kirbyplants/random,
+/turf/open/floor/wood,
+/area/station/command/heads_quarters/captain)
"fIn" = (
/obj/structure/bookcase/random,
/turf/open/floor/wood,
@@ -23040,16 +23106,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/commons/fitness/recreation)
-"fIR" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/frame/machine,
-/obj/item/stack/cable_coil/five,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/obj/machinery/airalarm/directional/west,
-/turf/open/floor/iron,
-/area/station/maintenance/department/crew_quarters/bar)
"fIU" = (
/obj/structure/rack,
/obj/item/gun/energy/laser/carbine/practice{
@@ -25678,17 +25734,6 @@
/obj/structure/reflector/single,
/turf/open/floor/plating,
/area/station/engineering/supermatter/room)
-"gpD" = (
-/obj/item/kirbyplants/random,
-/obj/effect/turf_decal/tile/brown/half{
- dir = 8
- },
-/obj/machinery/light/directional/west,
-/obj/effect/decal/cleanable/dirt/dust,
-/turf/open/floor/iron/half{
- dir = 1
- },
-/area/station/cargo/miningoffice)
"gpI" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -26152,6 +26197,18 @@
/obj/structure/closet/firecloset,
/turf/open/floor/plating,
/area/station/maintenance/department/science/xenobiology)
+"guG" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/obj/structure/disposaloutlet{
+ dir = 1
+ },
+/obj/structure/window/reinforced/spawner/directional/east,
+/obj/effect/turf_decal/delivery,
+/obj/structure/window/reinforced/spawner/directional/west,
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
"guH" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock{
@@ -26908,6 +26965,21 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/iron/cafeteria,
/area/station/security/prison/mess)
+"gDI" = (
+/obj/machinery/door/airlock/command/glass{
+ name = "Server Access"
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/rd,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/iron/dark,
+/area/station/science/server)
"gDP" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -27194,6 +27266,14 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/ce)
+"gHw" = (
+/obj/structure/chair/office{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/cargo/drone_bay)
"gHE" = (
/obj/machinery/requests_console/directional/north{
department = "Chapel";
@@ -27203,13 +27283,13 @@
/obj/machinery/light/small/directional/north,
/turf/open/floor/carpet/royalblack,
/area/station/service/chapel/office)
-"gHI" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/obj/effect/landmark/event_spawn,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+"gHG" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
/turf/open/floor/iron,
-/area/station/cargo/drone_bay)
+/area/station/maintenance/department/crew_quarters/bar)
"gHS" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/line{
@@ -27378,16 +27458,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/grimy,
/area/station/service/library)
-"gJe" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/siding/dark_blue{
- dir = 1
- },
-/obj/machinery/power/apc/auto_name/directional/south,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron/kitchen_coldroom/dark,
-/area/station/medical/coldroom)
"gJj" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/spawner/random/engineering/tracking_beacon,
@@ -27406,13 +27476,6 @@
/obj/effect/turf_decal/tile/yellow/half/contrasted,
/turf/open/floor/iron,
/area/station/engineering/main)
-"gJI" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/cargo/warehouse)
"gJT" = (
/obj/structure/cable,
/obj/structure/rack,
@@ -27817,15 +27880,6 @@
/obj/effect/spawner/random/entertainment/money_small,
/turf/open/floor/plating,
/area/station/maintenance/fore)
-"gPY" = (
-/obj/structure/table/wood,
-/obj/item/book/manual/wiki/tcomms,
-/obj/item/radio{
- pixel_y = 5
- },
-/obj/machinery/airalarm/directional/north,
-/turf/open/floor/iron/grimy,
-/area/station/tcommsat/computer)
"gQa" = (
/obj/effect/decal/cleanable/dirt,
/mob/living/basic/mouse/brown/tom,
@@ -28296,12 +28350,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/commons/storage/primary)
-"gVv" = (
-/obj/machinery/netpod,
-/obj/effect/decal/cleanable/robot_debris,
-/obj/structure/sign/poster/contraband/random/directional/south,
-/turf/open/floor/catwalk_floor/iron_dark,
-/area/station/cargo/bitrunning/den)
"gVx" = (
/obj/structure/cable,
/obj/machinery/door/window/brigdoor/right/directional/south{
@@ -28449,6 +28497,13 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/iron,
/area/station/hallway/secondary/exit)
+"gXr" = (
+/obj/machinery/status_display/ai/directional/north,
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/captain)
"gXu" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/disposalpipe/segment,
@@ -28642,19 +28697,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/maintenance/department/electrical)
-"haS" = (
-/obj/structure/disposalpipe/trunk{
- dir = 1
- },
-/obj/machinery/disposal/bin,
-/obj/effect/turf_decal/bot,
-/obj/machinery/airalarm/directional/west,
-/obj/effect/turf_decal/tile/brown/anticorner/contrasted{
- dir = 8
- },
-/obj/machinery/light_switch/directional/south,
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"hbg" = (
/obj/effect/spawner/random/structure/closet_empty,
/obj/machinery/light/small/dim/directional/north,
@@ -28769,6 +28811,10 @@
},
/turf/open/floor/iron,
/area/station/command/gateway)
+"hcF" = (
+/obj/structure/tank_holder/extinguisher,
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"hcG" = (
/obj/structure/disposalpipe/segment{
dir = 5
@@ -29417,18 +29463,6 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/department/chapel)
-"hlO" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/siding/dark_blue{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron/kitchen_coldroom/dark,
-/area/station/medical/coldroom)
"hlT" = (
/obj/structure/cable,
/obj/effect/turf_decal/stripes/corner{
@@ -30743,24 +30777,6 @@
},
/turf/open/floor/carpet/blue,
/area/station/commons/vacant_room/office)
-"hFP" = (
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/siding/white/corner{
- dir = 4
- },
-/obj/machinery/door/airlock/freezer{
- name = "Coldroom"
- },
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/door/firedoor,
-/obj/machinery/duct,
-/obj/effect/mapping_helpers/airlock/access/all/service/kitchen,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/iron/freezer,
-/area/station/service/kitchen/coldroom)
"hFQ" = (
/obj/structure/disposalpipe/segment,
/obj/effect/turf_decal/tile/neutral/half/contrasted{
@@ -32150,11 +32166,6 @@
/obj/structure/flora/bush/flowers_yw,
/turf/open/floor/grass,
/area/station/science/genetics)
-"hXW" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/vending/cigarette,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/captain)
"hXZ" = (
/obj/item/storage/box/teargas{
pixel_x = 3;
@@ -33036,37 +33047,6 @@
/obj/effect/turf_decal/siding/dark_red,
/turf/open/floor/iron/dark,
/area/station/security/execution/transfer)
-"iiU" = (
-/obj/structure/table/reinforced,
-/obj/item/storage/box/monkeycubes{
- pixel_x = 6;
- pixel_y = 4
- },
-/obj/item/storage/pill_bottle/mutadone{
- pixel_x = -8;
- pixel_y = 9
- },
-/obj/item/reagent_containers/spray/cleaner{
- pixel_x = -10;
- pixel_y = -1
- },
-/obj/item/storage/box/monkeycubes{
- pixel_x = 4
- },
-/obj/machinery/camera/directional/east{
- c_tag = "Science - Genetics";
- dir = 6;
- name = "science camera";
- network = list("ss13","rd")
- },
-/obj/machinery/status_display/evac/directional/east,
-/obj/effect/turf_decal/tile/blue/half/contrasted{
- dir = 4
- },
-/obj/machinery/light/directional/east,
-/obj/item/flesh_shears,
-/turf/open/floor/iron/dark,
-/area/station/science/genetics)
"ijm" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
@@ -33469,20 +33449,6 @@
},
/turf/open/floor/iron/dark/smooth_large,
/area/station/service/hydroponics)
-"inF" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/command{
- name = "E.V.A. Storage"
- },
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/effect/mapping_helpers/airlock/access/all/command/eva,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/mapping_helpers/airlock/red_alert_access,
-/turf/open/floor/iron,
-/area/station/ai_monitored/command/storage/eva)
"inR" = (
/obj/machinery/door/airlock/research{
name = "Research and Development Lab"
@@ -33840,12 +33806,6 @@
},
/turf/open/floor/iron,
/area/station/command/gateway)
-"isQ" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/reagent_dispensers/watertank,
-/obj/structure/extinguisher_cabinet/directional/north,
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"isR" = (
/obj/structure/chair/office,
/obj/effect/decal/cleanable/dirt,
@@ -34835,6 +34795,14 @@
},
/turf/open/floor/iron/half,
/area/station/engineering/main)
+"iGn" = (
+/obj/machinery/status_display/evac/directional/west,
+/obj/item/kirbyplants/random,
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/captain)
"iGr" = (
/obj/effect/turf_decal/siding/blue,
/obj/structure/disposalpipe/segment{
@@ -35308,6 +35276,15 @@
},
/turf/open/floor/iron,
/area/station/service/kitchen/abandoned)
+"iNa" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/cargo/drone_bay)
"iNg" = (
/obj/effect/landmark/start/hangover/closet,
/obj/structure/closet/emcloset,
@@ -35436,13 +35413,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/science/robotics/lab)
-"iOY" = (
-/obj/structure/bed/dogbed/renault,
-/obj/machinery/newscaster/directional/south,
-/mob/living/basic/pet/fox/renault,
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/captain)
"iPb" = (
/obj/structure/table,
/obj/item/storage/box/tail_pin,
@@ -35628,11 +35598,6 @@
/obj/effect/turf_decal/tile/neutral/full,
/turf/open/floor/iron/large,
/area/station/hallway/secondary/exit/departure_lounge)
-"iRz" = (
-/obj/machinery/status_display/evac/directional/north,
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/captain)
"iRF" = (
/obj/machinery/computer/records/security{
dir = 4
@@ -35760,16 +35725,6 @@
},
/turf/open/floor/iron,
/area/station/maintenance/starboard/aft)
-"iTK" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/obj/effect/turf_decal/siding/dark_blue{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron/kitchen_coldroom/dark,
-/area/station/medical/coldroom)
"iTW" = (
/obj/structure/closet/emcloset,
/obj/effect/decal/cleanable/dirt,
@@ -36206,6 +36161,16 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/iron,
/area/station/engineering/storage/tech)
+"iYT" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 1
+ },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron/kitchen_coldroom/dark,
+/area/station/medical/coldroom)
"iZf" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 4
@@ -36681,19 +36646,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/science/robotics/mechbay)
-"jew" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/landmark/event_spawn,
-/obj/effect/turf_decal/siding/dark_blue{
- dir = 1
- },
-/obj/item/radio/intercom/directional/south,
-/obj/machinery/light_switch/directional/south{
- pixel_x = 16
- },
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron/kitchen_coldroom/dark,
-/area/station/medical/coldroom)
"jex" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/cable,
@@ -36789,12 +36741,6 @@
/obj/structure/sign/poster/random/directional/east,
/turf/open/floor/iron/checker,
/area/station/service/bar/backroom)
-"jfo" = (
-/obj/effect/turf_decal/tile/yellow/diagonal_edge,
-/obj/effect/turf_decal/tile/red/diagonal_centre,
-/obj/structure/sign/poster/official/cleanliness/directional/west,
-/turf/open/floor/iron/diagonal,
-/area/station/science/breakroom)
"jfy" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/cable,
@@ -37077,6 +37023,13 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/carpet,
/area/station/command/heads_quarters/captain)
+"jir" = (
+/obj/machinery/computer/telecomms/monitor{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron/dark,
+/area/station/tcommsat/computer)
"jix" = (
/obj/structure/disposalpipe/sorting/mail{
dir = 1;
@@ -37100,6 +37053,17 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/construction)
+"jiU" = (
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/chair/office,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/firealarm/directional/east,
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
"jiX" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/cable,
@@ -37603,6 +37567,12 @@
/obj/structure/falsewall,
/turf/open/floor/iron/dark,
/area/station/maintenance/department/science)
+"jor" = (
+/obj/structure/bed,
+/obj/item/bedsheet/clown,
+/obj/machinery/newscaster/directional/east,
+/turf/open/floor/wood,
+/area/station/hallway/secondary/service)
"jos" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/rack,
@@ -39723,13 +39693,6 @@
/obj/effect/spawner/structure/window/reinforced/tinted,
/turf/open/floor/plating,
/area/station/maintenance/department/electrical)
-"jPU" = (
-/obj/effect/landmark/start/cargo_technician,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/cargo/drone_bay)
"jPX" = (
/obj/structure/table,
/obj/item/cane,
@@ -41223,27 +41186,6 @@
/obj/effect/landmark/start/hangover,
/turf/open/floor/iron,
/area/station/hallway/primary/fore)
-"kir" = (
-/obj/item/storage/medkit/toxin{
- pixel_x = 3;
- pixel_y = 3
- },
-/obj/item/storage/medkit/regular,
-/obj/item/storage/medkit/toxin{
- pixel_x = -3;
- pixel_y = -3
- },
-/obj/structure/table/reinforced,
-/obj/machinery/door/window/right/directional/north{
- name = "Medkit Storage";
- req_access = list("medical")
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/obj/effect/mapping_helpers/airlock/red_alert_access,
-/turf/open/floor/iron,
-/area/station/medical/storage)
"kix" = (
/obj/effect/turf_decal/bot,
/obj/structure/extinguisher_cabinet/directional/south,
@@ -41871,6 +41813,14 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/disposal)
+"krb" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/airalarm/directional/north,
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/cargo/warehouse)
"kri" = (
/obj/effect/spawner/random/structure/tank_holder,
/turf/open/floor/plating,
@@ -42478,6 +42428,11 @@
},
/turf/open/floor/iron,
/area/station/command/corporate_showroom)
+"kzv" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/vending/cigarette,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/captain)
"kzI" = (
/obj/structure/table/wood,
/obj/item/electronics/airalarm,
@@ -42515,6 +42470,12 @@
/obj/effect/turf_decal/tile/yellow/fourcorners,
/turf/open/floor/iron/white,
/area/station/medical/chemistry)
+"kzZ" = (
+/obj/machinery/netpod,
+/obj/effect/decal/cleanable/robot_debris,
+/obj/structure/sign/poster/contraband/random/directional/south,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/station/cargo/bitrunning/den)
"kAc" = (
/obj/effect/turf_decal/stripes/line,
/obj/effect/decal/cleanable/dirt,
@@ -42547,6 +42508,12 @@
/obj/machinery/light/small/directional/west,
/turf/open/floor/iron,
/area/station/commons/storage/tools)
+"kAS" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/reagent_dispensers/watertank,
+/obj/structure/extinguisher_cabinet/directional/north,
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"kAX" = (
/obj/effect/turf_decal/trimline/yellow/warning{
dir = 1
@@ -42622,6 +42589,18 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
+"kCq" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/table/reinforced,
+/obj/item/clipboard,
+/obj/item/folder/yellow,
+/obj/item/reagent_containers/applicator/patch/aiuri,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/corner,
+/area/station/maintenance/disposal/incinerator)
"kCs" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/line{
@@ -42857,12 +42836,6 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/iron/dark,
/area/station/security/prison/visit)
-"kFO" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/maintenance/department/crew_quarters/bar)
"kFQ" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/spawner/random/trash/moisture_trap,
@@ -43294,22 +43267,6 @@
dir = 1
},
/area/station/cargo/miningoffice)
-"kLI" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/firealarm/directional/north{
- pixel_x = 2
- },
-/obj/structure/window/reinforced/spawner/directional/east,
-/obj/machinery/light_switch/directional/north{
- pixel_x = -7;
- pixel_y = 28
- },
-/obj/machinery/recharge_station,
-/obj/effect/turf_decal/tile/brown/anticorner/contrasted{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"kLK" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -43879,28 +43836,6 @@
},
/turf/open/floor/iron,
/area/station/maintenance/port)
-"kUj" = (
-/obj/effect/decal/cleanable/oil/streak,
-/obj/structure/table,
-/obj/item/storage/toolbox/mechanical{
- pixel_y = 7
- },
-/obj/item/reagent_containers/cup/soda_cans/space_mountain_wind{
- pixel_x = 5
- },
-/obj/machinery/camera/autoname/directional/south,
-/obj/item/toy/figure/bitrunner{
- pixel_x = -6
- },
-/obj/structure/sign/poster/official/random/directional/south,
-/obj/machinery/firealarm/directional/west{
- pixel_y = -4
- },
-/obj/machinery/light_switch/directional/west{
- pixel_y = 6
- },
-/turf/open/floor/iron/dark/smooth_large,
-/area/station/cargo/bitrunning/den)
"kUn" = (
/obj/item/kirbyplants/random,
/obj/effect/turf_decal/tile/brown{
@@ -44292,13 +44227,6 @@
/obj/effect/turf_decal/tile/dark_blue/fourcorners,
/turf/open/floor/iron,
/area/station/commons/dorms/laundry)
-"kZu" = (
-/obj/structure/table/wood,
-/obj/item/paper_bin,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/status_display/ai/directional/west,
-/turf/open/floor/iron/dark,
-/area/station/tcommsat/computer)
"kZE" = (
/obj/structure/table,
/obj/item/paper_bin,
@@ -44797,20 +44725,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/service/chapel)
-"lgc" = (
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 1
- },
-/obj/effect/mapping_helpers/turn_off_lights_with_lightswitch,
-/obj/machinery/firealarm/directional/north{
- pixel_x = 2
- },
-/obj/machinery/light_switch/directional/north{
- pixel_x = -7;
- pixel_y = 28
- },
-/turf/open/floor/iron,
-/area/station/cargo/warehouse)
"lgf" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -45681,6 +45595,12 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
+"lrl" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/maintenance/department/crew_quarters/bar)
"lrn" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/line,
@@ -45699,6 +45619,20 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron,
/area/station/commons/dorms)
+"lrz" = (
+/obj/item/folder/yellow,
+/obj/item/multitool,
+/obj/item/pen/red,
+/obj/structure/table,
+/obj/item/pen/blue{
+ pixel_y = -4
+ },
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/airalarm/directional/north,
+/turf/open/floor/iron,
+/area/station/cargo/office)
"lrA" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 8
@@ -45750,6 +45684,20 @@
/obj/effect/turf_decal/siding/wood,
/turf/open/floor/wood,
/area/station/service/library)
+"lrZ" = (
+/obj/structure/cable,
+/obj/structure/table,
+/obj/item/storage/box/shipping{
+ pixel_x = 4;
+ pixel_y = 4
+ },
+/obj/item/folder/yellow,
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/effect/turf_decal/tile/brown/anticorner/contrasted{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
"lsf" = (
/obj/machinery/light/small/directional/north,
/obj/effect/decal/cleanable/dirt,
@@ -45946,6 +45894,20 @@
},
/turf/open/floor/iron/sepia,
/area/station/service/library/artgallery)
+"luy" = (
+/obj/structure/cable,
+/obj/item/kirbyplants/random,
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/firealarm/directional/west{
+ pixel_y = -4
+ },
+/obj/machinery/light_switch/directional/west{
+ pixel_y = 6
+ },
+/turf/open/floor/iron,
+/area/station/cargo/drone_bay)
"luD" = (
/obj/structure/closet/secure_closet/brig{
id = "brig2";
@@ -46566,6 +46528,16 @@
/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"lCm" = (
+/obj/structure/rack,
+/obj/item/storage/briefcase/secure,
+/obj/machinery/status_display/ai/directional/south,
+/obj/effect/turf_decal/bot,
+/obj/item/reagent_containers/applicator/patch/aiuri,
+/obj/machinery/light/directional/south,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/ce)
"lCu" = (
/obj/machinery/door/airlock/maintenance_hatch{
name = "Maintenance Hatch"
@@ -46651,6 +46623,27 @@
dir = 1
},
/area/station/service/chapel)
+"lDc" = (
+/obj/item/storage/medkit/toxin{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/storage/medkit/regular,
+/obj/item/storage/medkit/toxin{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/structure/table/reinforced,
+/obj/machinery/door/window/right/directional/north{
+ name = "Medkit Storage";
+ req_access = list("medical")
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/effect/mapping_helpers/airlock/red_alert_access,
+/turf/open/floor/iron,
+/area/station/medical/storage)
"lDi" = (
/turf/closed/wall,
/area/station/cargo/warehouse)
@@ -46664,17 +46657,6 @@
},
/turf/open/floor/iron/dark,
/area/station/command/corporate_showroom)
-"lDu" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/structure/table,
-/obj/machinery/microwave{
- desc = "Cooks and boils stuff, somehow.";
- pixel_x = -3;
- pixel_y = 5
- },
-/obj/machinery/firealarm/directional/west,
-/turf/open/floor/iron,
-/area/station/cargo/miningoffice)
"lDI" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -46685,6 +46667,12 @@
},
/turf/open/floor/iron/dark,
/area/station/service/library/printer)
+"lDQ" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/computer/order_console/mining,
+/obj/item/radio/intercom/directional/west,
+/turf/open/floor/iron,
+/area/station/cargo/miningoffice)
"lDV" = (
/obj/structure/sign/warning/secure_area,
/turf/closed/wall,
@@ -46812,13 +46800,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
-"lER" = (
-/obj/structure/plaque/static_plaque/golden/captain{
- pixel_x = 32
- },
-/obj/item/kirbyplants/random,
-/turf/open/floor/wood,
-/area/station/command/heads_quarters/captain)
"lES" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 8
@@ -46950,26 +46931,6 @@
/obj/machinery/computer/security/wooden_tv,
/turf/open/floor/iron/grimy,
/area/station/command/bridge)
-"lGE" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/door/airlock/maintenance_hatch{
- name = "Kitchen Coldroom"
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/effect/mapping_helpers/airlock/access/all/service/kitchen,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/iron,
-/area/station/maintenance/port/fore)
"lGF" = (
/obj/effect/turf_decal/trimline/yellow/line{
dir = 1
@@ -47266,11 +47227,6 @@
/obj/structure/extinguisher_cabinet/directional/west,
/turf/open/floor/iron/dark/smooth_corner,
/area/station/cargo/bitrunning/den)
-"lJx" = (
-/obj/machinery/firealarm/directional/north,
-/obj/item/kirbyplants/random,
-/turf/open/floor/wood,
-/area/station/command/heads_quarters/captain)
"lJB" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/light/small/directional/west,
@@ -47282,6 +47238,11 @@
},
/turf/open/floor/plating,
/area/station/hallway/secondary/entry)
+"lJE" = (
+/obj/machinery/firealarm/directional/north,
+/obj/item/kirbyplants/random,
+/turf/open/floor/wood,
+/area/station/command/heads_quarters/captain)
"lJJ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -50646,14 +50607,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/commons/dorms/laundry)
-"mDP" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/airalarm/directional/north,
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/cargo/warehouse)
"mDR" = (
/obj/machinery/vending/wardrobe/law_wardrobe,
/obj/machinery/firealarm/directional/east,
@@ -50853,15 +50806,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"mGD" = (
-/obj/machinery/computer/telecomms/server{
- dir = 8
- },
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/light/dim/directional/east,
-/obj/item/radio/intercom/directional/east,
-/turf/open/floor/iron/dark,
-/area/station/tcommsat/computer)
"mGE" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -51124,6 +51068,22 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/science/robotics/lab)
+"mJj" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/command{
+ name = "E.V.A. Storage"
+ },
+/obj/structure/cable,
+/obj/effect/landmark/navigate_destination,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/mapping_helpers/airlock/access/all/command/eva,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/mapping_helpers/airlock/red_alert_access,
+/turf/open/floor/iron,
+/area/station/ai_monitored/command/storage/eva)
"mJm" = (
/obj/machinery/door/firedoor/heavy,
/obj/machinery/door/airlock/research/glass{
@@ -51283,6 +51243,16 @@
/obj/effect/spawner/random/trash/grille_or_waste,
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
+"mLt" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/conveyor{
+ id = "cargodisposals"
+ },
+/obj/machinery/status_display/supply{
+ pixel_x = 32
+ },
+/turf/open/floor/plating,
+/area/station/cargo/sorting)
"mLA" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/line{
@@ -51740,20 +51710,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"mRZ" = (
-/obj/machinery/autolathe,
-/obj/effect/turf_decal/tile/brown/anticorner/contrasted{
- dir = 8
- },
-/obj/machinery/light_switch/directional/south{
- pixel_x = 5
- },
-/obj/machinery/firealarm/directional/south{
- pixel_x = -5
- },
-/obj/item/radio/intercom/directional/west,
-/turf/open/floor/iron,
-/area/station/cargo/office)
"mSc" = (
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/obj/structure/extinguisher_cabinet/directional/east,
@@ -52947,6 +52903,22 @@
/obj/effect/turf_decal/tile/red/anticorner/contrasted,
/turf/open/floor/iron/dark,
/area/station/security/execution/education)
+"nkv" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/firealarm/directional/north{
+ pixel_x = 2
+ },
+/obj/structure/window/reinforced/spawner/directional/east,
+/obj/machinery/light_switch/directional/north{
+ pixel_x = -7;
+ pixel_y = 28
+ },
+/obj/machinery/recharge_station,
+/obj/effect/turf_decal/tile/brown/anticorner/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"nkG" = (
/obj/structure/table/wood/poker,
/obj/effect/decal/cleanable/dirt,
@@ -53162,15 +53134,6 @@
},
/turf/open/floor/plating,
/area/station/ai_monitored/turret_protected/aisat_interior)
-"nmU" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 8
- },
-/obj/machinery/firealarm/directional/west,
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"nmX" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -53375,6 +53338,20 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/cafeteria,
/area/station/service/kitchen)
+"npK" = (
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 1
+ },
+/obj/effect/mapping_helpers/turn_off_lights_with_lightswitch,
+/obj/machinery/firealarm/directional/north{
+ pixel_x = 2
+ },
+/obj/machinery/light_switch/directional/north{
+ pixel_x = -7;
+ pixel_y = 28
+ },
+/turf/open/floor/iron,
+/area/station/cargo/warehouse)
"npQ" = (
/obj/structure/table/reinforced,
/obj/effect/turf_decal/stripes/line{
@@ -53461,6 +53438,14 @@
},
/turf/open/floor/iron,
/area/station/security/warden)
+"nrx" = (
+/obj/machinery/portable_atmospherics/canister/anesthetic_mix,
+/obj/machinery/light/small/blacklight/directional/north,
+/obj/effect/turf_decal/bot_white{
+ color = "#435a88"
+ },
+/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+/area/station/medical/coldroom)
"nry" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
@@ -55456,6 +55441,18 @@
/obj/effect/turf_decal/trimline/purple/filled/corner,
/turf/open/floor/iron/white,
/area/station/science/lobby)
+"nRu" = (
+/obj/machinery/camera{
+ c_tag = "Cargo Bay - Drone Bay";
+ dir = 4;
+ name = "cargo camera"
+ },
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/light/directional/east,
+/turf/open/floor/iron,
+/area/station/cargo/drone_bay)
"nRv" = (
/obj/effect/spawner/random/maintenance,
/obj/effect/spawner/random/trash/bin,
@@ -55746,6 +55743,19 @@
/obj/effect/turf_decal/delivery,
/turf/open/floor/iron,
/area/station/science/research/abandoned)
+"nVT" = (
+/obj/machinery/computer/exoscanner_control,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/window/spawner/directional/north,
+/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/cargo/drone_bay)
"nWc" = (
/obj/machinery/restaurant_portal/restaurant,
/obj/effect/turf_decal/delivery/red,
@@ -55957,16 +55967,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"nYZ" = (
-/obj/structure/closet/crate/freezer/blood,
-/obj/machinery/light/small/blacklight/directional/north,
-/obj/machinery/airalarm/directional/west,
-/obj/effect/turf_decal/bot_white{
- color = "#435a88"
- },
-/obj/effect/mapping_helpers/airalarm/tlv_cold_room,
-/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
-/area/station/medical/coldroom)
"nZb" = (
/obj/effect/turf_decal/tile/blue/half/contrasted{
dir = 1
@@ -56002,14 +56002,6 @@
dir = 4
},
/area/station/commons/fitness/recreation)
-"nZx" = (
-/obj/structure/chair/office{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/cargo/drone_bay)
"nZA" = (
/obj/structure/table/wood,
/obj/item/assembly/igniter,
@@ -56179,12 +56171,6 @@
},
/turf/open/floor/plating,
/area/station/science/robotics/mechbay)
-"occ" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/computer/order_console/mining,
-/obj/item/radio/intercom/directional/west,
-/turf/open/floor/iron,
-/area/station/cargo/miningoffice)
"ocd" = (
/obj/structure/window/reinforced/spawner/directional/east,
/obj/structure/flora/bush/flowers_yw/style_random,
@@ -57344,11 +57330,6 @@
/obj/item/radio/intercom/prison/directional/south,
/turf/open/floor/iron,
/area/station/security/prison/work)
-"oqZ" = (
-/obj/structure/fireplace,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/captain)
"orh" = (
/obj/structure/table/reinforced,
/obj/effect/spawner/random/entertainment/cigarette_pack,
@@ -58286,6 +58267,13 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
+"oFc" = (
+/obj/structure/table/wood,
+/obj/item/paper_bin,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/status_display/ai/directional/west,
+/turf/open/floor/iron/dark,
+/area/station/tcommsat/computer)
"oFi" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
@@ -58454,6 +58442,23 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/security/detectives_office)
+"oHI" = (
+/obj/machinery/door/airlock/medical{
+ name = "Medbay Cold Room"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable,
+/obj/effect/mapping_helpers/airlock/access/all/medical/surgery,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/iron,
+/area/station/medical/coldroom)
"oHJ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -59705,6 +59710,18 @@
/obj/effect/turf_decal/delivery,
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
+"oYM" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron/kitchen_coldroom/dark,
+/area/station/medical/coldroom)
"oYV" = (
/obj/item/kirbyplants/random,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
@@ -60816,13 +60833,6 @@
},
/turf/open/floor/iron/dark,
/area/station/command/bridge)
-"pmf" = (
-/obj/machinery/status_display/ai/directional/north,
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/captain)
"pmz" = (
/obj/effect/turf_decal/tile/red{
dir = 4
@@ -63380,11 +63390,6 @@
/obj/effect/spawner/structure/window/reinforced/tinted,
/turf/open/floor/plating,
/area/station/service/library/lounge)
-"pSh" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/iron/dark,
-/area/station/tcommsat/server)
"pSj" = (
/obj/structure/lattice/catwalk,
/turf/open/space/basic,
@@ -64238,6 +64243,13 @@
},
/turf/open/floor/iron/smooth,
/area/station/hallway/secondary/entry)
+"qaP" = (
+/obj/structure/bed/dogbed/renault,
+/obj/machinery/newscaster/directional/south,
+/mob/living/basic/pet/fox/renault,
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/captain)
"qaT" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable,
@@ -64734,16 +64746,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
-"qid" = (
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/effect/turf_decal/tile/green{
- dir = 8
- },
-/obj/machinery/camera/autoname/directional/south,
-/turf/open/floor/iron/white,
-/area/station/medical/virology)
"qig" = (
/obj/structure/table/wood,
/obj/machinery/camera/directional/west{
@@ -64825,6 +64827,12 @@
},
/turf/open/floor/plating,
/area/station/service/theater/abandoned)
+"qja" = (
+/obj/machinery/airalarm/directional/east,
+/obj/structure/table/wood,
+/obj/machinery/recharger,
+/turf/open/floor/wood,
+/area/station/command/heads_quarters/captain)
"qje" = (
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt,
@@ -65513,6 +65521,37 @@
/obj/item/wrench,
/turf/open/floor/plating,
/area/station/service/theater/abandoned)
+"qsA" = (
+/obj/structure/table/reinforced,
+/obj/item/storage/box/monkeycubes{
+ pixel_x = 6;
+ pixel_y = 4
+ },
+/obj/item/storage/pill_bottle/mutadone{
+ pixel_x = -8;
+ pixel_y = 9
+ },
+/obj/item/reagent_containers/spray/cleaner{
+ pixel_x = -10;
+ pixel_y = -1
+ },
+/obj/item/storage/box/monkeycubes{
+ pixel_x = 4
+ },
+/obj/machinery/camera/directional/east{
+ c_tag = "Science - Genetics";
+ dir = 6;
+ name = "science camera";
+ network = list("ss13","rd")
+ },
+/obj/machinery/status_display/evac/directional/east,
+/obj/effect/turf_decal/tile/blue/half/contrasted{
+ dir = 4
+ },
+/obj/machinery/light/directional/east,
+/obj/item/flesh_shears,
+/turf/open/floor/iron/dark,
+/area/station/science/genetics)
"qsC" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -67517,14 +67556,6 @@
},
/turf/open/floor/iron/dark,
/area/station/hallway/secondary/service)
-"qSG" = (
-/obj/machinery/portable_atmospherics/canister/anesthetic_mix,
-/obj/machinery/light/small/blacklight/directional/north,
-/obj/effect/turf_decal/bot_white{
- color = "#435a88"
- },
-/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
-/area/station/medical/coldroom)
"qSJ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/cable,
@@ -67684,6 +67715,12 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/half,
/area/station/engineering/atmos/project)
+"qVj" = (
+/obj/effect/turf_decal/tile/yellow/diagonal_edge,
+/obj/effect/turf_decal/tile/red/diagonal_centre,
+/obj/structure/sign/poster/official/cleanliness/directional/west,
+/turf/open/floor/iron/diagonal,
+/area/station/science/breakroom)
"qVk" = (
/obj/machinery/airalarm/directional/east,
/obj/machinery/light_switch/directional/south,
@@ -68086,6 +68123,17 @@
/obj/machinery/light/floor,
/turf/open/floor/iron/dark,
/area/station/command/bridge)
+"rbG" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/structure/table,
+/obj/machinery/microwave{
+ desc = "Cooks and boils stuff, somehow.";
+ pixel_x = -3;
+ pixel_y = 5
+ },
+/obj/machinery/firealarm/directional/west,
+/turf/open/floor/iron,
+/area/station/cargo/miningoffice)
"rbR" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -68265,6 +68313,19 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/maintenance/department/chapel)
+"rew" = (
+/obj/structure/table,
+/obj/effect/turf_decal/tile/brown/half{
+ dir = 4
+ },
+/obj/item/clipboard,
+/obj/item/toy/figure/miner,
+/obj/machinery/light/directional/south,
+/obj/machinery/computer/security/telescreen/entertainment/directional/south,
+/turf/open/floor/iron/half{
+ dir = 1
+ },
+/area/station/cargo/miningoffice)
"rex" = (
/obj/structure/cable,
/obj/effect/spawner/structure/window/reinforced/tinted,
@@ -68397,6 +68458,13 @@
},
/turf/open/floor/iron,
/area/station/science/robotics/lab)
+"rgv" = (
+/obj/item/kirbyplants/random,
+/obj/effect/turf_decal/tile/brown/anticorner/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/cargo/office)
"rgw" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/brown/visible,
/obj/structure/sign/directions/engineering{
@@ -68501,6 +68569,19 @@
},
/turf/open/floor/iron,
/area/station/science/xenobiology)
+"rhk" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/obj/machinery/disposal/bin,
+/obj/effect/turf_decal/bot,
+/obj/machinery/airalarm/directional/west,
+/obj/effect/turf_decal/tile/brown/anticorner/contrasted{
+ dir = 8
+ },
+/obj/machinery/light_switch/directional/south,
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"rhp" = (
/obj/effect/turf_decal/siding/thinplating/dark{
dir = 1
@@ -68982,6 +69063,11 @@
},
/turf/open/floor/iron/dark,
/area/station/security/evidence)
+"rlV" = (
+/obj/machinery/status_display/evac/directional/north,
+/obj/effect/turf_decal/tile/neutral/anticorner/contrasted,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/captain)
"rmc" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -69936,6 +70022,13 @@
/obj/effect/turf_decal/tile/neutral/full,
/turf/open/floor/iron/dark/smooth_large,
/area/station/service/chapel/funeral)
+"ryS" = (
+/obj/item/flashlight/lamp,
+/obj/structure/table/wood,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/status_display/evac/directional/east,
+/turf/open/floor/iron/dark,
+/area/station/tcommsat/computer)
"ryY" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -70442,13 +70535,6 @@
},
/turf/open/floor/wood,
/area/station/service/abandoned_gambling_den)
-"rGX" = (
-/obj/structure/sign/poster/greenscreen/directional/west,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/captain)
"rGZ" = (
/obj/structure/cable,
/obj/effect/turf_decal/stripes/line{
@@ -70741,6 +70827,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white,
/area/station/security/medical)
+"rKa" = (
+/obj/machinery/exodrone_launcher,
+/obj/effect/turf_decal/box,
+/obj/machinery/status_display/ai/directional/north,
+/obj/structure/sign/poster/official/random/directional/west,
+/turf/open/floor/plating,
+/area/station/cargo/drone_bay)
"rKb" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible,
@@ -70942,12 +71035,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"rMt" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/iron/dark,
-/area/station/tcommsat/server)
"rMv" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/obj/effect/turf_decal/tile/dark_blue/opposingcorners,
@@ -71431,6 +71518,16 @@
/obj/machinery/light/small/directional/north,
/turf/open/floor/iron/white,
/area/station/science/research)
+"rRm" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron/kitchen_coldroom/dark,
+/area/station/medical/coldroom)
"rRr" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -71624,10 +71721,6 @@
/obj/machinery/airalarm/directional/north,
/turf/open/floor/iron,
/area/station/cargo/lobby)
-"rTB" = (
-/obj/structure/tank_holder/extinguisher,
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"rTG" = (
/obj/structure/cable,
/obj/structure/disposalpipe/sorting/mail{
@@ -72882,11 +72975,6 @@
"sjt" = (
/turf/closed/wall,
/area/station/hallway/secondary/entry)
-"sjv" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/vending/boozeomat,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/captain)
"sjz" = (
/obj/effect/turf_decal/siding/white{
dir = 1
@@ -72909,14 +72997,6 @@
},
/turf/open/floor/iron,
/area/station/maintenance/port)
-"sjY" = (
-/obj/machinery/greenscreen_camera{
- dir = 8;
- pixel_x = -8;
- pixel_y = 6
- },
-/turf/open/floor/wood,
-/area/station/command/heads_quarters/captain)
"ske" = (
/obj/effect/spawner/random/entertainment/arcade,
/obj/effect/turf_decal/tile/neutral/fourcorners,
@@ -73013,18 +73093,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
-"skZ" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/tile/brown{
- dir = 4
- },
-/obj/structure/sign/poster/official/random/directional/north,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/fore)
"sle" = (
/obj/structure/table/reinforced,
/obj/machinery/door/firedoor,
@@ -73343,19 +73411,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/aft)
-"sqj" = (
-/obj/structure/closet/crate/freezer/surplus_limbs,
-/obj/machinery/camera/directional/north{
- c_tag = "Medbay - Coldroom";
- dir = 9;
- name = "medbay camera";
- network = list("ss13","medbay")
- },
-/obj/effect/turf_decal/bot_white{
- color = "#435a88"
- },
-/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
-/area/station/medical/coldroom)
"sqm" = (
/obj/effect/turf_decal/trimline/blue/filled/line{
dir = 5
@@ -73397,6 +73452,11 @@
/obj/item/food/meat/slab/monkey,
/turf/open/floor/iron/kitchen_coldroom/dark,
/area/station/service/kitchen/coldroom)
+"sqO" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/vending/boozeomat,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/captain)
"sqT" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -73466,13 +73526,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/service/abandoned_gambling_den)
-"srV" = (
-/obj/item/flashlight/lamp,
-/obj/structure/table/wood,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/status_display/evac/directional/east,
-/turf/open/floor/iron/dark,
-/area/station/tcommsat/computer)
"ssb" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -73698,6 +73751,13 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/engineering/storage_shared)
+"suN" = (
+/obj/machinery/light/directional/south,
+/obj/machinery/byteforge,
+/obj/effect/turf_decal/box,
+/obj/machinery/newscaster/directional/south,
+/turf/open/floor/iron/dark/smooth_large,
+/area/station/cargo/bitrunning/den)
"suQ" = (
/obj/structure/cable,
/obj/structure/table/wood/fancy/blue,
@@ -74327,27 +74387,6 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/iron,
/area/station/engineering/main)
-"sCe" = (
-/obj/item/storage/medkit/o2{
- pixel_x = 3;
- pixel_y = 3
- },
-/obj/item/storage/medkit/regular,
-/obj/item/storage/medkit/o2{
- pixel_x = -3;
- pixel_y = -3
- },
-/obj/structure/table/reinforced,
-/obj/machinery/door/window/left/directional/north{
- name = "Medkit Storage";
- req_access = list("medical")
- },
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/obj/effect/mapping_helpers/airlock/red_alert_access,
-/turf/open/floor/iron,
-/area/station/medical/storage)
"sCh" = (
/obj/structure/cable,
/obj/structure/table/wood,
@@ -74535,6 +74574,9 @@
/obj/effect/turf_decal/tile/purple/fourcorners,
/turf/open/floor/iron,
/area/station/science/research)
+"sEQ" = (
+/turf/open/floor/plating,
+/area/station/cargo/drone_bay)
"sFf" = (
/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible,
/obj/effect/turf_decal/siding/yellow{
@@ -75311,6 +75353,14 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/service/chapel)
+"sPg" = (
+/obj/machinery/light/directional/east,
+/obj/structure/extinguisher_cabinet/directional/east,
+/obj/structure/table/wood,
+/obj/item/storage/photo_album,
+/obj/item/camera,
+/turf/open/floor/wood,
+/area/station/command/heads_quarters/captain)
"sPk" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -75493,12 +75543,6 @@
},
/turf/open/floor/iron,
/area/station/maintenance/department/science)
-"sQU" = (
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/cargo/drone_bay)
"sRd" = (
/turf/closed/wall/r_wall,
/area/station/security/evidence)
@@ -76256,6 +76300,28 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/engineering/storage/tech)
+"tbs" = (
+/obj/effect/decal/cleanable/oil/streak,
+/obj/structure/table,
+/obj/item/storage/toolbox/mechanical{
+ pixel_y = 7
+ },
+/obj/item/reagent_containers/cup/soda_cans/space_mountain_wind{
+ pixel_x = 5
+ },
+/obj/machinery/camera/autoname/directional/south,
+/obj/item/toy/figure/bitrunner{
+ pixel_x = -6
+ },
+/obj/structure/sign/poster/official/random/directional/south,
+/obj/machinery/firealarm/directional/west{
+ pixel_y = -4
+ },
+/obj/machinery/light_switch/directional/west{
+ pixel_y = 6
+ },
+/turf/open/floor/iron/dark/smooth_large,
+/area/station/cargo/bitrunning/den)
"tbC" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -76282,6 +76348,13 @@
/obj/structure/closet/crate/wooden,
/turf/open/floor/plating,
/area/station/maintenance/department/chapel)
+"tbU" = (
+/obj/structure/table/wood,
+/obj/machinery/newscaster/directional/west,
+/obj/machinery/coffeemaker/impressa,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron/dark,
+/area/station/medical/break_room)
"tbZ" = (
/obj/item/kirbyplants/random,
/obj/machinery/status_display/door_timer{
@@ -76796,13 +76869,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/cargo/storage)
-"tjo" = (
-/obj/machinery/light/directional/south,
-/obj/machinery/byteforge,
-/obj/effect/turf_decal/box,
-/obj/machinery/newscaster/directional/south,
-/turf/open/floor/iron/dark/smooth_large,
-/area/station/cargo/bitrunning/den)
"tjp" = (
/obj/structure/table/reinforced,
/obj/item/storage/toolbox/mechanical,
@@ -76818,6 +76884,26 @@
/obj/effect/turf_decal/tile/yellow/opposingcorners,
/turf/open/floor/iron/dark,
/area/station/medical/pharmacy)
+"tjN" = (
+/obj/effect/landmark/start/cargo_technician,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/cargo/drone_bay)
+"tjS" = (
+/obj/machinery/computer/exodrone_control_console,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/window/spawner/directional/north,
+/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/cargo/drone_bay)
"tke" = (
/obj/structure/chair{
dir = 1
@@ -76927,6 +77013,15 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/wood,
/area/station/service/theater)
+"tlK" = (
+/obj/item/kirbyplants/random,
+/obj/effect/turf_decal/tile/brown/anticorner/contrasted{
+ dir = 1
+ },
+/obj/structure/sign/poster/official/random/directional/north,
+/obj/structure/extinguisher_cabinet/directional/west,
+/turf/open/floor/iron,
+/area/station/cargo/office)
"tlL" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -78822,19 +78917,6 @@
/obj/effect/turf_decal/tile/yellow/opposingcorners,
/turf/open/floor/iron,
/area/station/engineering/supermatter/room)
-"tJp" = (
-/obj/structure/table,
-/obj/effect/turf_decal/tile/brown/half{
- dir = 4
- },
-/obj/item/clipboard,
-/obj/item/toy/figure/miner,
-/obj/machinery/light/directional/south,
-/obj/machinery/computer/security/telescreen/entertainment/directional/south,
-/turf/open/floor/iron/half{
- dir = 1
- },
-/area/station/cargo/miningoffice)
"tJt" = (
/obj/structure/table/wood,
/obj/item/paper_bin,
@@ -78930,6 +79012,12 @@
/obj/effect/turf_decal/tile/red/half,
/turf/open/floor/iron/half,
/area/station/security/office)
+"tKQ" = (
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/cargo/drone_bay)
"tKV" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/neutral/fourcorners,
@@ -79816,12 +79904,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/turret_protected/aisat_interior)
-"tWw" = (
-/obj/effect/decal/cleanable/glass,
-/obj/item/shard,
-/obj/structure/sign/poster/random/directional/east,
-/turf/open/floor/plating,
-/area/station/maintenance/department/crew_quarters/bar)
"tWx" = (
/obj/effect/turf_decal/tile/red/diagonal_centre,
/obj/effect/turf_decal/tile/blue/diagonal_edge,
@@ -80793,15 +80875,6 @@
/obj/machinery/computer/security/telescreen/research/directional/north,
/turf/open/floor/iron/dark,
/area/station/command/bridge)
-"uiK" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/cargo/drone_bay)
"uiM" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/decal/cleanable/dirt,
@@ -82894,13 +82967,6 @@
/obj/effect/turf_decal/tile/green/half/contrasted,
/turf/open/floor/iron/white,
/area/station/medical/virology)
-"uJj" = (
-/obj/machinery/computer/telecomms/monitor{
- dir = 8
- },
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron/dark,
-/area/station/tcommsat/computer)
"uJk" = (
/obj/effect/landmark/start/hangover,
/obj/effect/turf_decal/tile/neutral,
@@ -82910,6 +82976,15 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/secondary/command)
+"uJn" = (
+/obj/structure/disposalpipe/trunk,
+/obj/structure/disposaloutlet,
+/obj/machinery/light/small/directional/north,
+/obj/machinery/status_display/supply{
+ pixel_x = 32
+ },
+/turf/open/floor/plating,
+/area/station/cargo/sorting)
"uJp" = (
/obj/machinery/disposal/bin{
desc = "A pneumatic waste disposal unit. This one leads to the morgue.";
@@ -83683,15 +83758,6 @@
},
/turf/open/floor/iron,
/area/station/maintenance/port/fore)
-"uRP" = (
-/obj/item/kirbyplants/random,
-/obj/effect/turf_decal/tile/brown/anticorner/contrasted{
- dir = 1
- },
-/obj/structure/sign/poster/official/random/directional/north,
-/obj/structure/extinguisher_cabinet/directional/west,
-/turf/open/floor/iron,
-/area/station/cargo/office)
"uRV" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -85973,11 +86039,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/service/abandoned_gambling_den)
-"vwK" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/turf/open/floor/plating,
-/area/station/cargo/drone_bay)
"vwO" = (
/obj/structure/chair{
dir = 4
@@ -87082,6 +87143,11 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/fore)
+"vKT" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/cargo/drone_bay)
"vLd" = (
/obj/machinery/light/small/directional/east,
/obj/structure/closet/secure_closet/brig{
@@ -87208,14 +87274,6 @@
/obj/machinery/light/directional/west,
/turf/open/floor/iron/dark,
/area/station/security/courtroom)
-"vMQ" = (
-/obj/machinery/status_display/evac/directional/west,
-/obj/item/kirbyplants/random,
-/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/captain)
"vMU" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -87533,22 +87591,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
-"vRW" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/command{
- name = "E.V.A. Storage"
- },
-/obj/structure/cable,
-/obj/effect/landmark/navigate_destination,
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/effect/mapping_helpers/airlock/access/all/command/eva,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/mapping_helpers/airlock/red_alert_access,
-/turf/open/floor/iron,
-/area/station/ai_monitored/command/storage/eva)
"vSk" = (
/obj/structure/table/wood,
/obj/item/folder/red,
@@ -87791,11 +87833,6 @@
/obj/machinery/firealarm/directional/east,
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
-"vUO" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/cargo/drone_bay)
"vUT" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -88284,6 +88321,16 @@
/obj/effect/landmark/start/hangover,
/turf/open/floor/iron/dark,
/area/station/service/barber)
+"wcs" = (
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/effect/turf_decal/tile/green{
+ dir = 8
+ },
+/obj/machinery/camera/autoname/directional/south,
+/turf/open/floor/iron/white,
+/area/station/medical/virology)
"wct" = (
/obj/item/stack/cable_coil,
/obj/structure/lattice/catwalk,
@@ -89559,13 +89606,6 @@
},
/turf/open/floor/iron,
/area/station/security/checkpoint/escape)
-"wrw" = (
-/obj/item/kirbyplants/random,
-/obj/effect/turf_decal/tile/brown/anticorner/contrasted{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/cargo/office)
"wry" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible,
/obj/effect/decal/cleanable/dirt,
@@ -90448,16 +90488,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/fore)
-"wCn" = (
-/obj/structure/rack,
-/obj/item/storage/briefcase/secure,
-/obj/machinery/status_display/ai/directional/south,
-/obj/effect/turf_decal/bot,
-/obj/item/reagent_containers/pill/patch/aiuri,
-/obj/machinery/light/directional/south,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/ce)
"wCp" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -91368,6 +91398,16 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
+"wOs" = (
+/obj/machinery/computer/message_monitor{
+ dir = 4
+ },
+/obj/item/paper/monitorkey,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/light/dim/directional/west,
+/obj/item/radio/intercom/directional/west,
+/turf/open/floor/iron/dark,
+/area/station/tcommsat/computer)
"wOw" = (
/obj/effect/turf_decal/bot,
/obj/machinery/portable_atmospherics/pipe_scrubber,
@@ -91433,6 +91473,27 @@
/obj/machinery/light_switch/directional/south,
/turf/open/floor/wood,
/area/station/command/heads_quarters/hop)
+"wPy" = (
+/obj/item/storage/medkit/o2{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/storage/medkit/regular,
+/obj/item/storage/medkit/o2{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/structure/table/reinforced,
+/obj/machinery/door/window/left/directional/north{
+ name = "Medkit Storage";
+ req_access = list("medical")
+ },
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/obj/effect/mapping_helpers/airlock/red_alert_access,
+/turf/open/floor/iron,
+/area/station/medical/storage)
"wPA" = (
/obj/structure/cable,
/obj/effect/turf_decal/stripes/line{
@@ -91780,12 +91841,6 @@
},
/turf/open/floor/iron/cafeteria,
/area/station/service/cafeteria)
-"wUw" = (
-/obj/machinery/airalarm/directional/east,
-/obj/structure/table/wood,
-/obj/machinery/recharger,
-/turf/open/floor/wood,
-/area/station/command/heads_quarters/captain)
"wUZ" = (
/obj/effect/turf_decal/stripes/line,
/obj/effect/turf_decal/siding/yellow{
@@ -92990,13 +93045,6 @@
/obj/effect/turf_decal/siding/wood,
/turf/open/floor/iron/grimy,
/area/station/service/library/abandoned)
-"xkU" = (
-/obj/effect/turf_decal/bot_white{
- color = "#435a88"
- },
-/obj/structure/closet/crate/freezer/blood,
-/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
-/area/station/medical/coldroom)
"xkW" = (
/obj/structure/window/reinforced/spawner/directional/west,
/obj/structure/window/reinforced/spawner/directional/north,
@@ -93051,21 +93099,6 @@
/obj/effect/spawner/structure/window/reinforced/plasma,
/turf/open/floor/plating,
/area/station/engineering/atmos)
-"xlK" = (
-/obj/machinery/door/airlock/command/glass{
- name = "Server Access"
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden,
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/rd,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/iron/dark,
-/area/station/science/server)
"xlM" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -93225,6 +93258,13 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"xnE" = (
+/obj/effect/turf_decal/bot_white{
+ color = "#435a88"
+ },
+/obj/structure/closet/crate/freezer/blood,
+/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+/area/station/medical/coldroom)
"xnF" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 8
@@ -93576,14 +93616,6 @@
},
/turf/open/floor/iron,
/area/station/cargo/lobby)
-"xst" = (
-/obj/machinery/light/directional/east,
-/obj/structure/extinguisher_cabinet/directional/east,
-/obj/structure/table/wood,
-/obj/item/storage/photo_album,
-/obj/item/camera,
-/turf/open/floor/wood,
-/area/station/command/heads_quarters/captain)
"xsG" = (
/obj/structure/lattice,
/obj/structure/window/reinforced/spawner/directional/east,
@@ -94161,6 +94193,14 @@
},
/turf/open/floor/iron,
/area/station/command/gateway)
+"xzv" = (
+/obj/item/exodrone,
+/obj/machinery/exodrone_launcher,
+/obj/effect/turf_decal/box,
+/obj/effect/decal/cleanable/oil/slippery,
+/obj/machinery/status_display/evac/directional/north,
+/turf/open/floor/plating,
+/area/station/cargo/drone_bay)
"xzB" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/neutral/half/contrasted,
@@ -95156,18 +95196,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/engineering/transit_tube)
-"xLy" = (
-/obj/structure/disposalpipe/trunk{
- dir = 4
- },
-/obj/structure/disposaloutlet{
- dir = 1
- },
-/obj/structure/window/reinforced/spawner/directional/east,
-/obj/effect/turf_decal/delivery,
-/obj/structure/window/reinforced/spawner/directional/west,
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
"xLE" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/light/small/directional/west,
@@ -95560,12 +95588,6 @@
},
/turf/open/floor/iron,
/area/station/security/office)
-"xSf" = (
-/obj/structure/bed,
-/obj/item/bedsheet/clown,
-/obj/machinery/newscaster/directional/east,
-/turf/open/floor/wood,
-/area/station/hallway/secondary/service)
"xSx" = (
/obj/structure/disposalpipe/segment{
dir = 6
@@ -96063,16 +96085,6 @@
},
/turf/open/floor/iron,
/area/station/commons/locker)
-"xYP" = (
-/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
- dir = 6
- },
-/obj/effect/turf_decal/stripes/corner,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/light/small/directional/west,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
-/area/station/service/kitchen/coldroom)
"xYW" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/door/airlock/maintenance_hatch{
@@ -96099,13 +96111,6 @@
/obj/machinery/status_display/evac/directional/north,
/turf/open/floor/carpet/blue,
/area/station/commons/vacant_room/office)
-"xYZ" = (
-/obj/machinery/exodrone_launcher,
-/obj/effect/turf_decal/box,
-/obj/machinery/status_display/ai/directional/north,
-/obj/structure/sign/poster/official/random/directional/west,
-/turf/open/floor/plating,
-/area/station/cargo/drone_bay)
"xZh" = (
/obj/structure/table/wood,
/obj/item/paper{
@@ -96505,16 +96510,6 @@
},
/turf/open/floor/iron/white,
/area/station/medical/medbay)
-"yfN" = (
-/obj/machinery/computer/message_monitor{
- dir = 4
- },
-/obj/item/paper/monitorkey,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/light/dim/directional/west,
-/obj/item/radio/intercom/directional/west,
-/turf/open/floor/iron/dark,
-/area/station/tcommsat/computer)
"yfO" = (
/obj/machinery/computer/records/security{
dir = 8
@@ -96795,6 +96790,11 @@
},
/turf/open/floor/iron,
/area/station/maintenance/starboard/aft)
+"yjd" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/turf/open/floor/plating,
+/area/station/cargo/drone_bay)
"yjn" = (
/obj/structure/extinguisher_cabinet/directional/north{
pixel_x = 6;
@@ -117208,7 +117208,7 @@ xcR
vxQ
lzc
plQ
-dpN
+ftF
qUB
qUB
nCi
@@ -118920,7 +118920,7 @@ qCA
koB
lzp
fTC
-bFs
+kCq
gAL
tRh
gQH
@@ -119741,7 +119741,7 @@ tMl
apu
swR
aHE
-wCn
+lCm
gAw
qje
fbA
@@ -125174,7 +125174,7 @@ xGk
wsN
sfW
tNi
-xlK
+gDI
bYV
reK
jDd
@@ -127172,7 +127172,7 @@ oYs
oYs
oYs
oYs
-lGE
+cZa
ukj
oYs
mcs
@@ -127427,7 +127427,7 @@ oqx
xtp
idQ
bWW
-xYP
+caC
xOI
rQQ
aMH
@@ -128197,7 +128197,7 @@ sIE
meJ
hXw
btc
-hFP
+eYf
xAt
eEI
oTB
@@ -131351,7 +131351,7 @@ aAj
nQl
vhs
lbs
-jfo
+qVj
nCK
mzi
qQM
@@ -132605,7 +132605,7 @@ sGz
pRS
mcv
qLS
-vRW
+mJj
cxg
wHU
pFD
@@ -133633,7 +133633,7 @@ hYb
beG
toI
dEc
-inF
+fGx
tSo
dqc
crY
@@ -134419,7 +134419,7 @@ rcW
sAv
wYH
lmL
-iiU
+qsA
fZg
eAq
okD
@@ -134435,8 +134435,8 @@ lNZ
uun
hst
dQT
-nYZ
-iTK
+cUN
+rRm
rEO
vpC
eEn
@@ -134692,8 +134692,8 @@ mqw
xoL
ulp
dQT
-xkU
-jew
+xnE
+aYk
rEO
lrK
pMF
@@ -134898,9 +134898,9 @@ rbF
pma
fnA
eVl
-kZu
-cjl
-yfN
+oFc
+akV
+wOs
yiC
qUM
jDi
@@ -134949,8 +134949,8 @@ bRe
mck
hsm
dQT
-sqj
-gJe
+epT
+iYT
rEO
ofY
sKJ
@@ -134973,7 +134973,7 @@ iAY
lwZ
hKO
vJm
-qid
+wcs
tgT
vKI
iFg
@@ -135111,7 +135111,7 @@ aSO
jfF
tQh
kVP
-xSf
+jor
mqV
kVP
giz
@@ -135155,7 +135155,7 @@ hdZ
sTu
ipQ
eVl
-amU
+dxl
vBA
aPW
aOd
@@ -135206,8 +135206,8 @@ oQO
pLA
bzD
dQT
-qSG
-hlO
+nrx
+oYM
nGk
wtz
wmn
@@ -135464,7 +135464,7 @@ qfi
dQT
dQT
nGk
-acn
+oHI
nGk
bLt
dXO
@@ -135931,7 +135931,7 @@ cHe
kql
jHb
fdM
-pSh
+aAa
uPV
ilI
tcH
@@ -135939,7 +135939,7 @@ voi
agZ
hup
ktv
-rMt
+bbc
auJ
vgg
vap
@@ -136149,7 +136149,7 @@ daR
dla
itV
rzw
-fIR
+fwv
wnI
pgF
qAV
@@ -136662,19 +136662,19 @@ qAV
jKA
sHC
kaP
-awL
-tWw
-kFO
+gHG
+dkx
+lrl
xiG
qAV
xSx
xGC
qAV
-uRP
+tlK
mzb
lkm
-aIm
-mRZ
+fum
+auH
hoC
vyN
gMR
@@ -136697,7 +136697,7 @@ hdZ
oKX
ipQ
eVl
-gPY
+dHU
gUW
fnM
hpv
@@ -136927,7 +136927,7 @@ qAV
ftD
qAV
qAV
-enq
+lrz
kii
hNr
wOU
@@ -136954,9 +136954,9 @@ oEf
ccq
dXN
eVl
-srV
-uJj
-mGD
+ryS
+jir
+fnN
rme
xkw
jDi
@@ -137176,11 +137176,11 @@ qAV
qAV
xeH
qAV
-xYZ
+rKa
vGf
rXE
cAw
-fcg
+luy
khn
mhe
rvK
@@ -137268,7 +137268,7 @@ ppy
wGs
klr
oNF
-sCe
+wPy
pdl
etk
oRT
@@ -137433,11 +137433,11 @@ pSJ
gUa
kYu
jdL
-bij
-vwK
-emf
-nZx
-gHI
+sEQ
+aIX
+tjS
+gHw
+dus
pKp
wRp
woK
@@ -137468,9 +137468,9 @@ bog
uLX
gOU
gOU
-vMQ
-rGX
-iOY
+iGn
+fiY
+qaP
gOU
fOw
ilI
@@ -137525,7 +137525,7 @@ urL
eiB
xQM
oNF
-kir
+lDc
pdl
fOJ
kuU
@@ -137690,12 +137690,12 @@ kBN
bvj
nzx
jdL
-bij
-eGM
-cBS
-vUO
-jPU
-uiK
+sEQ
+yjd
+nVT
+vKT
+tjN
+iNa
tHg
vVu
iSf
@@ -137947,11 +137947,11 @@ fqi
wVQ
uCt
jdL
-eeZ
+xzv
ieI
rEA
-byP
-sQU
+nRu
+tKQ
ozp
bfy
rvK
@@ -137983,7 +137983,7 @@ neK
gOU
gsP
hja
-sjY
+fBN
aby
qig
nxG
@@ -138562,7 +138562,7 @@ lvZ
rtC
uzT
fPh
-eOE
+tbU
dIJ
yho
lvZ
@@ -138752,7 +138752,7 @@ drj
bog
nkU
gOU
-lJx
+lJE
aby
lUK
aby
@@ -138966,7 +138966,7 @@ jdL
jdL
eVz
jdL
-mDP
+krb
szg
brZ
wqn
@@ -138983,7 +138983,7 @@ eoy
rly
ePl
eoy
-wrw
+rgv
vwg
wRf
vKl
@@ -139009,7 +139009,7 @@ drj
bog
iMg
gOU
-pmf
+gXr
kDL
qxw
aby
@@ -139223,7 +139223,7 @@ iLF
jdL
dVA
jdL
-gJI
+fml
ttP
iXj
oXl
@@ -139266,7 +139266,7 @@ xtg
bpa
uhH
gOU
-oqZ
+dFE
wvg
mXr
icS
@@ -139480,7 +139480,7 @@ tpI
jdL
mWs
jdL
-lgc
+npK
dfk
kYB
ivG
@@ -139497,20 +139497,20 @@ uQa
xqM
tTa
lKl
-nmU
+eBr
tfC
bcD
-haS
+rhk
xhW
-eew
+lrZ
fZi
sye
sye
fOB
oMu
-xLy
+guG
xhW
-skZ
+apM
dvy
lSl
xms
@@ -139523,11 +139523,11 @@ eVb
jYX
nBJ
gOU
-iRz
+rlV
vdS
vdS
aby
-hXW
+kzv
ivA
ixN
lTx
@@ -139745,7 +139745,7 @@ kRn
kjl
lDi
lDi
-rTB
+hcF
bqv
hDZ
bfT
@@ -139781,10 +139781,10 @@ bog
ksJ
gOU
prt
-wUw
-xst
-lER
-sjv
+qja
+sPg
+fIl
+sqO
ivA
hmA
wbh
@@ -140020,9 +140020,9 @@ uBZ
pso
nCY
nCY
-aeD
+eov
mlv
-dkr
+jiU
mjH
eUH
dvy
@@ -140530,10 +140530,10 @@ jqs
oSv
gLz
xhW
-axz
+uJn
fOz
syW
-ecX
+mLt
yfo
qLp
pcx
@@ -140765,7 +140765,7 @@ sOk
jdL
poC
jdL
-kLI
+nkv
bhR
rdJ
oSv
@@ -141044,13 +141044,13 @@ uSp
oSv
cFz
rWo
-gpD
+bVb
kLA
qbd
gHq
lJw
tYI
-kUj
+tbs
hXg
lDY
tpZ
@@ -141307,7 +141307,7 @@ bFA
gHq
pDz
quh
-tjo
+suN
hXg
fmH
tpZ
@@ -141817,11 +141817,11 @@ pok
rWo
xdZ
nMi
-tJp
+rew
hXg
-dsb
+bXq
sYn
-gVv
+kzZ
hXg
uoz
tpZ
@@ -142050,7 +142050,7 @@ oeX
aNF
wpT
kic
-isQ
+kAS
rnP
wqs
dIE
@@ -142332,8 +142332,8 @@ krp
llJ
aFb
sAL
-occ
-lDu
+lDQ
+rbG
taO
eCQ
tpZ
diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm
index 18de3c2f00e..0dc4cf48020 100644
--- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm
+++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm
@@ -57,6 +57,18 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/hallway/secondary/entry)
+"abx" = (
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/structure/cable,
+/obj/machinery/light/cold/directional/west,
+/obj/structure/railing/corner/end/flip{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/turf/open/floor/iron/freezer,
+/area/station/service/kitchen/coldroom)
"abz" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 8
@@ -1162,13 +1174,6 @@
},
/turf/open/floor/iron,
/area/station/command/bridge)
-"aqH" = (
-/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
- dir = 10
- },
-/obj/machinery/status_display/ai/directional/east,
-/turf/open/floor/plating/snowed/coldroom,
-/area/station/service/kitchen/coldroom)
"aqQ" = (
/obj/structure/table,
/obj/item/stack/package_wrap,
@@ -1284,10 +1289,14 @@
/obj/item/storage/crayons,
/turf/open/floor/iron,
/area/station/commons/dorms)
-"asf" = (
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/iron/dark,
-/area/station/service/kitchen/coldroom)
+"asd" = (
+/obj/machinery/greenscreen_camera{
+ dir = 4;
+ pixel_x = -4;
+ pixel_y = 6
+ },
+/turf/open/floor/wood,
+/area/station/command/heads_quarters/captain)
"asg" = (
/obj/structure/closet,
/obj/effect/spawner/random/maintenance/two,
@@ -1936,6 +1945,23 @@
/obj/effect/turf_decal/bot_red,
/turf/open/floor/iron/dark,
/area/station/engineering/atmos/project)
+"azM" = (
+/obj/structure/table/wood/fancy/blue,
+/obj/effect/spawner/random/aimodule/neutral,
+/obj/structure/window/reinforced/spawner/directional/north,
+/obj/machinery/door/window/right/directional/west{
+ name = "Core Modules";
+ req_access = list("captain")
+ },
+/obj/effect/turf_decal/siding/thinplating_new/dark{
+ dir = 8
+ },
+/obj/item/reagent_containers/applicator/pill/iron{
+ pixel_x = 13;
+ pixel_y = -13
+ },
+/turf/open/floor/circuit,
+/area/station/ai_monitored/turret_protected/ai_upload)
"azN" = (
/obj/structure/rack,
/obj/item/tank/internals/emergency_oxygen{
@@ -2190,23 +2216,6 @@
/obj/effect/spawner/structure/window/hollow/reinforced/middle,
/turf/open/floor/plating,
/area/station/cargo/warehouse)
-"aES" = (
-/obj/structure/table/wood/fancy/blue,
-/obj/effect/spawner/random/aimodule/neutral,
-/obj/structure/window/reinforced/spawner/directional/north,
-/obj/machinery/door/window/right/directional/west{
- name = "Core Modules";
- req_access = list("captain")
- },
-/obj/effect/turf_decal/siding/thinplating_new/dark{
- dir = 8
- },
-/obj/item/reagent_containers/pill/iron{
- pixel_x = 13;
- pixel_y = -13
- },
-/turf/open/floor/circuit,
-/area/station/ai_monitored/turret_protected/ai_upload)
"aEY" = (
/obj/structure/railing/corner,
/turf/open/floor/iron/dark/textured,
@@ -2277,6 +2286,22 @@
/obj/item/flashlight/lantern/on,
/turf/open/misc/hay/icemoon,
/area/icemoon/underground/explored)
+"aGi" = (
+/obj/structure/sign/nanotrasen{
+ pixel_x = 32
+ },
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
+ },
+/obj/structure/table/wood,
+/obj/item/storage/photo_album{
+ pixel_y = -1
+ },
+/obj/item/camera{
+ pixel_x = -4
+ },
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/captain)
"aGr" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/camera/directional/east{
@@ -2321,6 +2346,19 @@
/obj/effect/mapping_helpers/airlock/access/all/security/brig,
/turf/open/floor/iron,
/area/mine/laborcamp)
+"aGZ" = (
+/obj/effect/turf_decal/siding/white,
+/obj/effect/turf_decal/siding/white{
+ dir = 1
+ },
+/obj/structure/closet/chefcloset,
+/obj/item/clothing/suit/hooded/wintercoat,
+/obj/item/clothing/suit/hooded/wintercoat,
+/obj/item/clothing/suit/hooded/wintercoat,
+/obj/structure/window/spawner/directional/south,
+/obj/machinery/newscaster/directional/west,
+/turf/open/floor/plating,
+/area/station/service/kitchen/coldroom)
"aHt" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden,
@@ -3415,12 +3453,6 @@
/obj/effect/turf_decal/tile/blue/half/contrasted,
/turf/open/floor/iron,
/area/station/command/bridge)
-"aVI" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/iron/dark,
-/area/station/tcommsat/computer)
"aVL" = (
/turf/open/genturf/blue,
/area/icemoon/underground/unexplored/rivers/deep)
@@ -3449,11 +3481,6 @@
/obj/structure/chair/office/light,
/turf/open/floor/iron/dark,
/area/station/science/ordnance/office)
-"aWj" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/lesser)
"aWk" = (
/obj/machinery/door/poddoor/shutters{
dir = 1;
@@ -4047,24 +4074,6 @@
/obj/machinery/status_display/evac/directional/west,
/turf/open/floor/wood,
/area/station/service/library)
-"bdT" = (
-/obj/structure/table/glass,
-/obj/effect/spawner/random/entertainment/deck{
- pixel_x = -6
- },
-/obj/item/reagent_containers/condiment/saltshaker{
- pixel_x = 7;
- pixel_y = 9
- },
-/obj/item/reagent_containers/condiment/peppermill{
- pixel_x = 7;
- pixel_y = 5
- },
-/obj/effect/turf_decal/tile/brown/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron/white,
-/area/station/medical/break_room)
"bea" = (
/obj/effect/spawner/structure/window/reinforced/plasma,
/turf/open/floor/plating/icemoon,
@@ -4326,15 +4335,6 @@
/obj/item/clothing/head/beanie/orange,
/turf/open/floor/iron,
/area/station/cargo/storage)
-"biu" = (
-/obj/machinery/door/window/right/directional/south{
- name = "The Ice Box";
- req_access = list("kitchen")
- },
-/obj/effect/turf_decal/siding/white,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible,
-/turf/open/floor/iron/freezer,
-/area/station/service/kitchen/coldroom)
"biE" = (
/obj/machinery/light/small/directional/west,
/obj/effect/decal/cleanable/dirt/dust,
@@ -5133,21 +5133,6 @@
/obj/effect/mapping_helpers/airlock/access/all/science/robotics,
/turf/open/floor/iron/white,
/area/station/science/robotics/lab)
-"bsN" = (
-/obj/structure/table,
-/obj/item/storage/pill_bottle/mutadone{
- pixel_x = 11;
- pixel_y = 7
- },
-/obj/item/reagent_containers/spray/cleaner{
- pixel_x = 2
- },
-/obj/item/flesh_shears{
- pixel_y = 5;
- pixel_x = -10
- },
-/turf/open/floor/iron/dark,
-/area/station/science/genetics)
"bsO" = (
/obj/effect/turf_decal/box,
/obj/structure/closet/crate,
@@ -5199,17 +5184,6 @@
dir = 4
},
/area/station/hallway/secondary/entry)
-"btq" = (
-/obj/structure/cable,
-/obj/structure/railing{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/components/binary/pump/on/general/hidden{
- dir = 8
- },
-/turf/open/floor/iron/freezer,
-/area/station/service/kitchen/coldroom)
"bts" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
@@ -7994,15 +7968,6 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/turf/open/floor/iron/dark,
/area/station/service/chapel/office)
-"ceQ" = (
-/obj/structure/cable,
-/obj/structure/minecart_rail/railbreak,
-/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/turf/open/floor/plating/snowed/coldroom,
-/area/station/service/kitchen/coldroom)
"ceS" = (
/obj/machinery/mech_bay_recharge_port{
dir = 1
@@ -8317,6 +8282,12 @@
/obj/structure/sign/warning/cold_temp/directional/north,
/turf/open/floor/plating,
/area/station/maintenance/aft/lesser)
+"cje" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/iron/dark,
+/area/station/tcommsat/computer)
"cjI" = (
/obj/effect/turf_decal/stripes/line{
dir = 10
@@ -8581,18 +8552,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/smooth,
/area/station/security/lockers)
-"cnp" = (
-/obj/structure/minecart_rail{
- dir = 4
- },
-/obj/structure/cable,
-/obj/effect/turf_decal/weather/snow/corner{
- dir = 1
- },
-/obj/machinery/light/small/red/directional/north,
-/obj/structure/sign/warning/directional/north,
-/turf/open/floor/plating/snowed/coldroom,
-/area/icemoon/underground/explored)
"cnq" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible,
@@ -8623,6 +8582,17 @@
},
/turf/open/floor/iron,
/area/station/cargo/office)
+"coc" = (
+/obj/machinery/door/window/left/directional/south{
+ name = "The Ice Box";
+ req_access = list("kitchen")
+ },
+/obj/effect/turf_decal/siding/white,
+/obj/machinery/atmospherics/components/binary/valve/on{
+ dir = 4
+ },
+/turf/open/floor/iron/freezer,
+/area/station/service/kitchen/coldroom)
"cod" = (
/obj/effect/turf_decal/tile/yellow/half/contrasted{
dir = 1
@@ -8683,13 +8653,6 @@
/obj/machinery/light/small/directional/east,
/turf/open/openspace,
/area/station/service/chapel)
-"cpr" = (
-/obj/structure/sign/poster/greenscreen/directional/east,
-/obj/effect/turf_decal/siding/wood{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/captain)
"cps" = (
/obj/structure/table/wood/poker,
/obj/item/storage/wallet/random,
@@ -8881,6 +8844,15 @@
/obj/effect/mapping_helpers/airlock/access/all/engineering/external,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
+"cst" = (
+/obj/structure/cable,
+/obj/structure/minecart_rail/railbreak,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/turf/open/floor/plating/snowed/coldroom,
+/area/station/service/kitchen/coldroom)
"csu" = (
/obj/effect/turf_decal/trimline/green/filled/line{
dir = 10
@@ -10329,6 +10301,11 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/wood,
/area/station/service/lawoffice)
+"cNy" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/junction,
+/obj/effect/spawner/structure/window,
+/turf/open/floor/plating,
+/area/station/service/kitchen/coldroom)
"cNI" = (
/obj/machinery/door/poddoor/preopen{
id = "xenobio7";
@@ -10522,6 +10499,19 @@
},
/turf/open/floor/plating,
/area/station/maintenance/disposal)
+"cQo" = (
+/obj/machinery/door/airlock/freezer{
+ desc = "The freezer where the chef keeps all the stuff that needs to be kept cold. Ice cold.";
+ name = "The Ice Box"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/mapping_helpers/airlock/access/all/service/kitchen,
+/obj/structure/cable,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/plating,
+/area/station/service/kitchen/coldroom)
"cQs" = (
/obj/structure/table,
/obj/item/computer_disk{
@@ -10932,14 +10922,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark/textured,
/area/station/hallway/primary/central)
-"cYm" = (
-/obj/machinery/greenscreen_camera{
- dir = 4;
- pixel_x = -4;
- pixel_y = 6
- },
-/turf/open/floor/wood,
-/area/station/command/heads_quarters/captain)
"cYo" = (
/obj/structure/closet/emcloset,
/obj/effect/turf_decal/stripes/line{
@@ -11551,6 +11533,10 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
/turf/closed/wall/r_wall,
/area/station/engineering/supermatter)
+"dfr" = (
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/iron/dark,
+/area/station/service/kitchen/coldroom)
"dfw" = (
/obj/structure/reagent_dispensers/wall/peppertank/directional/west,
/obj/machinery/airalarm/directional/north,
@@ -12290,6 +12276,20 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/mine/laborcamp)
+"dqz" = (
+/obj/structure/cable,
+/obj/structure/minecart_rail{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 5
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/machinery/light/cold/directional/west,
+/turf/open/floor/plating/snowed/coldroom,
+/area/station/service/kitchen/coldroom)
"dqI" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -12491,6 +12491,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
+"dsI" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/lesser)
"dsR" = (
/obj/machinery/conveyor/inverted{
dir = 10;
@@ -12535,6 +12542,26 @@
/obj/effect/turf_decal/tile/green/anticorner/contrasted,
/turf/open/floor/iron,
/area/station/command/bridge)
+"dtx" = (
+/obj/structure/table/glass,
+/obj/item/storage/medkit/fire{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/storage/medkit/fire,
+/obj/item/storage/medkit/regular{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/machinery/door/window/left/directional/east{
+ name = "First-Aid Supplies";
+ req_access = list("medical")
+ },
+/obj/effect/turf_decal/tile/blue/full,
+/obj/machinery/light/cold/directional/west,
+/obj/effect/mapping_helpers/airlock/red_alert_access,
+/turf/open/floor/iron/dark/smooth_large,
+/area/station/medical/storage)
"dty" = (
/obj/structure/table,
/obj/effect/spawner/random/food_or_drink/donkpockets,
@@ -13214,19 +13241,6 @@
/obj/machinery/airalarm/directional/south,
/turf/open/floor/wood,
/area/station/security/courtroom)
-"dEx" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/weather/snow/corner{
- dir = 4
- },
-/obj/structure/minecart_rail{
- dir = 1
- },
-/obj/effect/turf_decal/weather/snow/corner{
- dir = 8
- },
-/turf/open/floor/plating/snowed/coldroom,
-/area/station/service/kitchen/coldroom)
"dEz" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -13311,6 +13325,16 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/engineering/atmos/pumproom)
+"dFr" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/door/poddoor/shutters/preopen{
+ dir = 4;
+ id = "detShutter";
+ name = "Privacy Shutters"
+ },
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/security/detectives_office)
"dFt" = (
/turf/closed/wall,
/area/station/hallway/secondary/exit/departure_lounge)
@@ -13681,15 +13705,6 @@
},
/turf/open/floor/engine,
/area/station/science/xenobiology)
-"dLA" = (
-/obj/structure/rack,
-/obj/item/pickaxe,
-/obj/item/toy/figure/chef,
-/obj/structure/sign/warning/cold_temp/directional/north,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden,
-/turf/open/floor/plating,
-/area/station/service/kitchen/coldroom)
"dLL" = (
/obj/structure/sign/warning/secure_area/directional/north,
/turf/open/floor/plating,
@@ -13716,6 +13731,13 @@
/obj/effect/spawner/random/food_or_drink/donkpockets,
/turf/open/floor/iron,
/area/mine/laborcamp)
+"dMf" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
+ },
+/obj/structure/displaycase/captain,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/captain)
"dMi" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -14406,14 +14428,6 @@
"dXp" = (
/turf/open/floor/iron/dark/smooth_half,
/area/station/service/hydroponics)
-"dXr" = (
-/obj/structure/minecart_rail{
- dir = 4
- },
-/obj/structure/cable,
-/obj/effect/turf_decal/weather/snow/corner,
-/turf/open/floor/plating/snowed/coldroom,
-/area/icemoon/underground/explored)
"dXv" = (
/obj/effect/turf_decal/bot_white,
/obj/effect/turf_decal/tile/neutral/fourcorners,
@@ -14844,10 +14858,6 @@
/obj/machinery/light/directional/north,
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
-"ees" = (
-/obj/effect/spawner/structure/window,
-/turf/open/floor/plating,
-/area/station/service/kitchen/coldroom)
"eeD" = (
/obj/machinery/light/directional/west,
/turf/open/floor/iron/dark/textured,
@@ -15842,6 +15852,20 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central)
+"etb" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/command/glass{
+ name = "EVA Storage"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/command/eva,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/dark_blue,
+/obj/structure/cable,
+/obj/effect/mapping_helpers/airlock/red_alert_access,
+/turf/open/floor/iron/dark/textured,
+/area/station/ai_monitored/command/storage/eva)
"ete" = (
/obj/machinery/vending/coffee,
/obj/effect/turf_decal/siding/wood{
@@ -16192,11 +16216,6 @@
/obj/effect/spawner/random/structure/grille,
/turf/open/floor/plating,
/area/station/maintenance/fore)
-"eyP" = (
-/obj/structure/kitchenspike,
-/obj/effect/turf_decal/weather/snow/corner,
-/turf/open/misc/ice/coldroom,
-/area/station/service/kitchen/coldroom)
"eyR" = (
/obj/machinery/processor/slime,
/obj/structure/window/reinforced/spawner/directional/south,
@@ -17493,6 +17512,15 @@
/obj/structure/cable,
/turf/open/floor/catwalk_floor/iron_smooth,
/area/station/maintenance/starboard/fore)
+"eTX" = (
+/obj/structure/rack,
+/obj/item/pickaxe,
+/obj/item/toy/figure/chef,
+/obj/structure/sign/warning/cold_temp/directional/north,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden,
+/turf/open/floor/plating,
+/area/station/service/kitchen/coldroom)
"eTY" = (
/obj/machinery/recharge_station,
/obj/effect/turf_decal/stripes/box,
@@ -17813,25 +17841,6 @@
/obj/structure/sign/flag/ssc/directional/north,
/turf/open/floor/iron,
/area/station/commons/fitness)
-"eXD" = (
-/obj/structure/minecart_rail{
- dir = 4
- },
-/obj/structure/cable,
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/machinery/door/poddoor/shutters{
- dir = 4;
- id = "minecraft_shutter";
- name = "Cart Shutters"
- },
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/iron/textured,
-/area/station/service/hydroponics)
"eXH" = (
/turf/closed/wall/r_wall,
/area/station/medical/chemistry)
@@ -18616,13 +18625,6 @@
/obj/machinery/ntnet_relay,
/turf/open/floor/circuit/telecomms/mainframe,
/area/station/tcommsat/server)
-"fja" = (
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
-/turf/open/floor/plating/snowed/coldroom,
-/area/station/service/kitchen/coldroom)
"fjg" = (
/obj/machinery/shower/directional/west,
/obj/effect/turf_decal/trimline/blue,
@@ -20609,6 +20611,10 @@
},
/turf/open/floor/plating/snowed/smoothed/icemoon,
/area/icemoon/underground/explored)
+"fOM" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/lesser)
"fOR" = (
/obj/structure/disposalpipe/trunk,
/obj/machinery/airalarm/directional/east,
@@ -22465,17 +22471,6 @@
},
/turf/open/floor/iron/white/side,
/area/mine/living_quarters)
-"gpt" = (
-/obj/machinery/button/door/directional/east{
- id = "kanyewest";
- name = "Privacy Shutters"
- },
-/obj/structure/chair/office{
- dir = 8
- },
-/obj/machinery/firealarm/directional/south,
-/turf/open/floor/iron/grimy,
-/area/station/security/detectives_office)
"gpB" = (
/obj/structure/cable,
/turf/open/floor/plating,
@@ -22850,26 +22845,6 @@
/obj/machinery/newscaster/directional/west,
/turf/open/floor/iron/dark,
/area/station/service/chapel)
-"gvX" = (
-/obj/structure/table/glass,
-/obj/item/storage/medkit/fire{
- pixel_x = 3;
- pixel_y = 3
- },
-/obj/item/storage/medkit/fire,
-/obj/item/storage/medkit/regular{
- pixel_x = -3;
- pixel_y = -3
- },
-/obj/machinery/door/window/left/directional/east{
- name = "First-Aid Supplies";
- req_access = list("medical")
- },
-/obj/effect/turf_decal/tile/blue/full,
-/obj/machinery/light/cold/directional/west,
-/obj/effect/mapping_helpers/airlock/red_alert_access,
-/turf/open/floor/iron/dark/smooth_large,
-/area/station/medical/storage)
"gwl" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/obj/effect/turf_decal/tile/red{
@@ -23406,6 +23381,19 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/fore)
+"gDC" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 4
+ },
+/obj/structure/minecart_rail{
+ dir = 1
+ },
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 8
+ },
+/turf/open/floor/plating/snowed/coldroom,
+/area/station/service/kitchen/coldroom)
"gDE" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -23597,6 +23585,11 @@
},
/turf/open/floor/iron/dark,
/area/station/medical/storage)
+"gGX" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible,
+/obj/effect/spawner/structure/window/reinforced/tinted,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/lesser)
"gGZ" = (
/obj/machinery/computer/bank_machine,
/obj/effect/turf_decal/bot_white,
@@ -23747,6 +23740,13 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/iron,
/area/station/engineering/atmos/storage)
+"gJx" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 10
+ },
+/obj/machinery/status_display/ai/directional/east,
+/turf/open/floor/plating/snowed/coldroom,
+/area/station/service/kitchen/coldroom)
"gJz" = (
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
@@ -24375,23 +24375,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
-"gTr" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/door/poddoor/shutters{
- dir = 1;
- id = "minecraft_shutter";
- name = "Cart Shutters"
- },
-/obj/structure/minecart_rail{
- dir = 1
- },
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/iron/textured,
-/area/station/service/kitchen/coldroom)
"gTw" = (
/obj/structure/railing{
dir = 8
@@ -24583,18 +24566,6 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/aft/greater)
-"gWi" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/mapping_helpers/airlock/access/all/service/kitchen,
-/obj/machinery/door/airlock/freezer{
- desc = "The freezer where the chef keeps all the stuff that needs to be kept cold. Ice cold.";
- name = "The Ice Box"
- },
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/plating,
-/area/station/service/kitchen/coldroom)
"gWn" = (
/obj/machinery/atmospherics/components/trinary/filter/flipped{
dir = 4;
@@ -24788,6 +24759,11 @@
/obj/structure/lattice/catwalk,
/turf/open/openspace,
/area/station/service/kitchen/coldroom)
+"gYW" = (
+/obj/structure/chair/stool/directional/west,
+/obj/effect/spawner/random/trash/cigbutt,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/lesser)
"gZb" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply,
@@ -25444,6 +25420,15 @@
/obj/machinery/barsign/directional/north,
/turf/open/floor/wood/large,
/area/station/hallway/primary/starboard)
+"hkE" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/mapping_helpers/airlock/access/all/service/kitchen,
+/obj/machinery/door/airlock/maintenance{
+ name = "Kitchen Maintenance"
+ },
+/turf/open/floor/plating,
+/area/station/service/kitchen/coldroom)
"hkI" = (
/obj/machinery/light/small/directional/west,
/obj/structure/table,
@@ -26468,16 +26453,6 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/security/brig/entrance)
-"hAj" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
- dir = 4
- },
-/obj/effect/turf_decal/weather/snow/corner,
-/turf/open/floor/plating/snowed/coldroom,
-/area/station/service/kitchen/coldroom)
"hAl" = (
/obj/machinery/door/firedoor{
dir = 8
@@ -26789,11 +26764,6 @@
/obj/structure/closet/emcloset,
/turf/open/floor/iron/dark,
/area/mine/eva)
-"hEv" = (
-/obj/structure/chair/stool/directional/west,
-/obj/effect/spawner/random/trash/cigbutt,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/lesser)
"hED" = (
/obj/effect/turf_decal/stripes/line{
dir = 9
@@ -27001,13 +26971,6 @@
},
/turf/open/floor/iron/dark/smooth_half,
/area/station/medical/morgue)
-"hHD" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/obj/item/wallframe/camera,
-/turf/open/floor/plating,
-/area/station/construction)
"hHG" = (
/turf/open/cliff/snowrock,
/area/icemoon/surface/outdoors/nospawn)
@@ -28142,6 +28105,29 @@
/obj/effect/landmark/navigate_destination/disposals,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
+"hYs" = (
+/obj/structure/rack,
+/obj/item/lighter,
+/obj/item/clothing/glasses/meson{
+ pixel_y = 4
+ },
+/obj/item/stock_parts/power_store/cell/high,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/item/computer_disk/engineering{
+ pixel_x = 4;
+ pixel_y = 3
+ },
+/obj/item/computer_disk/engineering{
+ pixel_x = 4;
+ pixel_y = 3
+ },
+/obj/item/computer_disk/engineering{
+ pixel_x = 4;
+ pixel_y = 3
+ },
+/obj/item/reagent_containers/applicator/patch/aiuri,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/ce)
"hYy" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 4
@@ -29590,6 +29576,10 @@
},
/turf/open/floor/iron/dark,
/area/mine/eva)
+"ith" = (
+/obj/structure/table/wood,
+/turf/open/floor/wood,
+/area/station/command/heads_quarters/captain)
"itj" = (
/turf/open/floor/iron/white,
/area/station/science/genetics)
@@ -29775,15 +29765,6 @@
},
/turf/open/floor/wood,
/area/station/service/library)
-"iwd" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 8
- },
-/obj/machinery/airalarm/directional/east,
-/obj/structure/bed/dogbed/renault,
-/mob/living/basic/pet/fox/renault,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/captain)
"iwf" = (
/turf/closed/wall/r_wall,
/area/mine/mechbay)
@@ -30071,15 +30052,6 @@
/obj/effect/turf_decal/tile/yellow/opposingcorners,
/turf/open/floor/iron/white,
/area/station/maintenance/port/fore)
-"iBi" = (
-/obj/structure/table,
-/obj/item/food/grown/carrot,
-/obj/item/food/grown/carrot{
- pixel_x = -2;
- pixel_y = 4
- },
-/turf/open/floor/plating/snowed/coldroom,
-/area/station/service/kitchen/coldroom)
"iBl" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -30528,19 +30500,6 @@
},
/turf/open/floor/carpet/lone,
/area/station/service/chapel)
-"iKd" = (
-/obj/effect/turf_decal/siding/white,
-/obj/effect/turf_decal/siding/white{
- dir = 1
- },
-/obj/structure/closet/chefcloset,
-/obj/item/clothing/suit/hooded/wintercoat,
-/obj/item/clothing/suit/hooded/wintercoat,
-/obj/item/clothing/suit/hooded/wintercoat,
-/obj/structure/window/spawner/directional/south,
-/obj/machinery/newscaster/directional/west,
-/turf/open/floor/plating,
-/area/station/service/kitchen/coldroom)
"iKh" = (
/obj/machinery/incident_display/delam/directional/north,
/turf/open/floor/iron/dark,
@@ -30860,6 +30819,14 @@
/obj/effect/spawner/random/structure/steam_vent,
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
+"iOO" = (
+/obj/structure/table,
+/obj/item/stack/sheet/mineral/coal{
+ pixel_x = 6;
+ pixel_y = 3
+ },
+/turf/open/floor/plating/snowed/coldroom,
+/area/station/service/kitchen/coldroom)
"iOS" = (
/obj/machinery/airalarm/directional/east,
/obj/structure/table,
@@ -31201,26 +31168,6 @@
/obj/structure/sign/warning/docking/directional/north,
/turf/open/floor/plating,
/area/station/maintenance/aft/lesser)
-"iTJ" = (
-/obj/structure/table,
-/obj/item/paper_bin{
- pixel_x = -5;
- pixel_y = 3
- },
-/obj/item/pen{
- pixel_x = -5;
- pixel_y = 3
- },
-/obj/item/folder/white{
- pixel_x = 2
- },
-/obj/machinery/firealarm/directional/south,
-/obj/item/radio/headset/headset_medsci{
- pixel_x = 16;
- pixel_y = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/science/genetics)
"iTP" = (
/obj/item/reagent_containers/cup/bucket,
/obj/effect/turf_decal/trimline/green/filled/line,
@@ -33412,11 +33359,6 @@
/obj/machinery/computer/security/telescreen/prison/directional/north,
/turf/open/floor/iron/showroomfloor,
/area/station/security/warden)
-"jBB" = (
-/obj/machinery/atmospherics/pipe/heat_exchanging/junction,
-/obj/effect/spawner/structure/window,
-/turf/open/floor/plating,
-/area/station/service/kitchen/coldroom)
"jBR" = (
/obj/machinery/atmospherics/components/unary/thermomachine/heater{
dir = 8
@@ -34730,22 +34672,6 @@
dir = 1
},
/area/station/engineering/atmos)
-"jTZ" = (
-/obj/machinery/door/airlock/command/glass{
- name = "Server Room"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/rd,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/iron/dark,
-/area/station/science/server)
-"jUb" = (
-/obj/structure/table,
-/obj/item/stack/sheet/mineral/coal{
- pixel_x = 6;
- pixel_y = 3
- },
-/turf/open/floor/plating/snowed/coldroom,
-/area/station/service/kitchen/coldroom)
"jUi" = (
/obj/effect/turf_decal/siding/wood/corner{
dir = 1
@@ -36470,6 +36396,20 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark/textured,
/area/station/commons/fitness)
+"ksm" = (
+/obj/structure/window/reinforced/spawner/directional/north,
+/obj/structure/window/reinforced/spawner/directional/east,
+/obj/machinery/door/window/right/directional/south{
+ name = "First-Aid Supplies";
+ req_access = list("medical")
+ },
+/obj/structure/table/glass,
+/obj/item/mod/module/plasma_stabilizer,
+/obj/item/mod/module/thermal_regulator,
+/obj/effect/turf_decal/tile/blue/full,
+/obj/item/mod/module/signlang_radio,
+/turf/open/floor/iron/dark/smooth_large,
+/area/station/medical/storage)
"ksn" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/brown/half/contrasted{
@@ -36855,26 +36795,6 @@
/obj/structure/sign/poster/contraband/random/directional/north,
/turf/open/floor/plating,
/area/station/maintenance/starboard/lesser)
-"kyY" = (
-/obj/structure/table/glass,
-/obj/item/storage/medkit/toxin{
- pixel_x = 3;
- pixel_y = 3
- },
-/obj/item/storage/medkit/toxin,
-/obj/item/storage/medkit/regular{
- pixel_x = -3;
- pixel_y = -3
- },
-/obj/structure/window/reinforced/spawner/directional/east,
-/obj/machinery/door/window/right/directional/north{
- name = "First-Aid Supplies";
- req_access = list("medical")
- },
-/obj/effect/turf_decal/tile/blue/full,
-/obj/effect/mapping_helpers/airlock/red_alert_access,
-/turf/open/floor/iron/dark/smooth_large,
-/area/station/medical/storage)
"kzv" = (
/obj/structure/bed,
/obj/effect/spawner/random/bedsheet/any,
@@ -37344,6 +37264,15 @@
},
/turf/open/floor/iron,
/area/station/command/heads_quarters/hop)
+"kFX" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
+ },
+/obj/machinery/airalarm/directional/east,
+/obj/structure/bed/dogbed/renault,
+/mob/living/basic/pet/fox/renault,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/captain)
"kGc" = (
/obj/structure/table/wood,
/obj/structure/cable,
@@ -37418,6 +37347,16 @@
/obj/item/stamp/head/qm,
/turf/open/floor/carpet,
/area/station/command/heads_quarters/qm)
+"kGS" = (
+/obj/effect/turf_decal/siding/white{
+ dir = 5
+ },
+/obj/effect/turf_decal/siding/white,
+/obj/structure/closet/emcloset,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible,
+/obj/structure/window/spawner/directional/south,
+/turf/open/floor/plating,
+/area/station/service/kitchen/coldroom)
"kHb" = (
/obj/structure/closet/secure_closet/personal{
anchored = 1
@@ -37494,6 +37433,18 @@
},
/turf/open/floor/plating,
/area/station/ai_monitored/turret_protected/aisat/service)
+"kIf" = (
+/obj/structure/minecart_rail{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 1
+ },
+/obj/machinery/light/small/red/directional/north,
+/obj/structure/sign/warning/directional/north,
+/turf/open/floor/plating/snowed/coldroom,
+/area/icemoon/underground/explored)
"kIh" = (
/obj/effect/turf_decal/tile/blue{
dir = 4
@@ -38289,18 +38240,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/pink,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"kUo" = (
-/obj/machinery/power/apc/auto_name/directional/west,
-/obj/structure/cable,
-/obj/machinery/light/cold/directional/west,
-/obj/structure/railing/corner/end/flip{
- dir = 4
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/turf/open/floor/iron/freezer,
-/area/station/service/kitchen/coldroom)
"kUt" = (
/obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2,
/obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4,
@@ -40188,6 +40127,26 @@
},
/turf/open/floor/iron,
/area/station/service/hydroponics)
+"lvh" = (
+/obj/structure/table,
+/obj/item/paper_bin{
+ pixel_x = -5;
+ pixel_y = 3
+ },
+/obj/item/pen{
+ pixel_x = -5;
+ pixel_y = 3
+ },
+/obj/item/folder/white{
+ pixel_x = 2
+ },
+/obj/machinery/firealarm/directional/south,
+/obj/item/radio/headset/headset_medsci{
+ pixel_x = 16;
+ pixel_y = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/science/genetics)
"lvk" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -40243,6 +40202,23 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
+"lvJ" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/door/poddoor/shutters{
+ dir = 1;
+ id = "minecraft_shutter";
+ name = "Cart Shutters"
+ },
+/obj/structure/minecart_rail{
+ dir = 1
+ },
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/iron/textured,
+/area/station/service/kitchen/coldroom)
"lvQ" = (
/obj/machinery/light/small/directional/east,
/obj/effect/decal/cleanable/dirt,
@@ -40710,6 +40686,17 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
+"lCm" = (
+/obj/structure/disposalpipe/sorting/mail/flip{
+ dir = 1
+ },
+/obj/effect/mapping_helpers/mail_sorting/service/hydroponics,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/spawner/random/trash/cigbutt,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/lesser)
"lCn" = (
/obj/effect/turf_decal/siding/wood/corner{
dir = 4
@@ -41497,17 +41484,6 @@
/obj/structure/falsewall,
/turf/open/floor/plating,
/area/station/medical/morgue)
-"lOA" = (
-/obj/structure/minecart_rail{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
- dir = 6
- },
-/obj/item/radio/intercom/directional/north,
-/obj/machinery/status_display/evac/directional/west,
-/turf/open/floor/plating/snowed/coldroom,
-/area/station/service/kitchen/coldroom)
"lOI" = (
/obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer1{
dir = 5
@@ -41750,6 +41726,14 @@
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/station/hallway/secondary/entry)
+"lRi" = (
+/obj/machinery/door/airlock/command/glass{
+ name = "Server Room"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/rd,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/iron/dark,
+/area/station/science/server)
"lRj" = (
/obj/effect/turf_decal/tile/neutral{
dir = 1
@@ -41898,6 +41882,17 @@
initial_gas_mix = "ICEMOON_ATMOS"
},
/area/icemoon/underground/explored/graveyard)
+"lTn" = (
+/obj/machinery/button/door/directional/east{
+ id = "detShutter";
+ name = "Privacy Shutters"
+ },
+/obj/structure/chair/office{
+ dir = 8
+ },
+/obj/machinery/firealarm/directional/south,
+/turf/open/floor/iron/grimy,
+/area/station/security/detectives_office)
"lTC" = (
/obj/structure/chair/comfy/brown{
dir = 4
@@ -42575,6 +42570,11 @@
},
/turf/open/floor/iron/dark,
/area/station/medical/morgue)
+"meN" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/lesser)
"meT" = (
/obj/machinery/atmospherics/components/binary/pump{
dir = 8;
@@ -43398,29 +43398,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/engineering/atmos/storage)
-"mta" = (
-/obj/structure/rack,
-/obj/item/lighter,
-/obj/item/clothing/glasses/meson{
- pixel_y = 4
- },
-/obj/item/stock_parts/power_store/cell/high,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/item/computer_disk/engineering{
- pixel_x = 4;
- pixel_y = 3
- },
-/obj/item/computer_disk/engineering{
- pixel_x = 4;
- pixel_y = 3
- },
-/obj/item/computer_disk/engineering{
- pixel_x = 4;
- pixel_y = 3
- },
-/obj/item/reagent_containers/pill/patch/aiuri,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/ce)
"mtn" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
@@ -43565,20 +43542,6 @@
"mvv" = (
/turf/open/floor/wood,
/area/station/security/courtroom)
-"mvw" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/command/glass{
- name = "EVA Storage"
- },
-/obj/effect/mapping_helpers/airlock/access/all/command/eva,
-/obj/effect/turf_decal/siding/dark_blue{
- dir = 1
- },
-/obj/effect/turf_decal/siding/dark_blue,
-/obj/structure/cable,
-/obj/effect/mapping_helpers/airlock/red_alert_access,
-/turf/open/floor/iron/dark/textured,
-/area/station/ai_monitored/command/storage/eva)
"mvG" = (
/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{
dir = 8
@@ -44672,6 +44635,24 @@
},
/turf/open/floor/iron/cafeteria,
/area/station/security/prison/work)
+"mMa" = (
+/obj/structure/table/glass,
+/obj/effect/spawner/random/entertainment/deck{
+ pixel_x = -6
+ },
+/obj/item/reagent_containers/condiment/saltshaker{
+ pixel_x = 7;
+ pixel_y = 9
+ },
+/obj/item/reagent_containers/condiment/peppermill{
+ pixel_x = 7;
+ pixel_y = 5
+ },
+/obj/effect/turf_decal/tile/brown/half/contrasted{
+ dir = 1
+ },
+/turf/open/floor/iron/white,
+/area/station/medical/break_room)
"mMb" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -44912,12 +44893,6 @@
dir = 4
},
/area/station/command/gateway)
-"mQk" = (
-/obj/effect/turf_decal/weather/snow/corner{
- dir = 10
- },
-/turf/open/floor/plating/snowed/coldroom,
-/area/station/service/kitchen/coldroom)
"mQq" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 1
@@ -45298,6 +45273,18 @@
},
/turf/open/floor/plating,
/area/station/hallway/secondary/entry)
+"mXV" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/mapping_helpers/airlock/access/all/service/kitchen,
+/obj/machinery/door/airlock/freezer{
+ desc = "The freezer where the chef keeps all the stuff that needs to be kept cold. Ice cold.";
+ name = "The Ice Box"
+ },
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/plating,
+/area/station/service/kitchen/coldroom)
"mYh" = (
/turf/open/floor/iron/dark,
/area/station/ai_monitored/turret_protected/ai)
@@ -45377,6 +45364,16 @@
},
/turf/open/floor/engine,
/area/station/engineering/atmos/hfr_room)
+"mYQ" = (
+/obj/machinery/door/airlock/research/glass{
+ name = "Kill Chamber";
+ normalspeed = 0
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible,
+/obj/effect/mapping_helpers/airlock/access/all/science/xenobio,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/iron/freezer,
+/area/station/science/xenobiology)
"mYR" = (
/obj/machinery/fishing_portal_generator,
/turf/open/floor/wood,
@@ -45470,6 +45467,12 @@
/obj/item/storage/box/matches,
/turf/open/floor/carpet,
/area/station/command/heads_quarters/captain)
+"mZX" = (
+/obj/machinery/airalarm/directional/north,
+/obj/effect/mapping_helpers/airalarm/tlv_cold_room,
+/obj/item/radio/intercom/directional/west,
+/turf/open/floor/iron/freezer,
+/area/station/service/kitchen/coldroom)
"nae" = (
/obj/machinery/door/poddoor/preopen{
id = "maint1"
@@ -45940,10 +45943,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/aft/greater)
-"nfL" = (
-/obj/machinery/holopad/secure,
-/turf/open/floor/wood,
-/area/station/command/heads_quarters/captain)
"nfS" = (
/obj/machinery/door/morgue{
dir = 4;
@@ -47987,6 +47986,11 @@
},
/turf/open/floor/iron,
/area/station/engineering/main)
+"nHi" = (
+/obj/structure/flora/rock/pile/icy/style_random,
+/obj/structure/kitchenspike,
+/turf/open/misc/asteroid/snow/coldroom,
+/area/station/service/kitchen/coldroom)
"nHj" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -48183,13 +48187,6 @@
/obj/item/flashlight/lamp,
/turf/open/floor/iron/dark,
/area/station/security/interrogation)
-"nKT" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 8
- },
-/obj/structure/displaycase/captain,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/captain)
"nKV" = (
/obj/structure/window/reinforced/spawner/directional/east,
/obj/effect/turf_decal/siding/white{
@@ -48732,17 +48729,6 @@
/obj/machinery/light/floor,
/turf/open/floor/iron,
/area/station/security/brig/upper)
-"nRn" = (
-/obj/machinery/door/window/left/directional/south{
- name = "The Ice Box";
- req_access = list("kitchen")
- },
-/obj/effect/turf_decal/siding/white,
-/obj/machinery/atmospherics/components/binary/valve/on{
- dir = 4
- },
-/turf/open/floor/iron/freezer,
-/area/station/service/kitchen/coldroom)
"nRq" = (
/obj/structure/closet/crate,
/obj/effect/spawner/random/bureaucracy/birthday_wrap,
@@ -48769,13 +48755,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/catwalk_floor/iron_smooth,
/area/station/maintenance/port/lesser)
-"nRE" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/lesser)
"nRV" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/extinguisher_cabinet/directional/south,
@@ -49024,19 +49003,6 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/iron/white,
/area/station/science/robotics/lab)
-"nVJ" = (
-/obj/machinery/door/airlock/freezer{
- desc = "The freezer where the chef keeps all the stuff that needs to be kept cold. Ice cold.";
- name = "The Ice Box"
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/effect/mapping_helpers/airlock/access/all/service/kitchen,
-/obj/structure/cable,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/plating,
-/area/station/service/kitchen/coldroom)
"nVR" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/cafeteria{
@@ -50395,6 +50361,21 @@
},
/turf/open/floor/iron/dark,
/area/station/science/ordnance/office)
+"opD" = (
+/obj/structure/table,
+/obj/item/storage/pill_bottle/mutadone{
+ pixel_x = 11;
+ pixel_y = 7
+ },
+/obj/item/reagent_containers/spray/cleaner{
+ pixel_x = 2
+ },
+/obj/item/flesh_shears{
+ pixel_y = 5;
+ pixel_x = -10
+ },
+/turf/open/floor/iron/dark,
+/area/station/science/genetics)
"opE" = (
/obj/structure/railing{
dir = 1
@@ -50469,15 +50450,6 @@
/obj/effect/landmark/start/station_engineer,
/turf/open/floor/iron,
/area/station/engineering/main)
-"oqE" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/mapping_helpers/airlock/access/all/service/kitchen,
-/obj/machinery/door/airlock/maintenance{
- name = "Kitchen Maintenance"
- },
-/turf/open/floor/plating,
-/area/station/service/kitchen/coldroom)
"oqJ" = (
/obj/structure/sign/warning/docking/directional/north,
/obj/structure/flora/grass/green/style_random,
@@ -51987,6 +51959,16 @@
/obj/effect/spawner/random/maintenance/four,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
+"oJj" = (
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/spawner/random/trash/cigbutt,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/lesser)
"oJk" = (
/obj/structure/railing/corner,
/obj/effect/turf_decal/tile/brown,
@@ -52360,16 +52342,6 @@
/obj/machinery/igniter/incinerator_ordmix,
/turf/open/floor/engine/vacuum,
/area/station/science/ordnance/burnchamber)
-"oPC" = (
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/spawner/random/trash/cigbutt,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/lesser)
"oPI" = (
/turf/open/floor/circuit,
/area/station/ai_monitored/command/nuke_storage)
@@ -52861,16 +52833,6 @@
"oXq" = (
/turf/open/floor/iron/white,
/area/station/medical/cryo)
-"oXr" = (
-/obj/machinery/door/airlock/research/glass{
- name = "Kill Chamber";
- normalspeed = 0
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible,
-/obj/effect/mapping_helpers/airlock/access/all/science/xenobio,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/iron/freezer,
-/area/station/science/xenobiology)
"oXx" = (
/obj/machinery/mass_driver/trash{
dir = 1
@@ -52991,6 +52953,13 @@
},
/turf/open/floor/iron,
/area/station/science/explab)
+"oZw" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/obj/item/wallframe/camera,
+/turf/open/floor/plating,
+/area/station/construction)
"oZz" = (
/obj/effect/turf_decal/trimline/red/filled/line{
dir = 4
@@ -53951,18 +53920,6 @@
},
/turf/open/floor/iron,
/area/station/service/kitchen/coldroom)
-"pnw" = (
-/obj/structure/cable,
-/obj/structure/railing{
- dir = 1
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden,
-/turf/open/floor/iron/freezer,
-/area/station/service/kitchen/coldroom)
"pnA" = (
/obj/machinery/airalarm/directional/north,
/obj/structure/rack,
@@ -54242,16 +54199,6 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/science/xenobiology)
-"prX" = (
-/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
- dir = 9
- },
-/obj/machinery/light/cold/directional/east,
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/turf/open/floor/plating/snowed/coldroom,
-/area/station/service/kitchen/coldroom)
"psb" = (
/turf/closed/wall/ice,
/area/icemoon/underground/explored)
@@ -54968,17 +54915,6 @@
/obj/machinery/duct,
/turf/open/floor/iron/freezer,
/area/station/commons/toilet)
-"pBv" = (
-/obj/structure/disposalpipe/sorting/mail/flip{
- dir = 1
- },
-/obj/effect/mapping_helpers/mail_sorting/service/hydroponics,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/spawner/random/trash/cigbutt,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/lesser)
"pBA" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -56094,6 +56030,13 @@
/obj/structure/sign/warning/cold_temp/directional/north,
/turf/open/floor/plating/snowed/icemoon,
/area/icemoon/surface/outdoors/nospawn)
+"pSR" = (
+/obj/effect/spawner/structure/window/reinforced/tinted,
+/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/lesser)
"pTd" = (
/obj/structure/table/reinforced,
/obj/machinery/door/poddoor/shutters/preopen{
@@ -56334,12 +56277,6 @@
},
/turf/open/genturf,
/area/icemoon/surface/outdoors/unexplored/rivers/no_monsters)
-"pWE" = (
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/lesser)
"pWJ" = (
/obj/effect/turf_decal/siding/thinplating/dark{
dir = 8
@@ -58452,6 +58389,16 @@
},
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
+"qCg" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 4
+ },
+/obj/effect/turf_decal/weather/snow/corner,
+/turf/open/floor/plating/snowed/coldroom,
+/area/station/service/kitchen/coldroom)
"qCl" = (
/obj/effect/spawner/random/trash/mess,
/obj/structure/disposalpipe/segment{
@@ -59379,10 +59326,6 @@
"qOl" = (
/turf/open/floor/wood,
/area/station/maintenance/port/aft)
-"qOo" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/lesser)
"qOu" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
@@ -59882,6 +59825,15 @@
/obj/structure/extinguisher_cabinet/directional/north,
/turf/open/floor/iron/grimy,
/area/station/service/bar/backroom)
+"qUJ" = (
+/obj/structure/table,
+/obj/item/food/grown/carrot,
+/obj/item/food/grown/carrot{
+ pixel_x = -2;
+ pixel_y = 4
+ },
+/turf/open/floor/plating/snowed/coldroom,
+/area/station/service/kitchen/coldroom)
"qUL" = (
/obj/structure/closet/emcloset,
/obj/effect/spawner/random/maintenance/two,
@@ -60454,6 +60406,14 @@
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/hallway/primary/central)
+"rcG" = (
+/obj/structure/minecart_rail{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/weather/snow/corner,
+/turf/open/floor/plating/snowed/coldroom,
+/area/icemoon/underground/explored)
"rcP" = (
/obj/effect/turf_decal/bot_white/right,
/obj/effect/turf_decal/tile/neutral/fourcorners,
@@ -61793,13 +61753,6 @@
/obj/item/clothing/suit/apron/chef,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/morgue)
-"rwN" = (
-/obj/effect/spawner/structure/window/reinforced/tinted,
-/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden{
- dir = 4
- },
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/lesser)
"rwR" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/status_display/evac/directional/west,
@@ -62119,6 +62072,18 @@
"rBV" = (
/turf/closed/wall,
/area/station/tcommsat/computer)
+"rCc" = (
+/obj/structure/cable,
+/obj/structure/railing{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden,
+/turf/open/floor/iron/freezer,
+/area/station/service/kitchen/coldroom)
"rCe" = (
/obj/structure/toilet{
dir = 4
@@ -62508,11 +62473,6 @@
},
/turf/open/floor/iron/white,
/area/station/medical/pharmacy)
-"rGI" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible,
-/obj/effect/spawner/structure/window/reinforced/tinted,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/lesser)
"rGY" = (
/obj/machinery/airalarm/directional/east,
/obj/structure/table,
@@ -62924,11 +62884,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating,
/area/station/service/kitchen/coldroom)
-"rOx" = (
-/obj/structure/flora/rock/pile/icy/style_random,
-/obj/structure/kitchenspike,
-/turf/open/misc/asteroid/snow/coldroom,
-/area/station/service/kitchen/coldroom)
"rOA" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -63154,20 +63109,6 @@
/obj/structure/railing,
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
-"rRT" = (
-/obj/structure/cable,
-/obj/structure/minecart_rail{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
- dir = 5
- },
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/machinery/light/cold/directional/west,
-/turf/open/floor/plating/snowed/coldroom,
-/area/station/service/kitchen/coldroom)
"rSe" = (
/obj/structure/rack,
/obj/effect/spawner/random/clothing/costume,
@@ -63237,6 +63178,10 @@
"rTz" = (
/turf/open/floor/plating/icemoon,
/area/station/science/ordnance/bomb/planet)
+"rTA" = (
+/obj/effect/spawner/structure/window,
+/turf/open/floor/plating,
+/area/station/service/kitchen/coldroom)
"rTM" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/cable,
@@ -65232,6 +65177,25 @@
/obj/machinery/firealarm/directional/east,
/turf/open/floor/iron,
/area/station/command/heads_quarters/hop)
+"suP" = (
+/obj/structure/minecart_rail{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/door/poddoor/shutters{
+ dir = 4;
+ id = "minecraft_shutter";
+ name = "Cart Shutters"
+ },
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/iron/textured,
+/area/station/service/hydroponics)
"suR" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -65370,6 +65334,16 @@
/obj/machinery/atmospherics/pipe/smart/simple/orange/visible,
/turf/open/floor/plating/snowed/icemoon,
/area/icemoon/surface/outdoors/nospawn)
+"sww" = (
+/obj/machinery/door/firedoor,
+/obj/structure/cable,
+/obj/machinery/door/airlock/command/glass{
+ name = "Emergency EVA Storage"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/command/eva,
+/obj/effect/mapping_helpers/airlock/red_alert_access,
+/turf/open/floor/iron/textured,
+/area/station/hallway/secondary/exit/departure_lounge)
"swx" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/portable_atmospherics/canister,
@@ -66141,6 +66115,11 @@
/obj/structure/grille/broken,
/turf/open/floor/plating,
/area/station/maintenance/aft/lesser)
+"sGN" = (
+/obj/structure/kitchenspike,
+/obj/effect/turf_decal/weather/snow/corner,
+/turf/open/misc/ice/coldroom,
+/area/station/service/kitchen/coldroom)
"sGT" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on,
/turf/open/floor/engine/vacuum,
@@ -67577,15 +67556,6 @@
},
/turf/open/floor/iron/dark,
/area/station/commons/storage/primary)
-"tec" = (
-/obj/structure/cable,
-/obj/structure/railing{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible,
-/turf/open/floor/iron/freezer,
-/area/station/service/kitchen/coldroom)
"tei" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/carpet/red,
@@ -67768,6 +67738,12 @@
/mob/living/simple_animal/bot/secbot/beepsky/armsky,
/turf/open/floor/iron/dark/textured,
/area/station/ai_monitored/security/armory)
+"tgU" = (
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 10
+ },
+/turf/open/floor/plating/snowed/coldroom,
+/area/station/service/kitchen/coldroom)
"thA" = (
/turf/open/genturf/blue,
/area/icemoon/underground/unexplored/rivers/deep/shoreline)
@@ -68388,22 +68364,6 @@
"tpH" = (
/turf/closed/wall,
/area/station/security/execution/education)
-"tpN" = (
-/obj/structure/sign/nanotrasen{
- pixel_x = 32
- },
-/obj/effect/turf_decal/siding/wood{
- dir = 8
- },
-/obj/structure/table/wood,
-/obj/item/storage/photo_album{
- pixel_y = -1
- },
-/obj/item/camera{
- pixel_x = -4
- },
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/captain)
"tpO" = (
/obj/effect/turf_decal/siding/wood{
dir = 6
@@ -68949,11 +68909,6 @@
/obj/structure/chair/office,
/turf/open/floor/wood,
/area/station/service/library)
-"tyA" = (
-/obj/effect/decal/cleanable/dirt/dust,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible,
-/turf/open/floor/plating,
-/area/station/maintenance/starboard/lesser)
"tyK" = (
/obj/item/mop,
/obj/item/reagent_containers/cup/bucket,
@@ -69160,6 +69115,13 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/engineering/atmos/mix)
+"tCK" = (
+/obj/structure/sign/poster/greenscreen/directional/east,
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/captain)
"tCL" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -69263,6 +69225,17 @@
/obj/effect/spawner/random/structure/closet_maintenance,
/turf/open/floor/plating,
/area/station/maintenance/aft/greater)
+"tEf" = (
+/obj/structure/minecart_rail{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 6
+ },
+/obj/item/radio/intercom/directional/north,
+/obj/machinery/status_display/evac/directional/west,
+/turf/open/floor/plating/snowed/coldroom,
+/area/station/service/kitchen/coldroom)
"tEi" = (
/obj/structure/sink/directional/south,
/turf/open/floor/iron,
@@ -70482,12 +70455,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/engineering/atmos/hfr_room)
-"tVF" = (
-/obj/machinery/airalarm/directional/north,
-/obj/effect/mapping_helpers/airalarm/tlv_cold_room,
-/obj/item/radio/intercom/directional/west,
-/turf/open/floor/iron/freezer,
-/area/station/service/kitchen/coldroom)
"tWc" = (
/obj/structure/reagent_dispensers/watertank,
/obj/effect/spawner/random/trash/soap,
@@ -71069,6 +71036,10 @@
},
/turf/open/floor/engine,
/area/station/engineering/atmos/hfr_room)
+"ueZ" = (
+/obj/machinery/holopad/secure,
+/turf/open/floor/wood,
+/area/station/command/heads_quarters/captain)
"ufb" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible,
/obj/structure/sign/warning/secure_area/directional/north,
@@ -71078,6 +71049,17 @@
/obj/machinery/firealarm/directional/north,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
+"ufl" = (
+/obj/structure/cable,
+/obj/structure/railing{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/components/binary/pump/on/general/hidden{
+ dir = 8
+ },
+/turf/open/floor/iron/freezer,
+/area/station/service/kitchen/coldroom)
"ufm" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 4
@@ -71145,16 +71127,6 @@
/obj/item/radio/intercom/directional/east,
/turf/open/floor/iron,
/area/station/maintenance/department/electrical)
-"ugO" = (
-/obj/machinery/door/firedoor,
-/obj/structure/cable,
-/obj/machinery/door/airlock/command/glass{
- name = "Emergency EVA Storage"
- },
-/obj/effect/mapping_helpers/airlock/access/all/command/eva,
-/obj/effect/mapping_helpers/airlock/red_alert_access,
-/turf/open/floor/iron/textured,
-/area/station/hallway/secondary/exit/departure_lounge)
"ugP" = (
/obj/effect/turf_decal/siding/red{
dir = 4
@@ -72718,6 +72690,13 @@
/obj/structure/grille,
/turf/open/floor/plating,
/area/station/maintenance/department/chapel)
+"uDu" = (
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
+/turf/open/floor/plating/snowed/coldroom,
+/area/station/service/kitchen/coldroom)
"uDv" = (
/obj/effect/turf_decal/siding/white{
dir = 8
@@ -73171,10 +73150,6 @@
/obj/item/radio/intercom/directional/south,
/turf/open/floor/iron,
/area/station/commons/dorms)
-"uKS" = (
-/obj/structure/table/wood,
-/turf/open/floor/wood,
-/area/station/command/heads_quarters/captain)
"uKW" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable,
@@ -74217,16 +74192,6 @@
/obj/effect/turf_decal/siding/blue,
/turf/open/floor/iron/cafeteria,
/area/station/security/prison/work)
-"vcD" = (
-/obj/effect/turf_decal/siding/white{
- dir = 5
- },
-/obj/effect/turf_decal/siding/white,
-/obj/structure/closet/emcloset,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible,
-/obj/structure/window/spawner/directional/south,
-/turf/open/floor/plating,
-/area/station/service/kitchen/coldroom)
"vcO" = (
/obj/machinery/vending/wardrobe/chap_wardrobe,
/turf/open/floor/iron/dark,
@@ -75038,6 +75003,15 @@
/obj/structure/cable,
/turf/open/floor/iron/recharge_floor,
/area/station/security/mechbay)
+"vpv" = (
+/obj/machinery/door/window/right/directional/south{
+ name = "The Ice Box";
+ req_access = list("kitchen")
+ },
+/obj/effect/turf_decal/siding/white,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible,
+/turf/open/floor/iron/freezer,
+/area/station/service/kitchen/coldroom)
"vpx" = (
/obj/structure/sign/departments/evac/directional/north,
/turf/open/floor/iron,
@@ -75632,6 +75606,26 @@
/obj/structure/sign/warning/cold_temp/directional/north,
/turf/open/floor/iron/smooth,
/area/mine/eva/lower)
+"vxH" = (
+/obj/structure/table/glass,
+/obj/item/storage/medkit/toxin{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/storage/medkit/toxin,
+/obj/item/storage/medkit/regular{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/structure/window/reinforced/spawner/directional/east,
+/obj/machinery/door/window/right/directional/north{
+ name = "First-Aid Supplies";
+ req_access = list("medical")
+ },
+/obj/effect/turf_decal/tile/blue/full,
+/obj/effect/mapping_helpers/airlock/red_alert_access,
+/turf/open/floor/iron/dark/smooth_large,
+/area/station/medical/storage)
"vxO" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/turf_decal/siding/wood,
@@ -78965,6 +78959,16 @@
/obj/machinery/griddle,
/turf/open/floor/iron/white/smooth_large,
/area/station/service/kitchen)
+"wAK" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 9
+ },
+/obj/machinery/light/cold/directional/east,
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/turf/open/floor/plating/snowed/coldroom,
+/area/station/service/kitchen/coldroom)
"wAQ" = (
/obj/machinery/computer/shuttle/labor/one_way{
dir = 4
@@ -79466,6 +79470,11 @@
},
/turf/open/floor/iron,
/area/mine/laborcamp/security)
+"wHQ" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/lesser)
"wHX" = (
/obj/effect/turf_decal/tile/yellow{
dir = 8
@@ -82444,16 +82453,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/white,
/area/station/medical/medbay/aft)
-"xyd" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/machinery/door/poddoor/shutters/preopen{
- dir = 4;
- id = "rd_office_shutters";
- name = "Privacy Shutters"
- },
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/security/detectives_office)
"xyn" = (
/obj/machinery/door/firedoor,
/obj/effect/turf_decal/stripes/line{
@@ -83478,20 +83477,6 @@
},
/turf/open/floor/iron/cafeteria,
/area/station/security/prison/work)
-"xLW" = (
-/obj/structure/window/reinforced/spawner/directional/north,
-/obj/structure/window/reinforced/spawner/directional/east,
-/obj/machinery/door/window/right/directional/south{
- name = "First-Aid Supplies";
- req_access = list("medical")
- },
-/obj/structure/table/glass,
-/obj/item/mod/module/plasma_stabilizer,
-/obj/item/mod/module/thermal_regulator,
-/obj/effect/turf_decal/tile/blue/full,
-/obj/item/mod/module/signlang_radio,
-/turf/open/floor/iron/dark/smooth_large,
-/area/station/medical/storage)
"xMh" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible,
@@ -83569,6 +83554,15 @@
/obj/item/radio/intercom/directional/north,
/turf/open/floor/iron/grimy,
/area/station/service/theater)
+"xNA" = (
+/obj/structure/cable,
+/obj/structure/railing{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible,
+/turf/open/floor/iron/freezer,
+/area/station/service/kitchen/coldroom)
"xNC" = (
/obj/effect/turf_decal/stripes/line{
dir = 10
@@ -84663,6 +84657,12 @@
},
/turf/open/floor/iron,
/area/station/command/bridge)
+"ydn" = (
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/starboard/lesser)
"ydt" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
@@ -173868,7 +173868,7 @@ ucN
hFW
nfj
hzJ
-gpt
+lTn
ucN
iDt
iDt
@@ -174123,7 +174123,7 @@ wUj
wMt
ucN
ucN
-xyd
+dFr
irp
ucN
ucN
@@ -185721,7 +185721,7 @@ shF
qPV
wZW
exw
-eXD
+suP
exw
psb
psb
@@ -188284,7 +188284,7 @@ jre
jre
oXE
pfE
-pBv
+lCm
moX
oXE
xEV
@@ -188540,16 +188540,16 @@ fCA
fCA
ehh
jPL
-oPC
-hEv
-nRE
+oJj
+gYW
+dsI
jre
jre
jre
jre
dom
dom
-cnp
+kIf
psb
psb
qZZ
@@ -188799,14 +188799,14 @@ isq
jMr
jre
jre
-nVJ
+cQo
jre
-eyP
+sGN
rtw
-rOx
+nHi
fwB
dom
-dXr
+rcG
psb
lTl
uKc
@@ -189055,14 +189055,14 @@ jre
jre
jre
jre
-lOA
-ceQ
-rRT
+tEf
+cst
+dqz
yfs
sTl
sTl
-dEx
-gTr
+gDC
+lvJ
jgC
psb
qZZ
@@ -189308,13 +189308,13 @@ nNe
tgj
mnA
jre
-tVF
-kUo
-iKd
-ees
+mZX
+abx
+aGZ
+rTA
anW
sdF
-hAj
+qCg
fwB
fwB
fwB
@@ -189566,13 +189566,13 @@ qhb
oXE
jre
sRz
-tec
-vcD
-jBB
+xNA
+kGS
+cNy
jDF
-jUb
+iOO
rcR
-mQk
+tgU
fwB
nNg
fwB
@@ -189823,11 +189823,11 @@ jMO
oXE
jre
tAT
-btq
-nRn
-asf
+ufl
+coc
+dfr
anW
-iBi
+qUJ
rcR
mbM
oje
@@ -190079,13 +190079,13 @@ nNe
hWR
iis
jre
-dLA
-pnw
-biu
-asf
-aqH
-fja
-prX
+eTX
+rCc
+vpv
+dfr
+gJx
+uDu
+wAK
eud
kww
qPE
@@ -190336,12 +190336,12 @@ nNe
hts
hQv
jre
-rwN
-oqE
-rGI
+pSR
+hkE
+gGX
jre
jre
-gWi
+mXV
jre
jre
jre
@@ -190594,11 +190594,11 @@ jre
jre
jre
nzU
-aWj
-qOo
-tyA
+wHQ
+fOM
+meN
fOS
-pWE
+ydn
oXE
wSs
tpc
@@ -193979,7 +193979,7 @@ qCu
qLY
qLY
qLY
-oXr
+mYQ
fma
qLY
dRX
@@ -241994,7 +241994,7 @@ bIc
wdI
yaE
yaE
-mvw
+etb
aTH
eJe
utR
@@ -242819,7 +242819,7 @@ kYq
kYq
kYq
kYq
-aVI
+cje
kYq
kYq
kYq
@@ -243582,7 +243582,7 @@ gDm
oKY
kCI
iXk
-hHD
+oZw
pRj
daS
mNY
@@ -246121,7 +246121,7 @@ ybv
rox
cBU
twK
-aES
+azM
ybv
ybv
nBk
@@ -246166,7 +246166,7 @@ dcC
jGB
akz
sCA
-mta
+hYs
ojv
bAT
eri
@@ -247148,7 +247148,7 @@ aVH
lpM
rCD
uEm
-nfL
+ueZ
mvc
uQT
uDa
@@ -247665,7 +247665,7 @@ sgZ
sgZ
pZN
kwu
-uKS
+ith
uPB
xLF
lpM
@@ -248179,7 +248179,7 @@ uEm
uEm
uEm
uEm
-cYm
+asd
uEm
eqU
log
@@ -248432,12 +248432,12 @@ rYE
xUg
lpM
rdf
-tpN
-nKT
+aGi
+dMf
gjQ
ipU
-cpr
-iwd
+tCK
+kFX
jEg
dGU
wdg
@@ -254116,7 +254116,7 @@ cIU
mlR
rWW
atb
-gvX
+dtx
uOg
kRP
pAN
@@ -254372,9 +254372,9 @@ tQc
vSY
ubq
lfL
-xLW
+ksm
iPz
-kyY
+vxH
kRP
kRP
kRP
@@ -256945,7 +256945,7 @@ nmC
cEo
kQJ
mFE
-bdT
+mMa
bsi
cmy
nAN
@@ -259244,7 +259244,7 @@ uxj
eNK
owC
xGA
-jTZ
+lRi
xGA
wHc
xKk
@@ -264895,7 +264895,7 @@ gGx
jxc
aFt
oPP
-iTJ
+lvh
mEJ
kCz
vJS
@@ -265129,7 +265129,7 @@ tpd
jtG
myJ
myJ
-ugO
+sww
wLS
myJ
eUL
@@ -265409,7 +265409,7 @@ tgB
kKv
fhb
vAP
-bsN
+opD
sca
gpj
oQn
diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm
index 28c934373b7..8ccb43c7490 100644
--- a/_maps/map_files/MetaStation/MetaStation.dmm
+++ b/_maps/map_files/MetaStation/MetaStation.dmm
@@ -3422,20 +3422,6 @@
/obj/machinery/light/small/directional/north,
/turf/open/floor/iron,
/area/station/hallway/secondary/service)
-"bjs" = (
-/obj/structure/closet{
- anchored = 1;
- can_be_unanchored = 1;
- name = "Cold protection gear"
- },
-/obj/item/clothing/shoes/winterboots,
-/obj/item/clothing/shoes/winterboots,
-/obj/item/clothing/suit/hooded/wintercoat/science,
-/obj/item/clothing/suit/hooded/wintercoat/science,
-/obj/structure/window/reinforced/spawner/directional/west,
-/obj/structure/window/reinforced/spawner/directional/south,
-/turf/open/floor/iron,
-/area/station/science/xenobiology)
"bjy" = (
/obj/effect/turf_decal/tile/yellow/opposingcorners,
/obj/effect/turf_decal/tile/blue{
@@ -4178,6 +4164,10 @@
},
/turf/open/floor/iron/white,
/area/station/science/explab)
+"bwf" = (
+/obj/structure/sign/poster/greenscreen/directional/north,
+/turf/open/floor/carpet,
+/area/station/command/heads_quarters/captain/private)
"bwh" = (
/obj/machinery/light_switch/directional/east,
/obj/machinery/camera/directional/east{
@@ -6158,6 +6148,12 @@
/obj/machinery/airalarm/directional/north,
/turf/open/floor/iron/white,
/area/station/science/explab)
+"cjN" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/light/small/directional/east,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/iron/dark/telecomms,
+/area/station/tcommsat/server)
"cky" = (
/obj/machinery/power/shieldwallgen,
/obj/machinery/light/cold/directional/east,
@@ -9105,6 +9101,18 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
+"doC" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/command{
+ name = "E.V.A. Storage"
+ },
+/obj/effect/turf_decal/delivery,
+/obj/structure/cable,
+/obj/effect/landmark/navigate_destination,
+/obj/effect/mapping_helpers/airlock/access/any/command/eva,
+/obj/effect/mapping_helpers/airlock/red_alert_access,
+/turf/open/floor/iron,
+/area/station/ai_monitored/command/storage/eva)
"doD" = (
/obj/effect/turf_decal/delivery,
/obj/structure/closet/firecloset,
@@ -11647,12 +11655,6 @@
"ehX" = (
/turf/open/floor/iron/dark,
/area/station/medical/storage)
-"ehY" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/iron/dark,
-/area/station/tcommsat/server)
"ehZ" = (
/obj/machinery/door/poddoor/preopen{
id = "prison release";
@@ -15033,30 +15035,6 @@
/obj/structure/window/reinforced/spawner/directional/east,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/aisat/exterior)
-"fpi" = (
-/obj/machinery/door/window/right/directional/south{
- name = "First Aid Supplies";
- req_access = list("medical")
- },
-/obj/item/storage/medkit/regular{
- pixel_x = 3;
- pixel_y = -3
- },
-/obj/item/storage/medkit/brute{
- pixel_x = 3;
- pixel_y = 3
- },
-/obj/item/storage/medkit/brute,
-/obj/item/storage/medkit/brute{
- pixel_x = -3;
- pixel_y = -3
- },
-/obj/structure/table/reinforced,
-/obj/machinery/light/cold/directional/north,
-/obj/structure/window/spawner/directional/west,
-/obj/effect/mapping_helpers/airlock/red_alert_access,
-/turf/open/floor/iron/dark,
-/area/station/medical/storage)
"fpj" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 1
@@ -15661,14 +15639,6 @@
"fEK" = (
/turf/closed/wall,
/area/station/medical/medbay/central)
-"fEL" = (
-/obj/structure/table/reinforced,
-/obj/item/folder/yellow,
-/obj/item/stamp/head/ce,
-/obj/item/reagent_containers/pill/patch/aiuri,
-/obj/effect/turf_decal/tile/neutral/half/contrasted,
-/turf/open/floor/iron,
-/area/station/command/heads_quarters/ce)
"fEO" = (
/obj/structure/cable,
/turf/open/floor/circuit/red,
@@ -16032,16 +16002,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
-"fLe" = (
-/obj/machinery/door/airlock/maintenance{
- name = "Medbay Maintenance"
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/effect/mapping_helpers/airlock/access/all/medical/general,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/plating,
-/area/station/maintenance/port/aft)
"fLo" = (
/obj/effect/turf_decal/siding/white{
dir = 8
@@ -16252,6 +16212,12 @@
},
/turf/open/floor/grass,
/area/station/medical/virology)
+"fPc" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/iron/dark,
+/area/station/tcommsat/server)
"fPh" = (
/obj/machinery/gateway/centerstation,
/turf/open/floor/iron/dark,
@@ -16845,6 +16811,14 @@
},
/turf/open/floor/iron/white,
/area/station/science/lab)
+"gbU" = (
+/obj/structure/table/reinforced,
+/obj/item/folder/yellow,
+/obj/item/stamp/head/ce,
+/obj/item/reagent_containers/applicator/patch/aiuri,
+/obj/effect/turf_decal/tile/neutral/half/contrasted,
+/turf/open/floor/iron,
+/area/station/command/heads_quarters/ce)
"gbY" = (
/obj/machinery/door/airlock/maintenance,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -17080,10 +17054,6 @@
/obj/machinery/space_heater/improvised_chem_heater,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
-"ggX" = (
-/obj/structure/sign/poster/greenscreen/directional/north,
-/turf/open/floor/carpet,
-/area/station/command/heads_quarters/captain/private)
"ggZ" = (
/obj/effect/turf_decal/stripes/line,
/obj/structure/disposalpipe/segment{
@@ -18255,14 +18225,6 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/maintenance/solars/starboard/aft)
-"gDW" = (
-/obj/machinery/greenscreen_camera{
- dir = 1;
- pixel_x = 4;
- pixel_y = 16
- },
-/turf/open/floor/carpet,
-/area/station/command/heads_quarters/captain/private)
"gDZ" = (
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
@@ -18662,6 +18624,14 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
+"gKA" = (
+/obj/machinery/greenscreen_camera{
+ dir = 1;
+ pixel_x = 4;
+ pixel_y = 16
+ },
+/turf/open/floor/carpet,
+/area/station/command/heads_quarters/captain/private)
"gKD" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -21599,18 +21569,6 @@
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/security/office)
-"hNg" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/command{
- name = "E.V.A. Storage"
- },
-/obj/effect/turf_decal/delivery,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/mapping_helpers/airlock/access/any/command/eva,
-/obj/effect/mapping_helpers/airlock/red_alert_access,
-/turf/open/floor/iron,
-/area/station/ai_monitored/command/storage/eva)
"hNn" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/light/floor,
@@ -27966,16 +27924,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/wood,
/area/station/commons/lounge)
-"jSj" = (
-/obj/machinery/door/airlock/research{
- glass = 1;
- name = "Slime Euthanization Chamber";
- opacity = 0
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/xenobio,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/iron,
-/area/station/science/xenobiology)
"jSk" = (
/turf/open/floor/engine,
/area/station/science/explab)
@@ -29797,18 +29745,6 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
-"kzL" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/command{
- name = "E.V.A. Storage"
- },
-/obj/effect/turf_decal/delivery,
-/obj/structure/cable,
-/obj/effect/landmark/navigate_destination,
-/obj/effect/mapping_helpers/airlock/access/any/command/eva,
-/obj/effect/mapping_helpers/airlock/red_alert_access,
-/turf/open/floor/iron,
-/area/station/ai_monitored/command/storage/eva)
"kzQ" = (
/obj/effect/turf_decal/siding/purple,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -30154,6 +30090,14 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
+"kFU" = (
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/structure/cable,
+/obj/effect/turf_decal/trimline/blue/filled/line,
+/obj/effect/turf_decal/trimline/brown/filled/warning,
+/obj/machinery/camera/autoname/directional/east,
+/turf/open/floor/iron,
+/area/station/cargo/sorting)
"kGc" = (
/obj/machinery/computer/rdconsole,
/obj/effect/turf_decal/tile/red/anticorner/contrasted{
@@ -31362,19 +31306,6 @@
/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/aft/greater)
-"laT" = (
-/obj/structure/cable,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden,
-/obj/machinery/duct,
-/obj/structure/disposalpipe/segment,
-/obj/effect/mapping_helpers/airlock/access/all/service/kitchen,
-/obj/machinery/door/airlock/freezer{
- name = "Freezer"
- },
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/iron/cafeteria,
-/area/station/service/kitchen/coldroom)
"lbh" = (
/obj/effect/turf_decal/trimline/red/filled/line{
dir = 8
@@ -34244,6 +34175,16 @@
/obj/effect/turf_decal/tile/bar,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
+"mjw" = (
+/obj/machinery/door/airlock/research{
+ glass = 1;
+ name = "Slime Euthanization Chamber";
+ opacity = 0
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/xenobio,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/iron,
+/area/station/science/xenobiology)
"mjH" = (
/obj/machinery/ai_slipper{
uses = 10
@@ -36853,6 +36794,34 @@
"ndS" = (
/turf/closed/wall/r_wall,
/area/station/hallway/secondary/command)
+"ndZ" = (
+/obj/machinery/door/window/right/directional/north{
+ name = "First Aid Supplies";
+ req_access = list("medical")
+ },
+/obj/item/storage/medkit/regular{
+ pixel_x = 3;
+ pixel_y = -3
+ },
+/obj/item/storage/medkit/toxin{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/storage/medkit/toxin,
+/obj/item/storage/medkit/toxin{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/structure/table/reinforced,
+/obj/structure/window/spawner/directional/west,
+/obj/machinery/requests_console/directional/south{
+ department = "Medbay";
+ name = "Medbay Requests Console"
+ },
+/obj/effect/mapping_helpers/requests_console/assistance,
+/obj/effect/mapping_helpers/airlock/red_alert_access,
+/turf/open/floor/iron/dark,
+/area/station/medical/storage)
"ner" = (
/obj/machinery/door/airlock/grunge{
name = "Morgue"
@@ -37087,6 +37056,12 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/engine/vacuum,
/area/space/nearstation)
+"njA" = (
+/obj/structure/table/wood,
+/obj/machinery/newscaster/directional/west,
+/obj/machinery/computer/security/wooden_tv,
+/turf/open/floor/carpet,
+/area/station/command/heads_quarters/captain/private)
"njB" = (
/obj/structure/rack,
/obj/item/stack/rods{
@@ -37546,6 +37521,30 @@
},
/turf/open/floor/iron/dark,
/area/station/service/chapel)
+"nrl" = (
+/obj/machinery/door/window/right/directional/south{
+ name = "First Aid Supplies";
+ req_access = list("medical")
+ },
+/obj/item/storage/medkit/regular{
+ pixel_x = 3;
+ pixel_y = -3
+ },
+/obj/item/storage/medkit/brute{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/storage/medkit/brute,
+/obj/item/storage/medkit/brute{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/structure/table/reinforced,
+/obj/machinery/light/cold/directional/north,
+/obj/structure/window/spawner/directional/west,
+/obj/effect/mapping_helpers/airlock/red_alert_access,
+/turf/open/floor/iron/dark,
+/area/station/medical/storage)
"nrm" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 1
@@ -40326,34 +40325,6 @@
/obj/effect/landmark/start/mime,
/turf/open/floor/carpet,
/area/station/service/theater)
-"opD" = (
-/obj/machinery/door/window/right/directional/north{
- name = "First Aid Supplies";
- req_access = list("medical")
- },
-/obj/item/storage/medkit/regular{
- pixel_x = 3;
- pixel_y = -3
- },
-/obj/item/storage/medkit/toxin{
- pixel_x = 3;
- pixel_y = 3
- },
-/obj/item/storage/medkit/toxin,
-/obj/item/storage/medkit/toxin{
- pixel_x = -3;
- pixel_y = -3
- },
-/obj/structure/table/reinforced,
-/obj/structure/window/spawner/directional/west,
-/obj/machinery/requests_console/directional/south{
- department = "Medbay";
- name = "Medbay Requests Console"
- },
-/obj/effect/mapping_helpers/requests_console/assistance,
-/obj/effect/mapping_helpers/airlock/red_alert_access,
-/turf/open/floor/iron/dark,
-/area/station/medical/storage)
"opF" = (
/obj/machinery/hydroponics/soil,
/obj/item/cultivator,
@@ -43037,6 +43008,23 @@
/obj/effect/turf_decal/caution,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
+"pnp" = (
+/obj/item/reagent_containers/cup/bottle/toxin{
+ pixel_x = 4;
+ pixel_y = 2
+ },
+/obj/structure/table,
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/obj/machinery/reagentgrinder{
+ pixel_y = 4
+ },
+/obj/item/reagent_containers/applicator/pill/morphine{
+ name = "Exponential Entrophy";
+ pixel_x = -9;
+ pixel_y = -4
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/station/maintenance/starboard/lesser)
"pnx" = (
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt,
@@ -44396,6 +44384,19 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white,
/area/station/science/research)
+"pLt" = (
+/obj/structure/closet{
+ anchored = 1;
+ name = "Cold protection gear"
+ },
+/obj/item/clothing/shoes/winterboots,
+/obj/item/clothing/shoes/winterboots,
+/obj/item/clothing/suit/hooded/wintercoat/science,
+/obj/item/clothing/suit/hooded/wintercoat/science,
+/obj/structure/window/reinforced/spawner/directional/west,
+/obj/structure/window/reinforced/spawner/directional/south,
+/turf/open/floor/iron,
+/area/station/science/xenobiology)
"pLz" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -48073,6 +48074,30 @@
/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/port)
+"qZx" = (
+/obj/structure/table/wood,
+/obj/item/reagent_containers/spray/syndicate{
+ pixel_y = 4;
+ pixel_x = 7
+ },
+/obj/item/reagent_containers/applicator/pill/maintenance{
+ pixel_x = -4;
+ pixel_y = -1
+ },
+/obj/item/reagent_containers/applicator/pill/maintenance{
+ pixel_x = -4;
+ pixel_y = 1
+ },
+/obj/item/reagent_containers/applicator/pill/maintenance{
+ pixel_x = -4;
+ pixel_y = 2
+ },
+/obj/item/reagent_containers/applicator/pill/happy{
+ pixel_y = 6;
+ pixel_x = -4
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/port/fore)
"qZB" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on{
dir = 1
@@ -48743,12 +48768,6 @@
/obj/effect/mapping_helpers/airlock/access/all/service/lawyer,
/turf/open/floor/plating,
/area/station/maintenance/fore)
-"rmL" = (
-/obj/structure/table/wood,
-/obj/machinery/newscaster/directional/west,
-/obj/machinery/computer/security/wooden_tv,
-/turf/open/floor/carpet,
-/area/station/command/heads_quarters/captain/private)
"rmO" = (
/obj/structure/chair/comfy/black{
dir = 8
@@ -48989,6 +49008,16 @@
/obj/machinery/digital_clock/directional/south,
/turf/open/floor/iron,
/area/station/service/bar)
+"rrC" = (
+/obj/machinery/door/airlock/command/glass{
+ name = "Server Access"
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden,
+/obj/effect/mapping_helpers/airlock/access/all/science/rd,
+/obj/effect/turf_decal/tile/purple/fourcorners,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/iron/dark,
+/area/station/science/server)
"rrL" = (
/obj/effect/turf_decal/delivery,
/obj/machinery/door/poddoor/preopen{
@@ -50675,14 +50704,6 @@
},
/turf/open/floor/iron,
/area/station/commons/locker)
-"rUd" = (
-/obj/machinery/power/apc/auto_name/directional/east,
-/obj/structure/cable,
-/obj/effect/turf_decal/trimline/blue/filled/line,
-/obj/effect/turf_decal/trimline/brown/filled/warning,
-/obj/machinery/camera/autoname/directional/east,
-/turf/open/floor/iron,
-/area/station/cargo/sorting)
"rUo" = (
/obj/structure/bed,
/obj/effect/spawner/random/bedsheet,
@@ -51688,6 +51709,22 @@
/obj/effect/turf_decal/tile/blue/fourcorners,
/turf/open/floor/iron/white,
/area/station/medical/surgery/theatre)
+"sno" = (
+/obj/structure/table,
+/obj/effect/turf_decal/siding/purple{
+ dir = 9
+ },
+/obj/item/toy/figure/geneticist,
+/obj/item/radio/intercom/directional/west,
+/obj/item/storage/pill_bottle/mutadone{
+ pixel_x = -9
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/item/flesh_shears{
+ pixel_x = 15
+ },
+/turf/open/floor/iron/dark,
+/area/station/science/genetics)
"snu" = (
/obj/structure/table/wood,
/obj/machinery/door/window/right/directional/south{
@@ -51913,30 +51950,6 @@
/obj/effect/mapping_helpers/airlock/access/all/security/general,
/turf/open/floor/iron/grimy,
/area/station/security/office)
-"ssu" = (
-/obj/structure/table/wood,
-/obj/item/reagent_containers/spray/syndicate{
- pixel_y = 4;
- pixel_x = 7
- },
-/obj/item/reagent_containers/pill/maintenance{
- pixel_x = -4;
- pixel_y = -1
- },
-/obj/item/reagent_containers/pill/maintenance{
- pixel_x = -4;
- pixel_y = 1
- },
-/obj/item/reagent_containers/pill/maintenance{
- pixel_x = -4;
- pixel_y = 2
- },
-/obj/item/reagent_containers/pill/happy{
- pixel_y = 6;
- pixel_x = -4
- },
-/turf/open/floor/plating,
-/area/station/maintenance/port/fore)
"ssI" = (
/obj/machinery/power/emitter,
/turf/open/floor/plating,
@@ -53880,6 +53893,19 @@
/obj/structure/window/reinforced/spawner/directional/east,
/turf/open/floor/iron,
/area/station/service/hydroponics)
+"sZx" = (
+/obj/structure/cable,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden,
+/obj/machinery/duct,
+/obj/structure/disposalpipe/segment,
+/obj/effect/mapping_helpers/airlock/access/all/service/kitchen,
+/obj/machinery/door/airlock/freezer{
+ name = "Freezer"
+ },
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/iron/cafeteria,
+/area/station/service/kitchen/coldroom)
"sZH" = (
/obj/effect/turf_decal/trimline/blue/filled/corner{
dir = 1
@@ -54004,16 +54030,6 @@
},
/turf/open/floor/iron,
/area/station/commons/lounge)
-"tbp" = (
-/obj/machinery/door/airlock/command/glass{
- name = "Server Access"
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden,
-/obj/effect/mapping_helpers/airlock/access/all/science/rd,
-/obj/effect/turf_decal/tile/purple/fourcorners,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/iron/dark,
-/area/station/science/server)
"tbI" = (
/obj/structure/cable,
/turf/open/floor/plating,
@@ -56121,18 +56137,6 @@
/obj/effect/turf_decal/tile/blue/fourcorners,
/turf/open/floor/iron/white,
/area/station/medical/surgery/theatre)
-"tOV" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/rack,
-/obj/item/reagent_containers/pill/maintenance,
-/obj/item/reagent_containers/pill/maintenance,
-/obj/item/storage/box/gum,
-/obj/item/surgicaldrill,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/plating,
-/area/station/medical/abandoned)
"tOX" = (
/obj/machinery/light/small/directional/south,
/turf/open/floor/carpet,
@@ -59385,6 +59389,15 @@
/obj/effect/spawner/random/structure/closet_maintenance,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
+"uUy" = (
+/obj/machinery/door/airlock/medical{
+ name = "Medical Cold Room"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/medical/surgery,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/iron/dark,
+/area/station/medical/coldroom)
"uUL" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 8
@@ -60143,15 +60156,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/security/evidence)
-"via" = (
-/obj/machinery/door/airlock/medical{
- name = "Medical Cold Room"
- },
-/obj/effect/mapping_helpers/airlock/access/all/medical/surgery,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/iron/dark,
-/area/station/medical/coldroom)
"vif" = (
/obj/machinery/holopad,
/turf/open/floor/iron,
@@ -64344,22 +64348,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/security/prison)
-"wBq" = (
-/obj/structure/table,
-/obj/effect/turf_decal/siding/purple{
- dir = 9
- },
-/obj/item/toy/figure/geneticist,
-/obj/item/radio/intercom/directional/west,
-/obj/item/storage/pill_bottle/mutadone{
- pixel_x = -9
- },
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/item/flesh_shears{
- pixel_x = 15
- },
-/turf/open/floor/iron/dark,
-/area/station/science/genetics)
"wBs" = (
/obj/machinery/vending/cigarette,
/turf/open/floor/wood,
@@ -64821,6 +64809,18 @@
dir = 8
},
/area/station/medical/chem_storage)
+"wMj" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/rack,
+/obj/item/reagent_containers/applicator/pill/maintenance,
+/obj/item/reagent_containers/applicator/pill/maintenance,
+/obj/item/storage/box/gum,
+/obj/item/surgicaldrill,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/station/medical/abandoned)
"wMx" = (
/obj/effect/turf_decal/bot,
/obj/effect/landmark/start/hangover,
@@ -65357,23 +65357,6 @@
},
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
-"wVO" = (
-/obj/item/reagent_containers/cup/bottle/toxin{
- pixel_x = 4;
- pixel_y = 2
- },
-/obj/structure/table,
-/obj/effect/decal/cleanable/cobweb/cobweb2,
-/obj/machinery/reagentgrinder{
- pixel_y = 4
- },
-/obj/item/reagent_containers/pill/morphine{
- name = "Exponential Entrophy";
- pixel_x = -9;
- pixel_y = -4
- },
-/turf/open/floor/iron/showroomfloor,
-/area/station/maintenance/starboard/lesser)
"wVQ" = (
/obj/structure/closet/cardboard,
/turf/open/floor/plating,
@@ -65974,12 +65957,6 @@
/obj/effect/spawner/random/clothing/costume,
/turf/open/floor/plating,
/area/station/maintenance/port)
-"xgL" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/light/small/directional/east,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/iron/dark/telecomms,
-/area/station/tcommsat/server)
"xgN" = (
/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible,
/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{
@@ -67538,6 +67515,16 @@
/obj/structure/sign/warning/docking,
/turf/closed/wall,
/area/station/hallway/primary/port)
+"xJC" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Medbay Maintenance"
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/effect/mapping_helpers/airlock/access/all/medical/general,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/plating,
+/area/station/maintenance/port/aft)
"xJI" = (
/obj/machinery/light_switch/directional/west,
/obj/structure/table/glass,
@@ -67943,6 +67930,18 @@
/obj/effect/turf_decal/box,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
+"xSl" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/command{
+ name = "E.V.A. Storage"
+ },
+/obj/effect/turf_decal/delivery,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/mapping_helpers/airlock/access/any/command/eva,
+/obj/effect/mapping_helpers/airlock/red_alert_access,
+/turf/open/floor/iron,
+/area/station/ai_monitored/command/storage/eva)
"xSO" = (
/obj/effect/turf_decal/siding/wood{
dir = 1
@@ -87227,7 +87226,7 @@ jUb
gPY
jUb
jUb
-fLe
+xJC
jUb
gll
azE
@@ -88000,7 +87999,7 @@ jUb
jdH
oBv
uOo
-via
+uUy
myc
wSv
fuA
@@ -88525,7 +88524,7 @@ qOk
tBJ
gIB
oxj
-tOV
+wMj
oic
hqb
yje
@@ -88689,7 +88688,7 @@ uSh
fzo
rNP
ieD
-ssu
+qZx
ggW
jXu
fpn
@@ -89751,7 +89750,7 @@ gav
hab
uyP
ejD
-rUd
+kFU
rnh
iev
nJJ
@@ -90822,11 +90821,11 @@ qXh
ehg
hgu
vun
-fpi
+nrl
uTj
usC
ehX
-opD
+ndZ
vun
gQG
tFr
@@ -92591,7 +92590,7 @@ wMx
cMQ
urA
qAc
-hNg
+xSl
kwF
qjf
mXf
@@ -93105,7 +93104,7 @@ oUB
qRI
urA
nIR
-kzL
+doC
uac
aUK
aUK
@@ -97259,7 +97258,7 @@ oIg
cId
rQl
oIg
-wBq
+sno
bEC
lsV
aXW
@@ -99001,7 +99000,7 @@ hPM
hvr
syo
bUt
-rmL
+njA
tIR
tyY
ogL
@@ -99514,8 +99513,8 @@ ozX
kON
vjn
syo
-ggX
-gDW
+bwf
+gKA
iox
tyY
eCB
@@ -104441,7 +104440,7 @@ fVc
wXF
jdX
ohI
-tbp
+rrC
uzc
oUu
saf
@@ -105958,7 +105957,7 @@ jzT
ivy
ebK
sLp
-laT
+sZx
mSS
ebY
hiM
@@ -107261,7 +107260,7 @@ mma
iMQ
rAo
tUn
-wVO
+pnp
mix
rpD
iMd
@@ -108506,7 +108505,7 @@ acs
uXd
qJd
nLz
-fEL
+gbU
rSi
pCt
qHm
@@ -113194,7 +113193,7 @@ uNs
tIP
qQJ
vGq
-bjs
+pLt
gyI
lPS
xiL
@@ -114989,7 +114988,7 @@ sPy
iWc
xVu
vva
-jSj
+mjw
rzz
xVu
lVB
@@ -123942,7 +123941,7 @@ art
nqp
iYP
aVX
-ehY
+fPc
ycj
kyX
kzg
@@ -123950,7 +123949,7 @@ poJ
tnh
tnh
mXb
-xgL
+cjN
qYg
gCy
eNh
diff --git a/_maps/map_files/NebulaStation/NebulaStation.dmm b/_maps/map_files/NebulaStation/NebulaStation.dmm
index d97364ecf87..a31f297db8f 100644
--- a/_maps/map_files/NebulaStation/NebulaStation.dmm
+++ b/_maps/map_files/NebulaStation/NebulaStation.dmm
@@ -1901,6 +1901,26 @@
/obj/effect/turf_decal/trimline/yellow/corner,
/turf/open/floor/iron/dark,
/area/station/hallway/primary/aft)
+"aov" = (
+/obj/structure/table/reinforced/rglass,
+/obj/item/paper_bin{
+ pixel_x = -5;
+ pixel_y = 4
+ },
+/obj/item/pen/fountain/captain{
+ pixel_x = -5;
+ pixel_y = 4
+ },
+/obj/item/toy/figure/captain{
+ pixel_y = 13;
+ pixel_x = 6
+ },
+/obj/machinery/recharger{
+ pixel_y = 3;
+ pixel_x = 7
+ },
+/turf/open/floor/carpet/royalblue,
+/area/station/command/heads_quarters/captain)
"aoK" = (
/obj/structure/cable/layer3,
/obj/machinery/door/airlock/hatch{
@@ -2269,6 +2289,23 @@
dir = 8
},
/area/station/service/chapel)
+"arT" = (
+/obj/effect/turf_decal/siding/thinplating_new/dark{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/trimline/yellow/line{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable/layer1,
+/turf/open/floor/iron/dark/textured_edge{
+ dir = 4
+ },
+/area/station/engineering/engine_smes)
"asd" = (
/obj/structure/sign/clock/directional/north,
/obj/effect/turf_decal/siding/wood{
@@ -3332,19 +3369,6 @@
/obj/item/radio/intercom/directional/north,
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
-"aAr" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable/layer1,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"aAt" = (
/obj/machinery/vending/coffee,
/obj/structure/sign/poster/official/random/directional/west,
@@ -3527,6 +3551,19 @@
/obj/structure/cable,
/turf/open/floor/iron/dark/textured_large,
/area/station/command/heads_quarters/ce)
+"aBN" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/obj/effect/turf_decal/trimline/yellow/filled/corner{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/iron/dark/textured_corner{
+ dir = 4
+ },
+/area/station/engineering/engine_smes)
"aBP" = (
/obj/effect/turf_decal/delivery,
/obj/structure/ore_box,
@@ -4568,6 +4605,12 @@
dir = 1
},
/area/station/maintenance/port/aft)
+"aKg" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable/layer1,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"aKj" = (
/obj/effect/turf_decal/siding/wideplating_new/dark{
dir = 8
@@ -5904,19 +5947,6 @@
/obj/structure/cable,
/turf/open/floor/wood/large,
/area/station/security/prison/rec)
-"aUK" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 10
- },
-/obj/effect/turf_decal/trimline/yellow/filled/corner{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/iron/dark/textured_corner{
- dir = 4
- },
-/area/station/engineering/engine_smes)
"aUM" = (
/obj/effect/decal/cleanable/dirt,
/obj/item/storage/cans/sixbeer,
@@ -7974,25 +8004,6 @@
/obj/effect/landmark/start/hangover,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"blI" = (
-/obj/structure/guncase/shotgun{
- anchored = 1;
- can_be_unanchored = 1;
- open = 0
- },
-/obj/item/gun/ballistic/shotgun/doublebarrel,
-/obj/effect/turf_decal/trimline/dark_red/line{
- dir = 1
- },
-/obj/machinery/requests_console/directional/south{
- department = "Bar";
- name = "Bar Requests Console"
- },
-/obj/effect/mapping_helpers/requests_console/supplies,
-/obj/effect/mapping_helpers/requests_console/assistance,
-/obj/effect/turf_decal/trimline/dark_red/filled/line,
-/turf/open/floor/iron/dark/small,
-/area/station/service/bar/backroom)
"blK" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/grille/broken,
@@ -8095,6 +8106,21 @@
/obj/structure/flora/bush/lavendergrass/style_random,
/turf/open/misc/asteroid/airless,
/area/space/nearstation)
+"bmQ" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/siding/thinplating_new/dark{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/green,
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 1;
+ name = "Mix Bypass"
+ },
+/obj/structure/cable/layer1,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"bmS" = (
/obj/structure/railing{
dir = 1
@@ -8836,18 +8862,6 @@
/obj/structure/cable,
/turf/open/floor/iron/dark/small,
/area/station/engineering/atmos)
-"btt" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible,
-/obj/effect/turf_decal/siding/thinplating_new/dark/corner{
- dir = 8
- },
-/obj/structure/cable/layer1,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"btw" = (
/obj/effect/turf_decal/siding/purple/corner{
dir = 8
@@ -9186,6 +9200,18 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/dark,
/area/station/security/brig)
+"bwB" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible,
+/obj/effect/turf_decal/siding/thinplating_new/dark{
+ dir = 8
+ },
+/obj/structure/cable/layer1,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"bwC" = (
/turf/closed/wall,
/area/station/service/library/upper)
@@ -10845,6 +10871,13 @@
},
/turf/open/floor/iron/dark/textured,
/area/station/commons/fitness/recreation/lasertag)
+"bGy" = (
+/obj/item/clipboard,
+/obj/structure/table/reinforced,
+/obj/item/folder/yellow,
+/obj/item/reagent_containers/applicator/patch/aiuri,
+/turf/open/floor/iron/dark/textured,
+/area/station/maintenance/disposal/incinerator)
"bGz" = (
/obj/machinery/door/firedoor,
/turf/open/floor/iron/dark/textured,
@@ -10918,23 +10951,6 @@
dir = 10
},
/area/station/engineering/atmos)
-"bHp" = (
-/obj/effect/turf_decal/siding/thinplating_new/dark{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/structure/cable,
-/obj/effect/turf_decal/trimline/yellow/line{
- dir = 8
- },
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable/layer1,
-/turf/open/floor/iron/dark/textured_edge{
- dir = 4
- },
-/area/station/engineering/engine_smes)
"bHr" = (
/obj/structure/grille/broken,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -11647,20 +11663,6 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/misc/asteroid/airless,
/area/space/nearstation)
-"bMm" = (
-/obj/effect/turf_decal/siding/brown{
- dir = 5
- },
-/obj/machinery/light_switch/directional/east,
-/obj/effect/turf_decal/siding/dark/corner{
- dir = 8
- },
-/obj/effect/turf_decal/tile/brown/diagonal_edge,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/item/kirbyplants/random,
-/turf/open/floor/iron/dark/diagonal,
-/area/station/cargo/breakroom)
"bMt" = (
/obj/effect/turf_decal/siding/wood{
dir = 4
@@ -12288,6 +12290,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer1,
/turf/open/floor/iron/dark/diagonal,
/area/station/science/ordnance/testlab)
+"bQZ" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 10
+ },
+/obj/item/kirbyplants/organic/plant18,
+/turf/open/floor/wood/parquet,
+/area/station/cargo/mining_breakroom)
"bRc" = (
/obj/effect/turf_decal/tile/dark_blue/half/contrasted{
dir = 8
@@ -12586,17 +12595,6 @@
/obj/item/radio/intercom/directional/north,
/turf/open/floor/iron/dark/small,
/area/station/security/execution/transfer)
-"bTC" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/obj/effect/turf_decal/siding/thinplating_new/dark{
- dir = 4
- },
-/obj/structure/cable/layer1,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"bTY" = (
/obj/item/solar_assembly,
/obj/item/solar_assembly,
@@ -13073,16 +13071,20 @@
/obj/structure/cable,
/turf/open/floor/iron/white/small,
/area/station/science/lobby)
-"bXj" = (
-/obj/effect/decal/cleanable/blood/old,
-/obj/item/reagent_containers/pill/happy{
- pixel_y = 11;
- pixel_x = -8
+"bXm" = (
+/obj/effect/turf_decal/siding/thinplating_new/dark{
+ dir = 1
},
-/obj/machinery/iv_drip,
-/obj/effect/mapping_helpers/broken_floor,
-/turf/open/floor/plating,
-/area/station/maintenance/department/cargo)
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/obj/structure/cable/layer1,
+/turf/open/floor/iron/dark/textured_edge,
+/area/station/engineering/engine_smes)
"bXn" = (
/obj/effect/turf_decal/siding/wideplating_new/dark{
dir = 8
@@ -14811,24 +14813,6 @@
},
/turf/open/floor/iron/dark/herringbone,
/area/station/hallway/secondary/service)
-"cmm" = (
-/obj/effect/turf_decal/siding/thinplating_new/dark{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/structure/cable,
-/obj/effect/turf_decal/trimline/yellow/corner{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable/layer1,
-/turf/open/floor/iron/dark/textured_edge{
- dir = 4
- },
-/area/station/engineering/engine_smes)
"cmp" = (
/obj/effect/turf_decal/plaque{
icon_state = "L14"
@@ -16072,6 +16056,13 @@
dir = 6
},
/area/station/maintenance/starboard/central)
+"cvs" = (
+/obj/effect/turf_decal/stripes/corner,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible,
+/obj/structure/cable/layer1,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"cvt" = (
/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible,
/obj/effect/spawner/structure/window/reinforced,
@@ -16199,25 +16190,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/wood/large,
/area/station/service/kitchen/diner)
-"cwz" = (
-/obj/structure/reagent_dispensers/watertank,
-/obj/effect/turf_decal/stripes/line{
- dir = 6
- },
-/obj/effect/turf_decal/siding/thinplating_new/dark/corner{
- dir = 1
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/machinery/camera/autoname/directional/east,
-/obj/structure/cable/layer1,
-/turf/open/floor/iron/dark/textured_corner{
- dir = 1
- },
-/area/station/engineering/engine_smes)
"cwK" = (
/obj/effect/turf_decal/siding/wideplating_new/dark/corner{
dir = 8
@@ -16403,30 +16375,6 @@
/obj/machinery/light/directional/north,
/turf/open/floor/iron/dark,
/area/station/medical/virology)
-"cxP" = (
-/obj/structure/table/glass,
-/obj/effect/turf_decal/siding/dark{
- dir = 6
- },
-/obj/machinery/door/window/right/directional/south{
- name = "First Aid Supplies";
- req_access = list("medical")
- },
-/obj/machinery/digital_clock/directional/north,
-/obj/item/storage/medkit/regular,
-/obj/item/storage/medkit/toxin{
- pixel_x = 3;
- pixel_y = 3
- },
-/obj/item/storage/medkit/toxin,
-/obj/item/storage/medkit/toxin{
- pixel_x = -3;
- pixel_y = -3
- },
-/obj/machinery/light/directional/north,
-/obj/effect/mapping_helpers/airlock/red_alert_access,
-/turf/open/floor/iron/dark,
-/area/station/medical/storage)
"cxS" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
dir = 8
@@ -17039,6 +16987,19 @@
/obj/machinery/smartfridge/food,
/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
/area/station/service/kitchen/coldroom)
+"cCl" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/chair/office,
+/obj/effect/landmark/start/station_engineer,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/yellow/filled/warning{
+ dir = 1
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/dark/textured_edge,
+/area/station/engineering/engine_smes)
"cCq" = (
/obj/effect/turf_decal/trimline/green/corner{
dir = 4
@@ -17729,15 +17690,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating,
/area/station/maintenance/starboard/central)
-"cHP" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/obj/effect/turf_decal/siding/thinplating_new/dark/corner,
-/obj/structure/cable/layer1,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"cHV" = (
/obj/effect/turf_decal/siding/wood{
dir = 10
@@ -18823,12 +18775,6 @@
dir = 1
},
/area/station/commons/dorms)
-"cPK" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable/layer1,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"cPL" = (
/obj/effect/turf_decal/siding/wood{
dir = 5
@@ -19564,6 +19510,21 @@
/obj/machinery/door/firedoor,
/turf/open/floor/iron/dark,
/area/station/maintenance/fore/lesser)
+"cVl" = (
+/obj/structure/window/reinforced/spawner/directional/north,
+/obj/structure/window/reinforced/spawner/directional/west,
+/obj/structure/closet{
+ anchored = 1;
+ name = "Cold protection gear"
+ },
+/obj/effect/turf_decal/tile/purple/fourcorners,
+/obj/item/clothing/shoes/winterboots,
+/obj/item/clothing/shoes/winterboots,
+/obj/item/clothing/suit/hooded/wintercoat/science,
+/obj/item/clothing/suit/hooded/wintercoat/science,
+/obj/item/storage/bag/xeno,
+/turf/open/floor/iron/dark,
+/area/station/science/xenobiology)
"cVn" = (
/obj/effect/turf_decal/trimline/green/filled/corner{
dir = 4
@@ -21632,6 +21593,17 @@
/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5,
/turf/open/floor/plating,
/area/station/engineering/atmos)
+"dkC" = (
+/obj/structure/railing{
+ dir = 1
+ },
+/obj/machinery/firealarm/directional/north,
+/obj/structure/cable/layer1,
+/turf/open/floor/iron/stairs/left{
+ dir = 8;
+ color = "#3d3e42"
+ },
+/area/station/engineering/engine_smes)
"dkE" = (
/obj/effect/turf_decal/tile/neutral{
dir = 4
@@ -21813,6 +21785,30 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/maintenance/starboard/fore)
+"dmm" = (
+/obj/structure/table/glass,
+/obj/effect/turf_decal/siding/dark{
+ dir = 6
+ },
+/obj/machinery/door/window/right/directional/south{
+ name = "First Aid Supplies";
+ req_access = list("medical")
+ },
+/obj/machinery/digital_clock/directional/north,
+/obj/item/storage/medkit/regular,
+/obj/item/storage/medkit/toxin{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/storage/medkit/toxin,
+/obj/item/storage/medkit/toxin{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/machinery/light/directional/north,
+/obj/effect/mapping_helpers/airlock/red_alert_access,
+/turf/open/floor/iron/dark,
+/area/station/medical/storage)
"dmn" = (
/obj/effect/turf_decal/stripes/corner{
dir = 8
@@ -22329,23 +22325,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/fore/greater)
-"dqm" = (
-/obj/effect/turf_decal/siding/purple{
- dir = 6
- },
-/obj/machinery/light_switch/directional/east,
-/obj/effect/turf_decal/siding/dark/corner{
- dir = 1
- },
-/obj/effect/turf_decal/tile/purple/diagonal_edge,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/item/kirbyplants/random,
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/turf/open/floor/iron/dark/diagonal,
-/area/station/science/breakroom)
"dqo" = (
/obj/structure/table/wood/fancy/royalblack,
/obj/structure/sign/poster/contraband/starkist/directional/north,
@@ -23078,6 +23057,38 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/dark/small,
/area/station/science/robotics/storage)
+"duN" = (
+/obj/structure/window/reinforced/spawner/directional/north,
+/obj/structure/window/reinforced/spawner/directional/east,
+/obj/effect/turf_decal/tile/purple/fourcorners,
+/obj/item/clothing/shoes/winterboots,
+/obj/item/clothing/shoes/winterboots,
+/obj/item/clothing/suit/hooded/wintercoat/science,
+/obj/item/clothing/suit/hooded/wintercoat/science,
+/obj/item/storage/bag/xeno,
+/obj/structure/closet{
+ anchored = 1;
+ name = "Cold protection gear"
+ },
+/turf/open/floor/iron/dark,
+/area/station/science/xenobiology)
+"duO" = (
+/obj/effect/turf_decal/siding/purple{
+ dir = 6
+ },
+/obj/machinery/light_switch/directional/east,
+/obj/effect/turf_decal/siding/dark/corner{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/purple/diagonal_edge,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/item/kirbyplants/random,
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/turf/open/floor/iron/dark/diagonal,
+/area/station/science/breakroom)
"duT" = (
/obj/structure/railing/corner{
dir = 4
@@ -24819,17 +24830,6 @@
},
/turf/open/floor/engine/hull/reinforced,
/area/space/nearstation)
-"dIG" = (
-/obj/machinery/door/airlock/medical{
- name = "Medical Cold Room"
- },
-/obj/effect/mapping_helpers/airlock/access/all/medical/surgery,
-/obj/structure/cable,
-/obj/structure/curtain,
-/obj/effect/turf_decal/weather/snow,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
-/area/station/medical/coldroom)
"dIN" = (
/turf/closed/wall,
/area/station/security/prison)
@@ -25138,25 +25138,6 @@
/obj/machinery/holopad,
/turf/open/floor/iron/dark,
/area/station/service/chapel)
-"dMb" = (
-/obj/effect/mapping_helpers/airlock/access/all/service/kitchen,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/caution/stand_clear/white{
- dir = 8
- },
-/obj/effect/turf_decal/bot_white,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/duct,
-/obj/machinery/door/airlock/freezer{
- name = "Freezer"
- },
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/iron/dark,
-/area/station/service/kitchen/coldroom)
"dMg" = (
/obj/effect/turf_decal/tile/purple/anticorner/contrasted{
dir = 8
@@ -27180,19 +27161,6 @@
},
/turf/open/floor/grass,
/area/station/hallway/secondary/exit/departure_lounge)
-"eax" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/meter,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/obj/effect/turf_decal/siding/thinplating_new/dark/corner{
- dir = 4
- },
-/obj/effect/turf_decal/siding/thinplating_new/dark/corner,
-/obj/structure/cable/layer1,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"eaA" = (
/obj/effect/turf_decal/siding/brown{
dir = 9
@@ -27756,6 +27724,25 @@
},
/turf/open/floor/iron/dark/textured_half,
/area/station/engineering/atmos)
+"eeJ" = (
+/obj/structure/reagent_dispensers/watertank,
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/obj/effect/turf_decal/siding/thinplating_new/dark/corner{
+ dir = 1
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/machinery/camera/autoname/directional/east,
+/obj/structure/cable/layer1,
+/turf/open/floor/iron/dark/textured_corner{
+ dir = 1
+ },
+/area/station/engineering/engine_smes)
"eeL" = (
/obj/structure/table/wood/fancy,
/obj/item/book/granter/action/spell/smoke/lesser{
@@ -30312,16 +30299,6 @@
},
/turf/open/floor/wood/large,
/area/station/maintenance/department/bridge)
-"eyq" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/door/airlock/maintenance{
- name = "Medbay Maintenance"
- },
-/obj/effect/mapping_helpers/airlock/access/all/medical/surgery,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/plating,
-/area/station/maintenance/port/fore)
"eyr" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -32246,6 +32223,21 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
+"eNz" = (
+/obj/machinery/door/airlock/maintenance,
+/obj/effect/mapping_helpers/airlock/access/all/service/kitchen,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/duct,
+/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden{
+ dir = 4
+ },
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/plating,
+/area/station/maintenance/port/fore)
"eND" = (
/obj/effect/turf_decal/tile/purple{
dir = 1
@@ -36304,20 +36296,6 @@
},
/turf/open/floor/catwalk_floor/iron_dark,
/area/station/maintenance/department/bridge)
-"ftW" = (
-/obj/effect/turf_decal/siding/thinplating_new/dark{
- dir = 6
- },
-/obj/machinery/power/apc/auto_name/directional/east,
-/obj/structure/rack,
-/obj/item/storage/toolbox/mechanical,
-/obj/item/reagent_containers/pill/patch/aiuri,
-/obj/item/clothing/glasses/meson,
-/obj/structure/cable,
-/turf/open/floor/iron/dark/textured_corner{
- dir = 1
- },
-/area/station/command/heads_quarters/ce)
"fub" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -36366,26 +36344,6 @@
/obj/effect/spawner/random/trash/graffiti,
/turf/open/floor/plating,
/area/station/maintenance/fore/lesser)
-"fuB" = (
-/obj/structure/table/reinforced/rglass,
-/obj/item/paper_bin{
- pixel_x = -5;
- pixel_y = 4
- },
-/obj/item/pen/fountain/captain{
- pixel_x = -5;
- pixel_y = 4
- },
-/obj/item/toy/figure/captain{
- pixel_y = 13;
- pixel_x = 6
- },
-/obj/machinery/recharger{
- pixel_y = 3;
- pixel_x = 7
- },
-/turf/open/floor/carpet/royalblue,
-/area/station/command/heads_quarters/captain)
"fuD" = (
/obj/machinery/door/poddoor/preopen{
id = "projectlock";
@@ -38738,6 +38696,17 @@
/obj/structure/chair,
/turf/open/floor/iron/dark,
/area/station/hallway/secondary/command)
+"fMS" = (
+/obj/machinery/door/airlock/medical{
+ name = "Medical Cold Room"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/medical/surgery,
+/obj/structure/cable,
+/obj/structure/curtain,
+/obj/effect/turf_decal/weather/snow,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+/area/station/medical/coldroom)
"fMT" = (
/obj/effect/turf_decal/siding/thinplating_new/dark{
dir = 5
@@ -39432,21 +39401,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
-"fSm" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible,
-/obj/effect/turf_decal/siding/thinplating_new/dark/corner{
- dir = 1
- },
-/obj/effect/turf_decal/siding/thinplating_new/dark/corner{
- dir = 8
- },
-/obj/structure/cable/layer1,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"fSn" = (
/obj/effect/turf_decal/bot_white/left,
/obj/machinery/digital_clock/directional/north,
@@ -40267,12 +40221,6 @@
/obj/structure/cable,
/turf/open/floor/plating/airless,
/area/station/solars/starboard/fore)
-"fXN" = (
-/obj/structure/cable,
-/obj/machinery/light/floor,
-/obj/structure/cable/layer1,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"fXP" = (
/obj/structure/railing{
dir = 8
@@ -40494,12 +40442,6 @@
dir = 4
},
/area/station/cargo/lobby)
-"fZB" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/obj/structure/cable,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/glass/reinforced,
-/area/station/engineering/supermatter/room/upper)
"fZK" = (
/obj/effect/turf_decal/siding/thinplating_new/light,
/obj/effect/turf_decal/siding/thinplating_new/light{
@@ -41378,6 +41320,20 @@
},
/turf/open/floor/iron/white/textured,
/area/station/security/prison/shower)
+"ggu" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/yellow/filled/warning,
+/obj/machinery/power/terminal{
+ dir = 1;
+ cable_layer = 1
+ },
+/obj/structure/cable/multilayer/layer1,
+/turf/open/floor/iron/dark/textured_edge{
+ dir = 1
+ },
+/area/station/engineering/engine_smes)
"ggD" = (
/obj/effect/turf_decal/siding/thinplating_new/dark{
dir = 1
@@ -42573,6 +42529,19 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark/textured,
/area/station/medical/medbay/central)
+"gog" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible,
+/obj/machinery/status_display/ai/directional/east,
+/obj/effect/turf_decal/siding/thinplating_new/dark{
+ dir = 8
+ },
+/obj/structure/cable/layer1,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"goi" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 8
@@ -44737,10 +44706,6 @@
/obj/structure/flora/bush/lavendergrass/style_random,
/turf/open/misc/asteroid/airless,
/area/space/nearstation)
-"gFN" = (
-/obj/item/reagent_containers/pill/iron,
-/turf/open/floor/glass/reinforced,
-/area/station/maintenance/department/cargo)
"gFP" = (
/obj/structure/window/reinforced/spawner/directional/north,
/obj/structure/window/reinforced/spawner/directional/east,
@@ -45113,6 +45078,24 @@
/obj/structure/cable,
/turf/open/floor/iron/dark/small,
/area/station/command/gateway)
+"gJi" = (
+/obj/structure/guncase/shotgun{
+ anchored = 1;
+ open = 0
+ },
+/obj/item/gun/ballistic/shotgun/doublebarrel,
+/obj/effect/turf_decal/trimline/dark_red/line{
+ dir = 1
+ },
+/obj/machinery/requests_console/directional/south{
+ department = "Bar";
+ name = "Bar Requests Console"
+ },
+/obj/effect/mapping_helpers/requests_console/supplies,
+/obj/effect/mapping_helpers/requests_console/assistance,
+/obj/effect/turf_decal/trimline/dark_red/filled/line,
+/turf/open/floor/iron/dark/small,
+/area/station/service/bar/backroom)
"gJn" = (
/obj/effect/turf_decal/siding/thinplating_new/dark{
dir = 10
@@ -45862,6 +45845,12 @@
},
/turf/open/floor/iron/dark/textured,
/area/station/maintenance/disposal/incinerator)
+"gOY" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable/layer1,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"gPc" = (
/obj/structure/closet/emcloset,
/obj/effect/turf_decal/trimline/blue/warning{
@@ -46339,16 +46328,6 @@
},
/turf/open/floor/carpet/neon/simple/red/nodots,
/area/station/commons/fitness/recreation/lasertag)
-"gSs" = (
-/obj/item/reagent_containers/pill/maintenance,
-/obj/item/reagent_containers/syringe/multiver{
- pixel_x = -18;
- pixel_y = 10
- },
-/obj/effect/decal/cleanable/confetti,
-/obj/effect/mapping_helpers/broken_floor,
-/turf/open/floor/plating,
-/area/station/maintenance/department/cargo)
"gSv" = (
/obj/structure/railing/corner/end/flip,
/obj/effect/turf_decal/arrows{
@@ -46831,19 +46810,6 @@
},
/turf/open/floor/iron/white/small,
/area/station/science/research)
-"gWt" = (
-/obj/machinery/door/airlock/command{
- name = "E.V.A. Storage"
- },
-/obj/effect/turf_decal/tile/dark_blue/fourcorners,
-/obj/machinery/door/firedoor,
-/obj/effect/mapping_helpers/airlock/access/any/command/eva,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment,
-/obj/effect/mapping_helpers/airlock/red_alert_access,
-/turf/open/floor/iron/dark/textured,
-/area/station/ai_monitored/command/storage/eva)
"gWz" = (
/obj/effect/turf_decal/siding/dark{
dir = 9
@@ -47103,20 +47069,6 @@
/obj/effect/landmark/start/hangover,
/turf/open/floor/iron/dark/textured,
/area/station/commons/fitness/recreation)
-"gYy" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/effect/turf_decal/trimline/yellow/filled/warning,
-/obj/machinery/power/terminal{
- dir = 1;
- cable_layer = 1
- },
-/obj/structure/cable/multilayer/layer1,
-/turf/open/floor/iron/dark/textured_edge{
- dir = 1
- },
-/area/station/engineering/engine_smes)
"gYD" = (
/obj/effect/turf_decal/trimline/yellow/filled/warning{
dir = 4
@@ -47415,6 +47367,14 @@
},
/turf/open/floor/iron/dark,
/area/station/science/xenobiology)
+"haA" = (
+/obj/effect/turf_decal/trimline/dark/filled/warning{
+ dir = 8
+ },
+/obj/structure/cable,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/iron/dark/textured,
+/area/station/tcommsat/computer)
"haE" = (
/obj/machinery/door/window/right/directional/west{
name = "Research Delivery";
@@ -47589,22 +47549,6 @@
},
/turf/open/floor/wood/large,
/area/station/service/theater)
-"hcd" = (
-/obj/structure/window/reinforced/spawner/directional/north,
-/obj/structure/window/reinforced/spawner/directional/east,
-/obj/effect/turf_decal/tile/purple/fourcorners,
-/obj/item/clothing/shoes/winterboots,
-/obj/item/clothing/shoes/winterboots,
-/obj/item/clothing/suit/hooded/wintercoat/science,
-/obj/item/clothing/suit/hooded/wintercoat/science,
-/obj/item/storage/bag/xeno,
-/obj/structure/closet{
- anchored = 1;
- can_be_unanchored = 1;
- name = "Cold protection gear"
- },
-/turf/open/floor/iron/dark,
-/area/station/science/xenobiology)
"hci" = (
/obj/structure/railing/corner,
/obj/effect/decal/cleanable/dirt,
@@ -48758,6 +48702,10 @@
},
/turf/open/floor/wood/tile,
/area/station/service/minibar)
+"hkq" = (
+/obj/item/reagent_containers/applicator/pill/iron,
+/turf/open/floor/glass/reinforced,
+/area/station/maintenance/department/cargo)
"hks" = (
/obj/effect/turf_decal/stripes/corner{
dir = 8
@@ -48770,6 +48718,16 @@
/obj/machinery/incident_display/delam/directional/north,
/turf/open/openspace,
/area/station/engineering/supermatter/room/upper)
+"hky" = (
+/obj/structure/closet/crate/freezer/blood,
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 9
+ },
+/obj/machinery/iv_drip,
+/obj/effect/turf_decal/weather/snow,
+/obj/machinery/light_switch/directional/west,
+/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+/area/station/medical/coldroom)
"hkD" = (
/obj/effect/turf_decal/stripes/line{
dir = 5
@@ -50526,6 +50484,14 @@
},
/turf/open/floor/iron/dark/small,
/area/station/ai_monitored/turret_protected/ai)
+"hxT" = (
+/obj/effect/turf_decal/trimline/yellow/filled/warning,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable/layer1,
+/turf/open/floor/iron/dark/small,
+/area/station/engineering/main)
"hyb" = (
/obj/effect/turf_decal/trimline/dark/corner{
dir = 1
@@ -50708,6 +50674,22 @@
},
/turf/open/floor/iron/dark/small,
/area/station/hallway/primary/port)
+"hzc" = (
+/obj/structure/table/reinforced/rglass,
+/obj/item/storage/fancy/cigarettes/cigars/havana{
+ pixel_y = 8
+ },
+/obj/item/lighter{
+ pixel_y = -15;
+ pixel_x = -4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/item/reagent_containers/cup/glass/flask/gold{
+ pixel_y = -13;
+ pixel_x = 6
+ },
+/turf/open/floor/carpet/royalblue,
+/area/station/command/heads_quarters/captain)
"hzk" = (
/obj/effect/turf_decal/trimline/blue/end{
dir = 4
@@ -52738,6 +52720,22 @@
/obj/structure/mirror/directional/south,
/turf/open/floor/wood/large,
/area/station/service/theater_dressing)
+"hPy" = (
+/obj/effect/turf_decal/weather/snow/corner{
+ dir = 6
+ },
+/obj/structure/rack,
+/obj/item/toy/snowball,
+/obj/item/clothing/glasses/cold,
+/obj/item/wrench/medical,
+/obj/item/food/popsicle/creamsicle_berry,
+/obj/item/tank/internals/anesthetic,
+/obj/machinery/light/small/directional/south,
+/obj/effect/turf_decal/weather/snow,
+/obj/machinery/airalarm/directional/south,
+/obj/effect/mapping_helpers/airalarm/tlv_cold_room,
+/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+/area/station/medical/coldroom)
"hPD" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -53883,6 +53881,24 @@
/obj/machinery/holopad,
/turf/open/floor/glass/reinforced,
/area/station/science/lower)
+"hYv" = (
+/obj/effect/turf_decal/siding/thinplating_new/dark{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/trimline/yellow/corner{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable/layer1,
+/turf/open/floor/iron/dark/textured_edge{
+ dir = 4
+ },
+/area/station/engineering/engine_smes)
"hYy" = (
/obj/structure/cable,
/turf/open/floor/iron/dark/textured_edge,
@@ -54277,6 +54293,19 @@
dir = 10
},
/area/station/commons/dorms)
+"iaT" = (
+/obj/effect/turf_decal/trimline/yellow/filled/warning{
+ dir = 1
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/junction/yjunction{
+ dir = 1
+ },
+/obj/structure/cable/layer1,
+/turf/open/floor/iron/dark/small,
+/area/station/engineering/main)
"iaU" = (
/obj/effect/turf_decal/siding/white{
dir = 1
@@ -57573,21 +57602,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/grass,
/area/station/maintenance/fore/greater)
-"iAU" = (
-/obj/machinery/door/airlock/maintenance,
-/obj/effect/mapping_helpers/airlock/access/all/service/kitchen,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/duct,
-/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden{
- dir = 4
- },
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/plating,
-/area/station/maintenance/port/fore)
"iAX" = (
/obj/structure/cable,
/obj/effect/mapping_helpers/airlock/access/all/security/general,
@@ -59798,20 +59812,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
-"iRa" = (
-/obj/effect/decal/cleanable/vomit,
-/obj/item/reagent_containers/pill/insulin{
- pixel_y = 7;
- pixel_x = -5
- },
-/obj/structure/chair/stool/directional/east,
-/obj/structure/sign/warning/electric_shock/directional/west,
-/obj/effect/turf_decal/siding/thinplating_new/dark/corner,
-/obj/effect/turf_decal/trimline/dark/corner,
-/turf/open/floor/iron/dark/side{
- dir = 9
- },
-/area/station/maintenance/department/cargo)
"iRb" = (
/obj/item/clothing/suit/jacket/straight_jacket,
/obj/item/clothing/glasses/blindfold,
@@ -60119,19 +60119,6 @@
dir = 1
},
/area/station/security/brig)
-"iTP" = (
-/obj/effect/turf_decal/trimline/yellow/filled/warning{
- dir = 1
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/junction/yjunction{
- dir = 1
- },
-/obj/structure/cable/layer1,
-/turf/open/floor/iron/dark/small,
-/area/station/engineering/main)
"iTT" = (
/obj/structure/cable,
/obj/structure/sign/poster/contraband/babel_device/directional/north,
@@ -61771,13 +61758,6 @@
/obj/effect/turf_decal/trimline/green,
/turf/open/floor/iron/dark/small,
/area/station/science/robotics/lab)
-"jhk" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/structure/cable/multilayer/connected,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter)
"jhA" = (
/obj/machinery/holopad{
pixel_x = 1
@@ -62531,6 +62511,16 @@
/obj/structure/cable,
/turf/open/floor/iron/dark/herringbone,
/area/station/ai_monitored/turret_protected/aisat/atmos)
+"joD" = (
+/obj/item/reagent_containers/applicator/pill/maintenance,
+/obj/item/reagent_containers/syringe/multiver{
+ pixel_x = -18;
+ pixel_y = 10
+ },
+/obj/effect/decal/cleanable/confetti,
+/obj/effect/mapping_helpers/broken_floor,
+/turf/open/floor/plating,
+/area/station/maintenance/department/cargo)
"joJ" = (
/obj/structure/hedge,
/obj/structure/railing{
@@ -63195,6 +63185,13 @@
/obj/structure/flora/bush/lavendergrass/style_random,
/turf/open/floor/grass,
/area/station/maintenance/port/central)
+"jto" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/cable/multilayer/connected,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter)
"jtF" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -63402,6 +63399,20 @@
/obj/machinery/firealarm/directional/south,
/turf/open/floor/iron/dark/smooth_edge,
/area/station/medical/pharmacy)
+"jvk" = (
+/obj/effect/decal/cleanable/vomit,
+/obj/item/reagent_containers/applicator/pill/insulin{
+ pixel_y = 7;
+ pixel_x = -5
+ },
+/obj/structure/chair/stool/directional/east,
+/obj/structure/sign/warning/electric_shock/directional/west,
+/obj/effect/turf_decal/siding/thinplating_new/dark/corner,
+/obj/effect/turf_decal/trimline/dark/corner,
+/turf/open/floor/iron/dark/side{
+ dir = 9
+ },
+/area/station/maintenance/department/cargo)
"jvm" = (
/obj/structure/cable,
/obj/structure/broken_flooring/singular/directional/east,
@@ -64382,22 +64393,6 @@
},
/turf/open/floor/iron/dark,
/area/station/cargo/sorting)
-"jBr" = (
-/obj/structure/table/reinforced/rglass,
-/obj/item/storage/fancy/cigarettes/cigars/havana{
- pixel_y = 8
- },
-/obj/item/lighter{
- pixel_y = -15;
- pixel_x = -4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/item/reagent_containers/cup/glass/flask/gold{
- pixel_y = -13;
- pixel_x = 6
- },
-/turf/open/floor/carpet/royalblue,
-/area/station/command/heads_quarters/captain)
"jBy" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/poddoor/shutters/preopen{
@@ -65279,6 +65274,22 @@
},
/turf/open/floor/iron/dark/small,
/area/station/hallway/secondary/command)
+"jHL" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/obj/machinery/power/terminal{
+ dir = 1;
+ cable_layer = 1
+ },
+/obj/effect/turf_decal/trimline/yellow/filled/corner{
+ dir = 8
+ },
+/obj/structure/cable/multilayer/layer1,
+/turf/open/floor/iron/dark/textured_corner{
+ dir = 8
+ },
+/area/station/engineering/engine_smes)
"jHP" = (
/obj/structure/railing,
/obj/effect/turf_decal/siding/wideplating_new/dark,
@@ -66221,6 +66232,18 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/iron/dark,
/area/station/maintenance/starboard/central)
+"jPE" = (
+/obj/machinery/holopad,
+/obj/effect/turf_decal/box/white{
+ color = "#EFB341"
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/landmark/event_spawn,
+/obj/structure/cable/layer1,
+/turf/open/floor/iron/dark/small,
+/area/station/engineering/main)
"jPI" = (
/obj/machinery/power/apc/auto_name/directional/east,
/obj/item/kirbyplants/random,
@@ -67059,15 +67082,6 @@
/obj/item/clothing/glasses/hud/health,
/turf/open/floor/carpet/blue,
/area/station/command/heads_quarters/cmo)
-"jWj" = (
-/obj/machinery/door/poddoor/shutters/radiation/preopen{
- id = "engsm";
- name = "Radiation Chamber Shutters"
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable/layer1,
-/turf/open/floor/plating,
-/area/station/engineering/supermatter)
"jWn" = (
/obj/machinery/door/poddoor/preopen{
id = "queue_hop";
@@ -68303,17 +68317,6 @@
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/station/engineering/main)
-"kfz" = (
-/obj/structure/railing{
- dir = 1
- },
-/obj/machinery/firealarm/directional/north,
-/obj/structure/cable/layer1,
-/turf/open/floor/iron/stairs/left{
- dir = 8;
- color = "#3d3e42"
- },
-/area/station/engineering/engine_smes)
"kfA" = (
/obj/effect/turf_decal/siding/wood{
dir = 4
@@ -68441,37 +68444,6 @@
},
/turf/open/floor/wood/large,
/area/station/commons/vacant_room/office)
-"kgO" = (
-/obj/structure/table/reinforced/plastitaniumglass,
-/obj/item/reagent_containers/pill/lsd{
- pixel_y = 8;
- pixel_x = 8
- },
-/obj/item/reagent_containers/cup/mortar{
- pixel_x = -4;
- pixel_y = 11
- },
-/obj/effect/decal/cleanable/brimdust{
- plane = -7;
- pixel_y = -7
- },
-/obj/item/implantcase/chem{
- pixel_y = -11;
- pixel_x = -1
- },
-/obj/item/reagent_containers/cup/blastoff_ampoule{
- pixel_x = 7;
- pixel_y = 2
- },
-/obj/item/reagent_containers/pill/lsd{
- pixel_x = -8
- },
-/obj/item/reagent_containers/pill/happy{
- pixel_y = -1
- },
-/obj/structure/sign/poster/official/plasma_effects/directional/north,
-/turf/open/floor/iron/smooth,
-/area/station/maintenance/department/bridge)
"kgS" = (
/obj/effect/turf_decal/trimline/red/filled/line{
dir = 10
@@ -68884,6 +68856,15 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
+"kjC" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
+/obj/effect/turf_decal/siding/thinplating_new/dark/corner,
+/obj/structure/cable/layer1,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"kjF" = (
/turf/open/floor/iron/stairs{
color = "#5d341f"
@@ -69595,22 +69576,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/dark/small,
/area/station/engineering/atmos)
-"koa" = (
-/obj/effect/turf_decal/weather/snow/corner{
- dir = 6
- },
-/obj/structure/rack,
-/obj/item/toy/snowball,
-/obj/item/clothing/glasses/cold,
-/obj/item/wrench/medical,
-/obj/item/food/popsicle/creamsicle_berry,
-/obj/item/tank/internals/anesthetic,
-/obj/machinery/light/small/directional/south,
-/obj/effect/turf_decal/weather/snow,
-/obj/machinery/airalarm/directional/south,
-/obj/effect/mapping_helpers/airalarm/tlv_cold_room,
-/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
-/area/station/medical/coldroom)
"koc" = (
/obj/effect/turf_decal/siding/wideplating_new/light/corner,
/obj/effect/turf_decal/tile/blue/opposingcorners,
@@ -71426,18 +71391,21 @@
/obj/item/bouquet/rose,
/turf/open/floor/iron/dark/textured_large,
/area/station/service/chapel/funeral)
+"kAu" = (
+/obj/structure/table/reinforced/rglass,
+/obj/item/storage/box/monkeycubes{
+ pixel_y = 10;
+ pixel_x = 0
+ },
+/obj/item/flesh_shears{
+ pixel_y = -5
+ },
+/turf/open/floor/iron/dark/textured,
+/area/station/science/genetics)
"kAw" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/closed/wall/r_wall,
/area/station/engineering/supermatter)
-"kAF" = (
-/obj/machinery/newscaster/directional/west,
-/obj/effect/turf_decal/siding/dark/corner,
-/obj/effect/turf_decal/siding/brown{
- dir = 9
- },
-/turf/open/floor/iron/dark,
-/area/station/cargo/breakroom)
"kAG" = (
/obj/effect/turf_decal/siding/thinplating_new/dark{
dir = 4
@@ -71462,13 +71430,6 @@
/obj/structure/cable,
/turf/open/floor/glass/reinforced/airless,
/area/space/nearstation)
-"kAP" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 10
- },
-/obj/item/kirbyplants/organic/plant18,
-/turf/open/floor/wood/parquet,
-/area/station/cargo/mining_breakroom)
"kAT" = (
/obj/effect/turf_decal/bot,
/obj/effect/spawner/random/structure/closet_empty/crate,
@@ -74135,18 +74096,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/disposal)
-"kUS" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 10
- },
-/obj/machinery/disposal/bin,
-/obj/structure/disposalpipe/trunk{
- dir = 4
- },
-/obj/item/radio/intercom/directional/south,
-/obj/structure/secure_safe/directional/west,
-/turf/open/floor/wood/large,
-/area/station/command/heads_quarters/captain)
"kVd" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -74494,6 +74443,18 @@
},
/turf/open/floor/plating,
/area/station/maintenance/port/central)
+"kYc" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/obj/effect/turf_decal/trimline/yellow/filled/corner,
+/obj/machinery/power/terminal{
+ dir = 1;
+ cable_layer = 1
+ },
+/obj/structure/cable/multilayer/layer1,
+/turf/open/floor/iron/dark/textured_corner,
+/area/station/engineering/engine_smes)
"kYv" = (
/obj/effect/turf_decal/siding/dark{
dir = 5
@@ -74928,11 +74889,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"lcj" = (
-/obj/structure/cable,
-/obj/structure/cable/layer1,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"lcm" = (
/obj/effect/turf_decal/bot,
/mob/living/simple_animal/bot/mulebot{
@@ -75382,6 +75338,12 @@
"lgA" = (
/turf/closed/wall/r_wall,
/area/station/science/cytology)
+"lgC" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
+/obj/structure/cable,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/glass/reinforced,
+/area/station/engineering/supermatter/room/upper)
"lgQ" = (
/turf/open/floor/carpet/donk,
/area/station/cargo/miningoffice)
@@ -75521,6 +75483,13 @@
/obj/effect/turf_decal/trimline/brown/line,
/turf/open/floor/iron,
/area/station/cargo/miningoffice)
+"lhH" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable/multilayer/connected,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter)
"lhK" = (
/obj/structure/railing{
dir = 4
@@ -75986,18 +75955,6 @@
},
/turf/open/floor/iron/dark/small,
/area/station/engineering/atmos/hfr_room)
-"lkP" = (
-/obj/machinery/door/airlock/command{
- name = "E.V.A. Storage"
- },
-/obj/effect/turf_decal/tile/dark_blue/fourcorners,
-/obj/machinery/door/firedoor,
-/obj/effect/mapping_helpers/airlock/access/any/command/eva,
-/obj/effect/landmark/navigate_destination,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/mapping_helpers/airlock/red_alert_access,
-/turf/open/floor/iron/dark/textured,
-/area/station/ai_monitored/command/storage/eva)
"lkQ" = (
/obj/structure/sign/warning/secure_area/directional/south,
/obj/effect/decal/cleanable/vomit/nebula,
@@ -76594,27 +76551,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/wood/large,
/area/station/command/heads_quarters/rd)
-"lpf" = (
-/obj/structure/table,
-/obj/item/toy/cards/deck/blank{
- pixel_y = 3
- },
-/obj/item/toy/cards/deck{
- pixel_y = 6
- },
-/obj/item/reagent_containers/cup/glass/mug/britcup{
- pixel_x = -7;
- pixel_y = 9
- },
-/obj/effect/turf_decal/siding/blue{
- dir = 6
- },
-/obj/machinery/newscaster/directional/south,
-/obj/effect/turf_decal/siding/dark/corner{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/medical/break_room)
"lpp" = (
/obj/effect/turf_decal/tile/dark_blue/anticorner/contrasted,
/obj/effect/turf_decal/trimline/dark_blue/filled/corner{
@@ -77868,6 +77804,19 @@
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron/white,
/area/station/medical/chemistry)
+"lzt" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/meter,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
+/obj/effect/turf_decal/siding/thinplating_new/dark/corner{
+ dir = 4
+ },
+/obj/effect/turf_decal/siding/thinplating_new/dark/corner,
+/obj/structure/cable/layer1,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"lzw" = (
/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
dir = 4
@@ -78421,15 +78370,6 @@
},
/turf/open/floor/glass/reinforced,
/area/station/hallway/primary/fore)
-"lDF" = (
-/obj/machinery/door/poddoor/shutters/radiation/preopen{
- id = "engsm";
- name = "Radiation Chamber Shutters"
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable/layer1,
-/turf/open/floor/plating,
-/area/station/engineering/supermatter)
"lDI" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -79241,6 +79181,25 @@
/obj/machinery/telecomms/hub/preset,
/turf/open/floor/iron/dark/telecomms,
/area/station/tcommsat/server)
+"lKR" = (
+/obj/effect/mapping_helpers/airlock/access/all/service/kitchen,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/caution/stand_clear/white{
+ dir = 8
+ },
+/obj/effect/turf_decal/bot_white,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/duct,
+/obj/machinery/door/airlock/freezer{
+ name = "Freezer"
+ },
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/iron/dark,
+/area/station/service/kitchen/coldroom)
"lKT" = (
/obj/effect/turf_decal/siding/thinplating_new/dark,
/obj/effect/turf_decal/siding/thinplating_new/dark/corner{
@@ -80771,19 +80730,6 @@
/obj/structure/window/reinforced/spawner/directional/west,
/turf/open/floor/iron/dark/textured_large,
/area/station/science/ordnance/storage)
-"lXK" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible,
-/obj/machinery/status_display/ai/directional/east,
-/obj/effect/turf_decal/siding/thinplating_new/dark{
- dir = 8
- },
-/obj/structure/cable/layer1,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"lXL" = (
/obj/structure/sign/clock,
/turf/closed/wall,
@@ -82870,31 +82816,6 @@
},
/turf/open/floor/iron/dark/smooth_half,
/area/station/security/eva)
-"mpv" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 1
- },
-/obj/effect/turf_decal/siding/wood/corner{
- dir = 8
- },
-/obj/machinery/button/door/directional/north{
- id = "capoffice";
- name = "Privacy Control";
- pixel_y = 26;
- req_access = list("captain");
- pixel_x = -7
- },
-/obj/machinery/light/directional/north,
-/obj/machinery/camera/autoname/directional/north,
-/obj/machinery/keycard_auth/wall_mounted/directional/north{
- pixel_x = 6
- },
-/obj/machinery/light_switch/directional/north{
- pixel_y = 36;
- pixel_x = -7
- },
-/turf/open/floor/wood/large,
-/area/station/command/heads_quarters/captain)
"mpz" = (
/obj/item/ammo_casing{
pixel_x = -6;
@@ -83186,6 +83107,17 @@
},
/turf/open/floor/iron/dark/textured,
/area/station/engineering/storage/tech)
+"mrF" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/obj/machinery/greenscreen_camera{
+ dir = 8;
+ pixel_y = 4;
+ pixel_x = -4
+ },
+/turf/open/floor/wood/large,
+/area/station/command/heads_quarters/captain)
"mrN" = (
/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/oxygen_input{
dir = 1
@@ -85114,6 +85046,16 @@
/obj/structure/sign/nanotrasen,
/turf/closed/wall,
/area/space/nearstation)
+"mGy" = (
+/obj/machinery/light_switch/directional/south,
+/obj/structure/railing,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/iron/stairs/right{
+ dir = 8;
+ color = "#3d3e42"
+ },
+/area/station/engineering/engine_smes)
"mGG" = (
/obj/effect/turf_decal/siding/wood{
dir = 9
@@ -88361,6 +88303,19 @@
/obj/effect/landmark/start/hangover,
/turf/open/floor/iron/dark/textured,
/area/station/commons/dorms)
+"ngf" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable/layer1,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"ngi" = (
/obj/structure/railing{
dir = 5
@@ -88689,6 +88644,22 @@
},
/turf/open/floor/iron/dark/herringbone,
/area/station/service/chapel/funeral)
+"njs" = (
+/obj/machinery/light_switch/directional/west,
+/obj/effect/turf_decal/siding/blue{
+ dir = 10
+ },
+/obj/effect/turf_decal/siding/dark/corner{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/blue/diagonal_edge,
+/obj/structure/cable,
+/obj/item/kirbyplants/random,
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/turf/open/floor/iron/dark/diagonal,
+/area/station/medical/break_room)
"njv" = (
/obj/structure/table/wood,
/obj/item/flashlight/lamp/green{
@@ -90466,6 +90437,18 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
+"nwZ" = (
+/obj/machinery/door/airlock/command{
+ name = "E.V.A. Storage"
+ },
+/obj/effect/turf_decal/tile/dark_blue/fourcorners,
+/obj/machinery/door/firedoor,
+/obj/effect/mapping_helpers/airlock/access/any/command/eva,
+/obj/effect/landmark/navigate_destination,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/mapping_helpers/airlock/red_alert_access,
+/turf/open/floor/iron/dark/textured,
+/area/station/ai_monitored/command/storage/eva)
"nxa" = (
/obj/effect/turf_decal/trimline/blue/filled/line{
dir = 1
@@ -90983,17 +90966,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/wood/large,
/area/station/service/theater)
-"nBa" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 4
- },
-/obj/machinery/greenscreen_camera{
- dir = 8;
- pixel_y = 4;
- pixel_x = -4
- },
-/turf/open/floor/wood/large,
-/area/station/command/heads_quarters/captain)
"nBd" = (
/obj/effect/turf_decal/tile/purple/half/contrasted{
dir = 8
@@ -94253,26 +94225,6 @@
/obj/structure/extinguisher_cabinet/directional/south,
/turf/open/floor/iron/dark/small,
/area/station/service/theater)
-"oaw" = (
-/obj/structure/table/glass,
-/obj/structure/sign/poster/official/help_others/directional/north,
-/obj/item/storage/medkit/regular,
-/obj/item/storage/medkit/brute{
- pixel_x = 3;
- pixel_y = 3
- },
-/obj/item/storage/medkit/brute,
-/obj/item/storage/medkit/brute{
- pixel_x = -3;
- pixel_y = -3
- },
-/obj/machinery/door/window/left/directional/south{
- name = "First-Aid Supplies";
- req_access = list("medical")
- },
-/obj/effect/mapping_helpers/airlock/red_alert_access,
-/turf/open/floor/iron/dark,
-/area/station/medical/storage)
"oay" = (
/obj/effect/turf_decal/siding/wideplating_new/dark,
/obj/structure/railing{
@@ -95460,16 +95412,6 @@
},
/turf/open/floor/iron/dark,
/area/station/hallway/secondary/command)
-"oiG" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 1
- },
-/obj/structure/table/wood,
-/obj/structure/sign/clock/directional/north,
-/obj/item/dice/d20,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/wood/tile,
-/area/station/science/breakroom)
"oiJ" = (
/obj/effect/turf_decal/siding/purple,
/obj/effect/turf_decal/trimline/purple/filled/line,
@@ -96613,36 +96555,10 @@
dir = 4
},
/area/station/service/chapel/funeral)
-"oqy" = (
-/obj/machinery/light_switch/directional/west,
-/obj/effect/turf_decal/siding/blue{
- dir = 10
- },
-/obj/effect/turf_decal/siding/dark/corner{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue/diagonal_edge,
-/obj/structure/cable,
-/obj/item/kirbyplants/random,
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/turf/open/floor/iron/dark/diagonal,
-/area/station/medical/break_room)
"oqE" = (
/obj/structure/chair/stool/directional/west,
/turf/open/floor/plating,
/area/station/maintenance/starboard/central)
-"oqF" = (
-/obj/machinery/light_switch/directional/south,
-/obj/structure/railing,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/iron/stairs/right{
- dir = 8;
- color = "#3d3e42"
- },
-/area/station/engineering/engine_smes)
"oqS" = (
/obj/effect/turf_decal/siding/wood{
dir = 4
@@ -97836,6 +97752,16 @@
color = "#3d3e42"
},
/area/station/command)
+"ozX" = (
+/obj/effect/decal/cleanable/blood/old,
+/obj/item/reagent_containers/applicator/pill/happy{
+ pixel_y = 11;
+ pixel_x = -8
+ },
+/obj/machinery/iv_drip,
+/obj/effect/mapping_helpers/broken_floor,
+/turf/open/floor/plating,
+/area/station/maintenance/department/cargo)
"ozZ" = (
/obj/structure/sign/poster/random/directional/west,
/obj/effect/spawner/random/structure/grille,
@@ -99664,6 +99590,27 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/plastic,
/area/station/security/prison/work)
+"oOm" = (
+/obj/structure/table,
+/obj/item/toy/cards/deck/blank{
+ pixel_y = 3
+ },
+/obj/item/toy/cards/deck{
+ pixel_y = 6
+ },
+/obj/item/reagent_containers/cup/glass/mug/britcup{
+ pixel_x = -7;
+ pixel_y = 9
+ },
+/obj/effect/turf_decal/siding/blue{
+ dir = 6
+ },
+/obj/machinery/newscaster/directional/south,
+/obj/effect/turf_decal/siding/dark/corner{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/station/medical/break_room)
"oOr" = (
/obj/effect/spawner/structure/window/reinforced/tinted,
/turf/open/floor/plating,
@@ -100028,15 +99975,6 @@
},
/turf/open/floor/iron/dark/textured_half,
/area/station/security/detectives_office)
-"oQa" = (
-/obj/machinery/door/airlock/command/glass{
- name = "Server Access"
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden,
-/obj/effect/mapping_helpers/airlock/access/all/science/rd,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/iron/dark,
-/area/station/science/server)
"oQc" = (
/obj/machinery/computer/prisoner/management{
dir = 1
@@ -103904,18 +103842,6 @@
/obj/structure/stairs/north,
/turf/open/floor/iron/dark,
/area/station/engineering/atmos)
-"prP" = (
-/obj/machinery/holopad,
-/obj/effect/turf_decal/box/white{
- color = "#EFB341"
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/landmark/event_spawn,
-/obj/structure/cable/layer1,
-/turf/open/floor/iron/dark/small,
-/area/station/engineering/main)
"prQ" = (
/turf/closed/wall/r_wall,
/area/station/maintenance/starboard/aft)
@@ -106315,6 +106241,21 @@
/obj/structure/cable,
/turf/open/floor/iron/dark/textured,
/area/station/security/prison)
+"pIN" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/siding/thinplating_new/dark{
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/green,
+/obj/machinery/atmospherics/components/binary/pump{
+ name = "Cooling Loop Bypass"
+ },
+/obj/structure/cable/layer1,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"pIR" = (
/obj/effect/turf_decal/siding/wood{
dir = 1
@@ -106482,6 +106423,22 @@
/obj/effect/turf_decal/siding/thinplating_new/dark,
/turf/open/floor/iron/dark/textured_large,
/area/station/maintenance/starboard/central)
+"pJU" = (
+/obj/machinery/door/airlock/research{
+ glass = 1;
+ name = "Slime Euthanization Chamber";
+ opacity = 0
+ },
+/obj/effect/turf_decal/tile/purple/fourcorners,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
+/obj/effect/mapping_helpers/airlock/access/all/science/xenobio,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/iron/dark,
+/area/station/science/xenobiology)
"pKf" = (
/obj/effect/turf_decal/trimline/red/filled/line,
/obj/effect/turf_decal/trimline/red/line{
@@ -106503,6 +106460,12 @@
/obj/machinery/computer/security,
/turf/open/floor/iron/dark/textured,
/area/station/security/checkpoint/science)
+"pKm" = (
+/obj/structure/cable,
+/obj/machinery/light/floor,
+/obj/structure/cable/layer1,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"pKt" = (
/obj/effect/turf_decal/siding/brown{
dir = 10
@@ -106568,16 +106531,6 @@
},
/turf/open/floor/iron/dark/telecomms,
/area/station/tcommsat/server)
-"pKT" = (
-/obj/structure/closet/crate/freezer/blood,
-/obj/effect/turf_decal/weather/snow/corner{
- dir = 9
- },
-/obj/machinery/iv_drip,
-/obj/effect/turf_decal/weather/snow,
-/obj/machinery/light_switch/directional/west,
-/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
-/area/station/medical/coldroom)
"pKX" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/trimline/blue/filled/line,
@@ -107585,21 +107538,6 @@
/obj/structure/marker_beacon/burgundy,
/turf/open/floor/engine/hull/reinforced,
/area/space/nearstation)
-"pSg" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/effect/turf_decal/siding/thinplating_new/dark{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/green,
-/obj/machinery/atmospherics/components/binary/pump{
- dir = 1;
- name = "Mix Bypass"
- },
-/obj/structure/cable/layer1,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"pSo" = (
/obj/structure/table/reinforced,
/obj/effect/turf_decal/siding/thinplating_new/dark{
@@ -107727,22 +107665,6 @@
/obj/machinery/computer/crew,
/turf/open/floor/carpet/blue,
/area/station/command/heads_quarters/cmo)
-"pTs" = (
-/obj/machinery/door/airlock/research{
- glass = 1;
- name = "Slime Euthanization Chamber";
- opacity = 0
- },
-/obj/effect/turf_decal/tile/purple/fourcorners,
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/obj/effect/mapping_helpers/airlock/access/all/science/xenobio,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/iron/dark,
-/area/station/science/xenobiology)
"pTz" = (
/obj/effect/turf_decal/siding/thinplating_new/dark{
dir = 5
@@ -108551,20 +108473,6 @@
/obj/structure/chair/sofa/bench/solo,
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
-"qap" = (
-/obj/effect/turf_decal/siding/thinplating_new/dark{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/line,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/obj/structure/cable/layer1,
-/turf/open/floor/iron/dark/textured_edge,
-/area/station/engineering/engine_smes)
"qar" = (
/obj/effect/spawner/random/vending/colavend,
/turf/open/floor/plating,
@@ -109852,14 +109760,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating,
/area/station/engineering/lobby)
-"qlC" = (
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/obj/structure/cable/layer1,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"qlJ" = (
/obj/structure/table/glass,
/obj/item/food/grown/poppy/lily,
@@ -110302,6 +110202,12 @@
/obj/structure/cable,
/turf/open/floor/wood,
/area/station/security/courtroom)
+"qoZ" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/sign/poster/official/safety_internals/directional/east,
+/turf/open/floor/plating,
+/area/station/maintenance/port/fore)
"qpa" = (
/obj/effect/turf_decal/stripes/line,
/obj/effect/turf_decal/siding/thinplating_new/dark,
@@ -110530,18 +110436,6 @@
},
/turf/open/floor/carpet/red,
/area/station/security/prison)
-"qqM" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/obj/machinery/status_display/evac/directional/west,
-/obj/effect/turf_decal/siding/thinplating_new/dark{
- dir = 4
- },
-/obj/structure/cable/layer1,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"qqN" = (
/obj/structure/railing{
dir = 4
@@ -112526,6 +112420,18 @@
},
/turf/open/floor/iron/dark/small,
/area/station/maintenance/central)
+"qGH" = (
+/obj/effect/turf_decal/stripes/red/line{
+ dir = 9
+ },
+/obj/effect/turf_decal/siding/thinplating_new{
+ dir = 6
+ },
+/obj/item/reagent_containers/applicator/pill/stimulant,
+/turf/open/floor/iron/dark/side{
+ dir = 6
+ },
+/area/station/maintenance/starboard/fore)
"qGI" = (
/obj/structure/rack,
/obj/item/gun/energy/e_gun/dragnet{
@@ -114542,6 +114448,17 @@
/obj/effect/landmark/start/hangover/closet,
/turf/open/floor/iron/white/small,
/area/station/commons/toilet/shower)
+"qWC" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
+/obj/effect/turf_decal/siding/thinplating_new/dark{
+ dir = 4
+ },
+/obj/structure/cable/layer1,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"qWF" = (
/obj/effect/turf_decal/trimline/brown/filled/line,
/obj/effect/turf_decal/siding/brown{
@@ -114594,6 +114511,15 @@
},
/turf/open/floor/iron/dark/textured,
/area/station/security/office)
+"qXn" = (
+/obj/machinery/door/poddoor/shutters/radiation/preopen{
+ id = "engsm";
+ name = "Radiation Chamber Shutters"
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable/layer1,
+/turf/open/floor/plating,
+/area/station/engineering/supermatter)
"qXo" = (
/obj/structure/closet/emcloset,
/obj/effect/turf_decal/trimline/blue/warning{
@@ -114834,6 +114760,26 @@
},
/turf/open/floor/engine,
/area/station/science/xenobiology)
+"qYW" = (
+/obj/structure/table/glass,
+/obj/structure/sign/poster/official/help_others/directional/north,
+/obj/item/storage/medkit/regular,
+/obj/item/storage/medkit/brute{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/storage/medkit/brute,
+/obj/item/storage/medkit/brute{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/machinery/door/window/left/directional/south{
+ name = "First-Aid Supplies";
+ req_access = list("medical")
+ },
+/obj/effect/mapping_helpers/airlock/red_alert_access,
+/turf/open/floor/iron/dark,
+/area/station/medical/storage)
"qYX" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 10
@@ -118138,6 +118084,14 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/wood/large,
/area/station/command/corporate_suite)
+"ryg" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
+/obj/structure/cable/layer1,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"ryh" = (
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt,
@@ -118591,6 +118545,27 @@
dir = 2
},
/area/station/hallway/secondary/exit/departure_lounge)
+"rBY" = (
+/obj/effect/turf_decal/siding/purple{
+ dir = 10
+ },
+/obj/structure/table,
+/obj/item/toy/cards/deck/blank{
+ pixel_y = 3
+ },
+/obj/item/toy/cards/deck{
+ pixel_y = 6
+ },
+/obj/item/reagent_containers/cup/glass/mug/britcup{
+ pixel_x = -7;
+ pixel_y = 9
+ },
+/obj/machinery/newscaster/directional/south,
+/obj/effect/turf_decal/siding/dark/corner{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/science/breakroom)
"rCc" = (
/obj/structure/flora/bush/sparsegrass/style_random,
/obj/effect/turf_decal/siding/thinplating_new/dark/end{
@@ -120338,13 +120313,6 @@
},
/turf/open/floor/glass/reinforced,
/area/station/hallway/secondary/entry)
-"rOY" = (
-/obj/item/clipboard,
-/obj/structure/table/reinforced,
-/obj/item/folder/yellow,
-/obj/item/reagent_containers/pill/patch/aiuri,
-/turf/open/floor/iron/dark/textured,
-/area/station/maintenance/disposal/incinerator)
"rPe" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -120798,6 +120766,19 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/dark/textured,
/area/station/security/prison)
+"rSZ" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/engineering/glass{
+ name = "Power Storage"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/engine_equipment,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable/layer1,
+/turf/open/floor/iron/dark/textured,
+/area/station/engineering/engine_smes)
"rTd" = (
/mob/living/basic/butterfly,
/obj/structure/flora/bush/fullgrass/style_random,
@@ -121058,6 +121039,15 @@
},
/turf/open/floor/iron/dark/small,
/area/station/service/theater)
+"rVb" = (
+/obj/machinery/door/poddoor/shutters/radiation/preopen{
+ id = "engsm";
+ name = "Radiation Chamber Shutters"
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable/layer1,
+/turf/open/floor/plating,
+/area/station/engineering/supermatter)
"rVd" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/poddoor/preopen{
@@ -122112,21 +122102,6 @@
},
/turf/open/floor/iron/dark/herringbone,
/area/station/commons/fitness/recreation/lasertag)
-"sdi" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/structure/cable,
-/obj/effect/turf_decal/siding/thinplating_new/dark{
- dir = 8
- },
-/obj/effect/turf_decal/trimline/green,
-/obj/machinery/atmospherics/components/binary/pump{
- name = "Cooling Loop Bypass"
- },
-/obj/structure/cable/layer1,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"sdm" = (
/turf/closed/wall,
/area/station/commons/vacant_room/commissary)
@@ -122626,19 +122601,6 @@
/obj/structure/flora/grass/jungle/b/style_4,
/turf/open/floor/grass,
/area/station/hallway/secondary/exit/departure_lounge)
-"sgS" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/engineering/glass{
- name = "Power Storage"
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/engine_equipment,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable/layer1,
-/turf/open/floor/iron/dark/textured,
-/area/station/engineering/engine_smes)
"sgU" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -124380,27 +124342,6 @@
/obj/structure/marker_beacon/lime,
/turf/open/floor/grass,
/area/station/hallway/secondary/entry)
-"swT" = (
-/obj/effect/turf_decal/siding/purple{
- dir = 10
- },
-/obj/structure/table,
-/obj/item/toy/cards/deck/blank{
- pixel_y = 3
- },
-/obj/item/toy/cards/deck{
- pixel_y = 6
- },
-/obj/item/reagent_containers/cup/glass/mug/britcup{
- pixel_x = -7;
- pixel_y = 9
- },
-/obj/machinery/newscaster/directional/south,
-/obj/effect/turf_decal/siding/dark/corner{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/science/breakroom)
"swY" = (
/obj/effect/turf_decal/siding/wood{
dir = 8
@@ -127253,13 +127194,6 @@
dir = 4
},
/area/station/engineering/break_room)
-"sUh" = (
-/obj/effect/turf_decal/stripes/corner,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible,
-/obj/structure/cable/layer1,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"sUj" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/curtain/cloth{
@@ -127462,6 +127396,16 @@
},
/turf/open/floor/iron/dark,
/area/station/cargo/lower)
+"sVY" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/obj/structure/table/wood,
+/obj/structure/sign/clock/directional/north,
+/obj/item/dice/d20,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/wood/tile,
+/area/station/science/breakroom)
"sVZ" = (
/obj/effect/turf_decal/trimline/red/filled/warning{
dir = 4
@@ -127858,6 +127802,18 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/iron/dark/textured_large,
/area/station/cargo/warehouse)
+"sYq" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/engineering/glass{
+ name = "Supermatter Engine Room"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/general,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable/layer1,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"sYw" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -128151,6 +128107,20 @@
/obj/effect/landmark/start/scientist,
/turf/open/floor/iron/dark,
/area/station/science/breakroom)
+"taX" = (
+/obj/effect/turf_decal/siding/thinplating_new/dark{
+ dir = 6
+ },
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/structure/rack,
+/obj/item/storage/toolbox/mechanical,
+/obj/item/reagent_containers/applicator/patch/aiuri,
+/obj/item/clothing/glasses/meson,
+/obj/structure/cable,
+/turf/open/floor/iron/dark/textured_corner{
+ dir = 1
+ },
+/area/station/command/heads_quarters/ce)
"taZ" = (
/obj/effect/turf_decal/siding/thinplating/dark{
dir = 1
@@ -130451,6 +130421,37 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/carpet,
/area/station/security/courtroom)
+"tsE" = (
+/obj/structure/table/reinforced/plastitaniumglass,
+/obj/item/reagent_containers/applicator/pill/lsd{
+ pixel_y = 8;
+ pixel_x = 8
+ },
+/obj/item/reagent_containers/cup/mortar{
+ pixel_x = -4;
+ pixel_y = 11
+ },
+/obj/effect/decal/cleanable/brimdust{
+ plane = -7;
+ pixel_y = -7
+ },
+/obj/item/implantcase/chem{
+ pixel_y = -11;
+ pixel_x = -1
+ },
+/obj/item/reagent_containers/cup/blastoff_ampoule{
+ pixel_x = 7;
+ pixel_y = 2
+ },
+/obj/item/reagent_containers/applicator/pill/lsd{
+ pixel_x = -8
+ },
+/obj/item/reagent_containers/applicator/pill/happy{
+ pixel_y = -1
+ },
+/obj/structure/sign/poster/official/plasma_effects/directional/north,
+/turf/open/floor/iron/smooth,
+/area/station/maintenance/department/bridge)
"tsJ" = (
/obj/structure/chair/sofa/corp/right,
/turf/open/floor/carpet/royalblue,
@@ -133408,6 +133409,31 @@
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/station/command)
+"tMS" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/wood/corner{
+ dir = 8
+ },
+/obj/machinery/button/door/directional/north{
+ id = "capoffice";
+ name = "Privacy Control";
+ pixel_y = 26;
+ req_access = list("captain");
+ pixel_x = -7
+ },
+/obj/machinery/light/directional/north,
+/obj/machinery/camera/autoname/directional/north,
+/obj/machinery/keycard_auth/wall_mounted/directional/north{
+ pixel_x = 6
+ },
+/obj/machinery/light_switch/directional/north{
+ pixel_y = 36;
+ pixel_x = -7
+ },
+/turf/open/floor/wood/large,
+/area/station/command/heads_quarters/captain)
"tMT" = (
/obj/structure/sign/departments/medbay/alt/directional/west,
/obj/machinery/light/directional/west,
@@ -135166,12 +135192,6 @@
},
/turf/open/floor/iron/dark,
/area/station/science/cytology)
-"uax" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/sign/poster/official/safety_internals/directional/east,
-/turf/open/floor/plating,
-/area/station/maintenance/port/fore)
"uaz" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
@@ -136680,14 +136700,6 @@
dir = 6
},
/area/station/maintenance/department/science)
-"uoF" = (
-/obj/effect/turf_decal/trimline/yellow/filled/warning,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable/layer1,
-/turf/open/floor/iron/dark/small,
-/area/station/engineering/main)
"uoH" = (
/obj/effect/turf_decal/siding/wood/corner,
/obj/effect/turf_decal/siding/wood/corner{
@@ -137566,22 +137578,6 @@
/obj/effect/spawner/random/vending/snackvend,
/turf/open/floor/iron,
/area/station/commons/dorms)
-"uvR" = (
-/obj/structure/window/reinforced/spawner/directional/north,
-/obj/structure/window/reinforced/spawner/directional/west,
-/obj/structure/closet{
- anchored = 1;
- can_be_unanchored = 1;
- name = "Cold protection gear"
- },
-/obj/effect/turf_decal/tile/purple/fourcorners,
-/obj/item/clothing/shoes/winterboots,
-/obj/item/clothing/shoes/winterboots,
-/obj/item/clothing/suit/hooded/wintercoat/science,
-/obj/item/clothing/suit/hooded/wintercoat/science,
-/obj/item/storage/bag/xeno,
-/turf/open/floor/iron/dark,
-/area/station/science/xenobiology)
"uvU" = (
/obj/effect/turf_decal/siding/wood{
dir = 1
@@ -139967,13 +139963,6 @@
},
/turf/open/floor/circuit/green,
/area/station/cargo/bitrunning/den)
-"uPH" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/structure/cable/multilayer/connected,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter)
"uPK" = (
/obj/effect/turf_decal/tile/dark/diagonal_centre,
/obj/structure/table/glass,
@@ -140002,6 +139991,21 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/command/bridge)
+"uPY" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible,
+/obj/effect/turf_decal/siding/thinplating_new/dark/corner{
+ dir = 1
+ },
+/obj/effect/turf_decal/siding/thinplating_new/dark/corner{
+ dir = 8
+ },
+/obj/structure/cable/layer1,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"uQa" = (
/obj/effect/turf_decal/bot,
/obj/machinery/mech_bay_recharge_port{
@@ -141097,17 +141101,6 @@
},
/turf/open/floor/iron/dark/textured,
/area/station/ai_monitored/security/armory)
-"uXN" = (
-/obj/structure/table/reinforced/rglass,
-/obj/item/storage/box/monkeycubes{
- pixel_y = 10;
- pixel_x = 0
- },
-/obj/item/flesh_shears{
- pixel_y = -5
- },
-/turf/open/floor/iron/dark/textured,
-/area/station/science/genetics)
"uXR" = (
/obj/effect/turf_decal/siding/wood/corner,
/obj/effect/turf_decal/siding/wood{
@@ -144003,6 +143996,20 @@
/obj/machinery/firealarm/directional/east,
/turf/open/floor/iron/dark,
/area/station/hallway/secondary/exit/departure_lounge)
+"vrJ" = (
+/obj/effect/turf_decal/siding/brown{
+ dir = 5
+ },
+/obj/machinery/light_switch/directional/east,
+/obj/effect/turf_decal/siding/dark/corner{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/brown/diagonal_edge,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/item/kirbyplants/random,
+/turf/open/floor/iron/dark/diagonal,
+/area/station/cargo/breakroom)
"vrK" = (
/obj/effect/turf_decal/siding/wideplating_new/dark/corner{
dir = 4
@@ -145783,6 +145790,11 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/dark/textured_large,
/area/station/maintenance/starboard/central)
+"vFl" = (
+/obj/structure/cable,
+/obj/structure/cable/layer1,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"vFn" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -146090,14 +146102,6 @@
},
/turf/open/floor/carpet/red,
/area/station/service/library/upper)
-"vHM" = (
-/obj/machinery/light/directional/west,
-/obj/structure/sign/poster/greenscreen/directional/west,
-/obj/effect/turf_decal/siding/wood{
- dir = 8
- },
-/turf/open/floor/wood/large,
-/area/station/command/heads_quarters/captain)
"vHR" = (
/obj/effect/turf_decal/stripes/corner{
dir = 4
@@ -147200,6 +147204,19 @@
/obj/structure/sign/warning/electric_shock/directional/north,
/turf/open/floor/iron/dark,
/area/station/security/execution/education)
+"vRa" = (
+/obj/machinery/door/airlock/command{
+ name = "E.V.A. Storage"
+ },
+/obj/effect/turf_decal/tile/dark_blue/fourcorners,
+/obj/machinery/door/firedoor,
+/obj/effect/mapping_helpers/airlock/access/any/command/eva,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/segment,
+/obj/effect/mapping_helpers/airlock/red_alert_access,
+/turf/open/floor/iron/dark/textured,
+/area/station/ai_monitored/command/storage/eva)
"vRe" = (
/obj/structure/flora/grass/jungle/b/style_random,
/obj/structure/flora/bush/lavendergrass/style_random,
@@ -148383,18 +148400,6 @@
},
/turf/open/floor/engine,
/area/station/science/xenobiology)
-"waK" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/engineering/glass{
- name = "Supermatter Engine Room"
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/general,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable/layer1,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"waN" = (
/obj/effect/landmark/start/hangover,
/turf/open/floor/carpet/neon/simple/red/nodots,
@@ -148756,6 +148761,18 @@
},
/turf/open/floor/plating,
/area/station/maintenance/aft/lesser)
+"wdx" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 10
+ },
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/obj/item/radio/intercom/directional/south,
+/obj/structure/secure_safe/directional/west,
+/turf/open/floor/wood/large,
+/area/station/command/heads_quarters/captain)
"wdz" = (
/obj/effect/turf_decal/siding/purple{
dir = 1
@@ -149947,18 +149964,6 @@
"wmR" = (
/turf/closed/wall,
/area/station/security/prison/rec)
-"wmS" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 9
- },
-/obj/effect/turf_decal/trimline/yellow/filled/corner,
-/obj/machinery/power/terminal{
- dir = 1;
- cable_layer = 1
- },
-/obj/structure/cable/multilayer/layer1,
-/turf/open/floor/iron/dark/textured_corner,
-/area/station/engineering/engine_smes)
"wmV" = (
/obj/structure/cable,
/obj/effect/turf_decal/siding/thinplating_new/dark{
@@ -150388,12 +150393,6 @@
},
/turf/open/floor/iron/dark/textured,
/area/station/security/checkpoint/science)
-"wqS" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable/layer1,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"wrb" = (
/obj/effect/turf_decal/trimline/green/line{
dir = 1
@@ -151306,18 +151305,6 @@
},
/turf/open/floor/iron/dark,
/area/station/medical/cryo)
-"wys" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible,
-/obj/effect/turf_decal/siding/thinplating_new/dark{
- dir = 8
- },
-/obj/structure/cable/layer1,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"wyv" = (
/obj/effect/turf_decal/siding/wideplating_new/dark{
dir = 5
@@ -152755,18 +152742,6 @@
/obj/machinery/portable_atmospherics/canister/oxygen,
/turf/open/floor/engine/o2,
/area/station/engineering/atmos)
-"wJF" = (
-/obj/effect/turf_decal/stripes/red/line{
- dir = 9
- },
-/obj/effect/turf_decal/siding/thinplating_new{
- dir = 6
- },
-/obj/item/reagent_containers/pill/stimulant,
-/turf/open/floor/iron/dark/side{
- dir = 6
- },
-/area/station/maintenance/starboard/fore)
"wJM" = (
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt,
@@ -153133,6 +153108,15 @@
/obj/effect/turf_decal/trimline/dark_blue/filled/line,
/turf/open/floor/iron/dark,
/area/station/hallway/secondary/command)
+"wMW" = (
+/obj/machinery/door/airlock/command/glass{
+ name = "Server Access"
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden,
+/obj/effect/mapping_helpers/airlock/access/all/science/rd,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/iron/dark,
+/area/station/science/server)
"wMY" = (
/obj/effect/turf_decal/trimline/red/filled/line{
dir = 9
@@ -153708,6 +153692,18 @@
/obj/effect/turf_decal/siding/wideplating_new/dark/corner,
/turf/open/floor/engine/hull/reinforced,
/area/space/nearstation)
+"wRm" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible,
+/obj/effect/turf_decal/siding/thinplating_new/dark/corner{
+ dir = 8
+ },
+/obj/structure/cable/layer1,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"wRq" = (
/obj/effect/turf_decal/tile/green/half/contrasted,
/obj/structure/extinguisher_cabinet/directional/south,
@@ -154348,19 +154344,6 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/iron/dark,
/area/station/engineering/atmos)
-"wWV" = (
-/obj/effect/turf_decal/stripes/line,
-/obj/structure/chair/office,
-/obj/effect/landmark/start/station_engineer,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 8
- },
-/obj/effect/turf_decal/trimline/yellow/filled/warning{
- dir = 1
- },
-/obj/structure/cable,
-/turf/open/floor/iron/dark/textured_edge,
-/area/station/engineering/engine_smes)
"wWX" = (
/obj/effect/turf_decal/box/white{
color = "#EFB341"
@@ -154487,22 +154470,6 @@
},
/turf/open/floor/wood/tile,
/area/station/service/barber)
-"wYn" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 5
- },
-/obj/machinery/power/terminal{
- dir = 1;
- cable_layer = 1
- },
-/obj/effect/turf_decal/trimline/yellow/filled/corner{
- dir = 8
- },
-/obj/structure/cable/multilayer/layer1,
-/turf/open/floor/iron/dark/textured_corner{
- dir = 8
- },
-/area/station/engineering/engine_smes)
"wYD" = (
/obj/effect/turf_decal/siding/thinplating_new/dark,
/obj/effect/turf_decal/trimline/dark/line,
@@ -157652,6 +157619,14 @@
/obj/effect/mapping_helpers/airlock/access/any/medical/pharmacy,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
+"xxw" = (
+/obj/machinery/newscaster/directional/west,
+/obj/effect/turf_decal/siding/dark/corner,
+/obj/effect/turf_decal/siding/brown{
+ dir = 9
+ },
+/turf/open/floor/iron/dark,
+/area/station/cargo/breakroom)
"xxx" = (
/turf/closed/wall/r_wall,
/area/station/engineering/break_room)
@@ -158287,6 +158262,16 @@
icon_state = "asteroid6"
},
/area/space/nearstation)
+"xCl" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/door/airlock/maintenance{
+ name = "Medbay Maintenance"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/medical/surgery,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/plating,
+/area/station/maintenance/port/fore)
"xCp" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -158487,6 +158472,18 @@
},
/turf/open/floor/carpet/red,
/area/station/service/library)
+"xEe" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
+/obj/machinery/status_display/evac/directional/west,
+/obj/effect/turf_decal/siding/thinplating_new/dark{
+ dir = 4
+ },
+/obj/structure/cable/layer1,
+/turf/open/floor/engine,
+/area/station/engineering/supermatter/room)
"xEf" = (
/obj/effect/turf_decal/siding/thinplating_new/dark{
dir = 4
@@ -158972,14 +158969,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark,
/area/station/command)
-"xHO" = (
-/obj/effect/turf_decal/trimline/dark/filled/warning{
- dir = 8
- },
-/obj/structure/cable,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/iron/dark/textured,
-/area/station/tcommsat/computer)
"xIb" = (
/obj/structure/chair/stool/directional/north,
/obj/structure/cable,
@@ -161284,6 +161273,14 @@
},
/turf/open/floor/iron/dark/small,
/area/station/engineering/lobby)
+"xZu" = (
+/obj/machinery/light/directional/west,
+/obj/structure/sign/poster/greenscreen/directional/west,
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
+ },
+/turf/open/floor/wood/large,
+/area/station/command/heads_quarters/captain)
"xZv" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -189426,7 +189423,7 @@ jmM
fmF
fkl
sIr
-kAP
+bQZ
qUF
pni
gJT
@@ -191314,13 +191311,13 @@ jkx
kfv
tOw
crD
-lcj
-sUh
-btt
-wys
-lXK
-fSm
-sdi
+vFl
+cvs
+wRm
+bwB
+gog
+uPY
+pIN
tOn
vpy
auH
@@ -191571,13 +191568,13 @@ jkx
kfv
tOw
dlK
-wqS
+aKg
bCK
uey
ulv
kAw
lVf
-jWj
+rVb
lVf
kAw
lxu
@@ -191828,13 +191825,13 @@ jkx
kfv
tOw
cph
-lcj
+vFl
wYS
hgl
qsg
bdQ
rPe
-jhk
+lhH
eFE
bdQ
sEh
@@ -192085,7 +192082,7 @@ iMt
biK
ukX
lxu
-lcj
+vFl
enK
jCi
bdQ
@@ -192342,7 +192339,7 @@ aeH
bgZ
tOw
cQB
-lcj
+vFl
tTQ
iHt
rxz
@@ -192592,14 +192589,14 @@ dRq
lTZ
rZf
klq
-qap
-sgS
-iTP
-prP
-uoF
-waK
-aAr
-fXN
+bXm
+rSZ
+iaT
+jPE
+hxT
+sYq
+ngf
+pKm
wVg
mxI
mHv
@@ -192847,16 +192844,16 @@ kOX
ydo
sSi
vAu
-bHp
-cmm
-cwz
+arT
+hYv
+eeJ
dNf
cuJ
eZB
kLF
tOw
jAZ
-lcj
+vFl
cOW
kur
wyA
@@ -193104,8 +193101,8 @@ pJz
ydo
rdK
rdK
-kfz
-oqF
+dkC
+mGy
rdK
rdK
fvH
@@ -193113,7 +193110,7 @@ far
qZM
ukX
pZH
-lcj
+vFl
ndZ
bdQ
cfF
@@ -193361,8 +193358,8 @@ xPY
fYj
rdK
xzI
-wmS
-aUK
+kYc
+aBN
rZz
dNf
eUC
@@ -193370,13 +193367,13 @@ jkx
wMG
tOw
cGI
-lcj
+vFl
wJr
lMi
sHI
bdQ
uja
-uPH
+jto
rSs
bdQ
sFX
@@ -193618,8 +193615,8 @@ uLL
uLL
uLL
cYI
-gYy
-wWV
+ggu
+cCl
jcd
dNf
wUV
@@ -193627,13 +193624,13 @@ jkx
wMG
tOw
fJo
-cPK
+gOY
tez
fEO
bqa
dSJ
pXt
-lDF
+qXn
pXt
dSJ
efA
@@ -193875,7 +193872,7 @@ hMV
biS
fxz
xzI
-wYn
+jHL
inC
ork
dNf
@@ -193884,13 +193881,13 @@ jkx
wMG
tOw
kFZ
-lcj
-qlC
-cHP
-bTC
-qqM
-eax
-pSg
+vFl
+ryg
+kjC
+qWC
+xEe
+lzt
+bmQ
ohl
ylC
gcj
@@ -194327,7 +194324,7 @@ aQS
tAD
rMq
rlC
-oqy
+njs
pUf
lpQ
phC
@@ -195359,7 +195356,7 @@ wRj
bYc
eBs
ssE
-lpf
+oOm
pUf
wdQ
oSe
@@ -195593,7 +195590,7 @@ hie
avd
rPF
wQU
-kAF
+xxw
lUV
iEv
rPF
@@ -195711,7 +195708,7 @@ nNY
gDR
haa
rzg
-rOY
+bGy
srs
qhF
wZg
@@ -196384,7 +196381,7 @@ wJb
avT
wJb
tAV
-oiG
+sVY
eJe
mpN
tAV
@@ -196882,7 +196879,7 @@ ohT
frt
jTe
rPF
-bMm
+vrJ
sfL
xPT
tAD
@@ -197415,7 +197412,7 @@ rIf
gzR
taT
rMy
-swT
+rBY
rCK
vjO
eQL
@@ -198002,7 +197999,7 @@ feH
kvl
diw
mkJ
-ftW
+taX
sBb
ybK
diw
@@ -198439,7 +198436,7 @@ wRM
wRM
cTP
gil
-dqm
+duO
rCK
ycE
eBu
@@ -198972,7 +198969,7 @@ dPx
bDj
aww
pFk
-hcd
+duN
hKz
ecV
utW
@@ -199205,7 +199202,7 @@ cWB
hrq
wRM
kCp
-oQa
+wMW
pzy
pzy
bEv
@@ -200267,7 +200264,7 @@ iIS
hDC
rdS
kLD
-pTs
+pJU
mWe
aVa
sFf
@@ -201542,7 +201539,7 @@ dPx
lYs
aww
abQ
-uvR
+cVl
kAd
vCn
gtg
@@ -208751,7 +208748,7 @@ aeM
wOF
aeM
aeM
-kgO
+tsE
dBT
oeu
lGf
@@ -208763,7 +208760,7 @@ hkO
kNu
xUj
doo
-fuB
+aov
vNk
hkD
sIZ
@@ -209017,7 +209014,7 @@ wBq
wBq
wBq
wBq
-mpv
+tMS
szi
isA
szi
@@ -209280,8 +209277,8 @@ qRh
kfA
ngm
rKa
-vHM
-kUS
+xZu
+wdx
wBq
wBq
gym
@@ -209532,12 +209529,12 @@ baE
kfA
sir
rjQ
-jBr
+hzc
sxZ
nRL
qCb
kZT
-nBa
+mrF
bUG
pem
wBq
@@ -250635,7 +250632,7 @@ aKY
rcu
rcu
rcu
-dMb
+lKR
rcu
rcu
rcu
@@ -252211,7 +252208,7 @@ azX
naa
pRJ
nlG
-blI
+gJi
naa
fQl
oth
@@ -252434,7 +252431,7 @@ qXt
xRu
hCZ
hCZ
-iAU
+eNz
hCZ
hCZ
hdF
@@ -255491,7 +255488,7 @@ lfg
qDD
nZD
kLa
-oaw
+qYW
nJX
eww
mKj
@@ -255748,7 +255745,7 @@ kLa
kLa
kLa
kLa
-cxP
+dmm
nJX
eww
tJb
@@ -256506,8 +256503,8 @@ xZG
jXs
qFJ
rbZ
-iRa
-bXj
+jvk
+ozX
mPK
qhK
ncT
@@ -256763,8 +256760,8 @@ qOf
awX
qFJ
jeQ
-gSs
-gFN
+joD
+hkq
iZG
gzE
jFG
@@ -258135,7 +258132,7 @@ jQi
jKq
fIN
tAf
-fZB
+lgC
dZR
wFD
cyW
@@ -258600,7 +258597,7 @@ okM
tok
eAi
eAi
-dIG
+fMS
eAi
hCZ
xnQ
@@ -258856,7 +258853,7 @@ bHh
ewO
jfq
eAi
-pKT
+hky
qAi
mRt
hCZ
@@ -259115,7 +259112,7 @@ bhZ
eAi
mqk
kEP
-koa
+hPy
hCZ
kSE
iMw
@@ -259371,7 +259368,7 @@ kRJ
mUr
hCZ
hCZ
-eyq
+xCl
hCZ
hCZ
aXm
@@ -259628,7 +259625,7 @@ aWl
oPA
hCZ
iae
-uax
+qoZ
rdE
ktw
wBm
@@ -259671,7 +259668,7 @@ bFB
kDP
kDP
fSq
-xHO
+haA
fSq
cOO
fBa
@@ -263201,7 +263198,7 @@ ybp
mQH
lLq
ovo
-uXN
+kAu
gBq
wLX
pxd
@@ -269139,7 +269136,7 @@ mVU
bWz
cOp
fgX
-wJF
+qGH
xpl
hlM
gCT
@@ -279435,7 +279432,7 @@ aZM
xMF
caQ
sss
-lkP
+nwZ
ans
fKQ
aiq
@@ -280977,7 +280974,7 @@ aZM
bAt
dVu
lBi
-gWt
+vRa
cvK
lYI
nuK
diff --git a/_maps/map_files/generic/CentCom.dmm b/_maps/map_files/generic/CentCom.dmm
index c091bd97c73..b2d1391750a 100644
--- a/_maps/map_files/generic/CentCom.dmm
+++ b/_maps/map_files/generic/CentCom.dmm
@@ -639,10 +639,6 @@
/obj/structure/sign/poster/random/directional/east,
/turf/open/floor/iron/smooth_large,
/area/centcom/central_command_areas/evacuation/ship)
-"cU" = (
-/obj/structure/sign/poster/greenscreen/directional/south,
-/turf/open/floor/greenscreen,
-/area/centcom/tdome/administration)
"cV" = (
/obj/effect/landmark/thunderdome/one,
/obj/effect/turf_decal/stripes/line{
@@ -2245,10 +2241,6 @@
/obj/structure/closet/wardrobe/cargotech,
/turf/open/floor/iron,
/area/centcom/central_command_areas/supply)
-"jR" = (
-/obj/structure/chair/stool/directional/south,
-/turf/open/floor/iron/grimy,
-/area/centcom/tdome/administration)
"jU" = (
/obj/effect/turf_decal/stripes/line,
/obj/machinery/computer,
@@ -2863,6 +2855,12 @@
/obj/machinery/status_display/ai/directional/south,
/turf/open/floor/iron,
/area/centcom/central_command_areas/ferry)
+"ni" = (
+/obj/effect/turf_decal/siding/dark{
+ dir = 1
+ },
+/turf/open/floor/greenscreen,
+/area/centcom/tdome/administration)
"nj" = (
/obj/machinery/firealarm/directional/west,
/obj/effect/turf_decal/tile/bar/opposingcorners,
@@ -3783,11 +3781,6 @@
},
/turf/open/floor/iron,
/area/centcom/central_command_areas/ferry)
-"ro" = (
-/obj/machinery/newscaster/directional/north,
-/obj/structure/chair,
-/turf/open/floor/iron/grimy,
-/area/centcom/tdome/administration)
"rq" = (
/obj/machinery/light/floor,
/obj/effect/turf_decal/tile/dark_blue/fourcorners,
@@ -5115,13 +5108,6 @@
},
/turf/open/floor/iron/dark,
/area/centcom/central_command_areas/evacuation/ship)
-"wW" = (
-/obj/structure/sign/flag/nanotrasen/directional/west,
-/obj/effect/turf_decal/siding/dark{
- dir = 1
- },
-/turf/open/floor/greenscreen,
-/area/centcom/tdome/administration)
"wX" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{
dir = 8
@@ -5262,10 +5248,20 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/centcom/tdome/observation)
+"xK" = (
+/obj/item/radio/intercom/directional/north,
+/obj/structure/chair,
+/turf/open/floor/iron/grimy,
+/area/centcom/tdome/administration)
"xN" = (
/obj/effect/turf_decal/tile/blue/fourcorners,
/turf/open/floor/iron,
/area/centcom/central_command_areas/control)
+"xQ" = (
+/obj/machinery/newscaster/directional/north,
+/obj/structure/chair,
+/turf/open/floor/iron/grimy,
+/area/centcom/tdome/administration)
"xR" = (
/obj/effect/turf_decal/stripes/line{
dir = 5
@@ -5570,6 +5566,13 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/centcom/central_command_areas/courtroom)
+"zd" = (
+/obj/structure/sign/flag/nanotrasen/directional/east,
+/obj/effect/turf_decal/siding/dark{
+ dir = 1
+ },
+/turf/open/floor/greenscreen,
+/area/centcom/tdome/administration)
"zf" = (
/obj/structure/table/reinforced,
/obj/item/book/manual/wiki/security_space_law,
@@ -6727,6 +6730,10 @@
},
/turf/open/floor/iron/grimy,
/area/centcom/central_command_areas/admin)
+"Eo" = (
+/obj/structure/chair/stool/directional/south,
+/turf/open/floor/iron/grimy,
+/area/centcom/tdome/administration)
"Eq" = (
/obj/structure/chair/stool/bar/directional/east,
/obj/effect/decal/cleanable/dirt,
@@ -6855,14 +6862,6 @@
/obj/effect/light_emitter/podbay,
/turf/open/floor/iron,
/area/centcom/central_command_areas/supplypod/loading/one)
-"ER" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/door/airlock/centcom{
- name = "Sound Stage"
- },
-/obj/machinery/door/firedoor,
-/turf/open/floor/iron/dark,
-/area/centcom/tdome/administration)
"EV" = (
/obj/structure/table/wood,
/obj/machinery/microwave{
@@ -6911,10 +6910,6 @@
/obj/effect/turf_decal/delivery,
/turf/open/floor/iron,
/area/centcom/central_command_areas/ferry)
-"Fi" = (
-/obj/effect/landmark/basketball/game_area,
-/turf/open/space/basic,
-/area/space)
"Fj" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/centcom{
@@ -6966,12 +6961,6 @@
/obj/machinery/status_display/evac/directional/west,
/turf/open/floor/iron/grimy,
/area/centcom/central_command_areas/courtroom)
-"Fy" = (
-/obj/machinery/greenscreen_camera{
- name = "centcom-caster"
- },
-/turf/open/floor/iron/grimy,
-/area/centcom/tdome/administration)
"Fz" = (
/obj/item/kirbyplants/organic/plant22,
/obj/effect/turf_decal/tile/neutral/fourcorners,
@@ -7105,12 +7094,6 @@
/obj/machinery/light/directional/north,
/turf/open/floor/iron,
/area/centcom/central_command_areas/admin/storage)
-"Gy" = (
-/obj/effect/turf_decal/siding/dark{
- dir = 1
- },
-/turf/open/floor/greenscreen,
-/area/centcom/tdome/administration)
"GB" = (
/obj/machinery/power/apc/auto_name/directional/west,
/obj/effect/turf_decal/stripes/line,
@@ -7554,6 +7537,10 @@
/obj/effect/turf_decal/tile/neutral/full,
/turf/open/floor/iron/dark/textured_large,
/area/centcom/central_command_areas/evacuation/ship)
+"JI" = (
+/obj/structure/sign/poster/greenscreen/directional/south,
+/turf/open/floor/greenscreen,
+/area/centcom/tdome/administration)
"JJ" = (
/obj/structure/table/wood,
/obj/item/storage/fancy/donut_box,
@@ -7612,9 +7599,10 @@
/obj/effect/mapping_helpers/airlock/access/all/admin/captain,
/turf/open/floor/iron,
/area/centcom/central_command_areas/admin)
-"Kg" = (
-/obj/item/radio/intercom/directional/north,
-/obj/structure/chair,
+"Kk" = (
+/obj/machinery/greenscreen_camera{
+ name = "centcom-caster"
+ },
/turf/open/floor/iron/grimy,
/area/centcom/tdome/administration)
"Ko" = (
@@ -7687,6 +7675,12 @@
/obj/effect/light_emitter/thunderdome,
/turf/open/floor/iron,
/area/centcom/tdome/arena)
+"KM" = (
+/obj/machinery/status_display/evac/directional/north,
+/obj/machinery/light/cold/directional/north,
+/obj/structure/chair,
+/turf/open/floor/iron/grimy,
+/area/centcom/tdome/administration)
"KN" = (
/obj/structure/flora/bush/sparsegrass/style_random,
/obj/structure/flora/bush/lavendergrass/style_random,
@@ -7881,6 +7875,14 @@
},
/turf/open/floor/iron,
/area/centcom/central_command_areas/evacuation)
+"Ly" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/door/airlock/centcom{
+ name = "Sound Stage"
+ },
+/obj/machinery/door/firedoor,
+/turf/open/floor/iron/dark,
+/area/centcom/tdome/administration)
"Lz" = (
/obj/structure/railing{
dir = 10
@@ -9254,12 +9256,6 @@
},
/turf/open/floor/iron/white,
/area/centcom/central_command_areas/control)
-"RA" = (
-/obj/machinery/status_display/evac/directional/north,
-/obj/machinery/light/cold/directional/north,
-/obj/structure/chair,
-/turf/open/floor/iron/grimy,
-/area/centcom/tdome/administration)
"RB" = (
/obj/effect/turf_decal/stripes/line{
dir = 9
@@ -9917,13 +9913,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/centcom/central_command_areas/admin)
-"UU" = (
-/obj/structure/sign/flag/nanotrasen/directional/east,
-/obj/effect/turf_decal/siding/dark{
- dir = 1
- },
-/turf/open/floor/greenscreen,
-/area/centcom/tdome/administration)
"UV" = (
/obj/structure/table/wood,
/obj/item/folder/red,
@@ -10621,6 +10610,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden,
/turf/open/floor/iron/grimy,
/area/centcom/central_command_areas/admin)
+"Yu" = (
+/obj/structure/sign/flag/nanotrasen/directional/west,
+/obj/effect/turf_decal/siding/dark{
+ dir = 1
+ },
+/turf/open/floor/greenscreen,
+/area/centcom/tdome/administration)
"Yx" = (
/turf/open/floor/iron/white/herringbone,
/area/centcom/central_command_areas/evacuation/ship)
@@ -36282,7 +36278,7 @@ aa
aa
aa
aa
-Fi
+aa
aa
aa
aa
@@ -57915,7 +57911,7 @@ ZS
sK
GX
wl
-iu
+io
vR
Ab
Ab
@@ -57960,10 +57956,10 @@ uf
Mv
Mv
uf
-Kg
+xK
Xw
-wW
-cU
+Yu
+JI
uf
aa
aa
@@ -58217,10 +58213,10 @@ Sz
Sz
Sz
uf
-RA
+KM
Xw
-Gy
-cU
+ni
+JI
uf
aa
aa
@@ -58473,11 +58469,11 @@ Sz
Sz
Sz
Sz
-ER
+Ly
Xw
-Fy
-Gy
-cU
+Kk
+ni
+JI
uf
aa
aa
@@ -58731,10 +58727,10 @@ Sz
uf
FU
uf
-RA
-jR
-Gy
-cU
+KM
+Eo
+ni
+JI
uf
aa
aa
@@ -58988,10 +58984,10 @@ Sz
uf
Sz
uf
-ro
+xQ
Xw
-UU
-cU
+zd
+JI
uf
aa
aa
diff --git a/_maps/map_files/tramstation/tramstation.dmm b/_maps/map_files/tramstation/tramstation.dmm
index 67f163d271c..ddbb4ff6dfd 100644
--- a/_maps/map_files/tramstation/tramstation.dmm
+++ b/_maps/map_files/tramstation/tramstation.dmm
@@ -873,18 +873,6 @@
},
/turf/open/floor/plating,
/area/station/asteroid)
-"add" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/sorting/mail{
- dir = 1
- },
-/obj/effect/mapping_helpers/mail_sorting/science/genetics,
-/obj/effect/mapping_helpers/mail_sorting/science/rd_office,
-/obj/effect/mapping_helpers/mail_sorting/science/research,
-/obj/effect/mapping_helpers/mail_sorting/science/robotics,
-/obj/effect/mapping_helpers/mail_sorting/science/xenobiology,
-/turf/open/floor/iron,
-/area/station/hallway/primary/tram/right)
"ade" = (
/obj/effect/turf_decal/sand/plating,
/obj/effect/turf_decal/stripes/asteroid/line{
@@ -1458,17 +1446,6 @@
/obj/structure/railing,
/turf/open/floor/plating/airless,
/area/station/asteroid)
-"aeN" = (
-/obj/effect/mapping_helpers/airlock/access/all/service/kitchen,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/door/airlock/freezer{
- name = "Freezer"
- },
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/catwalk_floor,
-/area/station/service/kitchen/coldroom)
"aeO" = (
/obj/effect/turf_decal/sand/plating,
/obj/structure/railing/corner{
@@ -3813,15 +3790,6 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/iron,
/area/station/cargo/warehouse)
-"ayn" = (
-/obj/effect/landmark/event_spawn,
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
-/turf/open/floor/iron/kitchen_coldroom,
-/area/station/medical/coldroom)
"ayr" = (
/obj/effect/landmark/start/cargo_technician,
/turf/open/floor/iron,
@@ -3970,6 +3938,19 @@
},
/turf/open/floor/iron/dark,
/area/station/commons/lounge)
+"aAF" = (
+/obj/structure/bed{
+ dir = 4
+ },
+/obj/item/bedsheet/captain{
+ dir = 4
+ },
+/obj/structure/sign/clock/directional/north,
+/obj/machinery/camera/directional/north{
+ c_tag = "Command - Captain's Quarters"
+ },
+/turf/open/floor/wood,
+/area/station/command/heads_quarters/captain/private)
"aAJ" = (
/turf/open/floor/carpet,
/area/station/command/heads_quarters/qm)
@@ -4641,11 +4622,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/science/lower)
-"aHb" = (
-/obj/structure/extinguisher_cabinet/directional/south,
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
-/area/station/medical/coldroom)
"aHe" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/door_buttons/airlock_controller{
@@ -4932,13 +4908,6 @@
},
/turf/open/floor/iron,
/area/station/security/checkpoint/medical)
-"aJf" = (
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/holopad,
-/obj/effect/turf_decal/bot,
-/turf/open/floor/iron/kitchen_coldroom,
-/area/station/medical/coldroom)
"aJi" = (
/obj/machinery/washing_machine,
/obj/effect/turf_decal/tile/blue/opposingcorners{
@@ -6703,6 +6672,13 @@
},
/turf/open/floor/iron,
/area/station/escapepodbay)
+"bmW" = (
+/obj/effect/turf_decal/trimline/brown/filled/line,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/camera/autoname/directional/south,
+/turf/open/floor/iron,
+/area/station/cargo/storage)
"bmX" = (
/obj/effect/turf_decal/trimline/yellow/filled/line{
dir = 8
@@ -7081,14 +7057,6 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/wood,
/area/station/command/meeting_room)
-"bvA" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/brown/opposingcorners,
-/obj/machinery/camera/autoname/directional/east,
-/turf/open/floor/iron,
-/area/station/cargo/miningfoundry)
"bvB" = (
/obj/structure/ladder,
/obj/effect/turf_decal/stripes/box,
@@ -7118,14 +7086,6 @@
/obj/machinery/computer/mech_bay_power_console,
/turf/open/floor/circuit/green,
/area/station/science/robotics/mechbay)
-"bwi" = (
-/obj/machinery/airalarm/directional/north,
-/obj/structure/closet/secure_closet/captains,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/obj/effect/turf_decal/tile/dark_blue/fourcorners,
-/obj/effect/turf_decal/bot_white,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/captain/private)
"bwp" = (
/obj/structure/lattice/catwalk,
/obj/machinery/power/solar{
@@ -7167,13 +7127,6 @@
/obj/effect/turf_decal/tile/brown/fourcorners,
/turf/open/floor/iron,
/area/station/cargo/miningdock)
-"bwN" = (
-/obj/machinery/computer/security/telescreen/entertainment/directional/north,
-/obj/structure/window/reinforced/spawner/directional/east,
-/obj/machinery/light/warm/directional/north,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/turf/open/floor/wood,
-/area/station/command/heads_quarters/captain/private)
"bwO" = (
/obj/effect/turf_decal/trimline/purple/filled/line{
dir = 10
@@ -7687,15 +7640,6 @@
/obj/machinery/computer/security/telescreen/ordnance/directional/south,
/turf/open/floor/iron,
/area/station/science/ordnance/testlab)
-"bGV" = (
-/obj/effect/turf_decal/trimline/green/filled/line{
- dir = 5
- },
-/obj/structure/table,
-/obj/item/stack/sheet/cardboard,
-/obj/item/food/donkpocket/pizza,
-/turf/open/floor/iron/dark,
-/area/station/medical/virology)
"bHb" = (
/obj/effect/turf_decal/trimline/purple/filled/corner{
dir = 8
@@ -8741,6 +8685,11 @@
},
/turf/open/floor/iron,
/area/station/command/heads_quarters/qm)
+"bXE" = (
+/obj/structure/extinguisher_cabinet/directional/south,
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+/area/station/medical/coldroom)
"bXG" = (
/obj/effect/turf_decal/sand/plating,
/obj/machinery/door/airlock/external{
@@ -10943,6 +10892,15 @@
"cIX" = (
/turf/open/floor/plating,
/area/station/engineering/engine_smes)
+"cJj" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/item/radio/intercom/directional/south,
+/obj/effect/turf_decal/tile/dark_blue/fourcorners,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/captain/private)
"cJm" = (
/obj/effect/turf_decal/trimline/brown/filled/line{
dir = 9
@@ -11096,6 +11054,12 @@
},
/turf/open/floor/iron/dark,
/area/station/command/bridge)
+"cNe" = (
+/obj/effect/turf_decal/bot,
+/obj/structure/closet/crate/freezer/blood,
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/turf/open/floor/iron/kitchen_coldroom,
+/area/station/medical/coldroom)
"cNg" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -11193,18 +11157,6 @@
},
/turf/open/floor/iron,
/area/station/maintenance/port/central)
-"cOg" = (
-/obj/machinery/door/airlock/command/glass{
- name = "EVA Storage"
- },
-/obj/effect/mapping_helpers/airlock/access/all/command/eva,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/machinery/door/firedoor,
-/obj/effect/mapping_helpers/airlock/red_alert_access,
-/turf/open/floor/iron/dark,
-/area/station/ai_monitored/command/storage/eva)
"cOl" = (
/obj/machinery/computer/prisoner/management{
dir = 8
@@ -11285,22 +11237,6 @@
},
/turf/open/floor/iron/white,
/area/station/medical/chemistry)
-"cPA" = (
-/obj/machinery/door/airlock/medical/glass{
- name = "Medical Freezer"
- },
-/obj/machinery/door/firedoor,
-/obj/machinery/duct,
-/obj/effect/mapping_helpers/airlock/access/all/medical/surgery,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/blue/opposingcorners{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/iron/freezer,
-/area/station/medical/coldroom)
"cPD" = (
/obj/machinery/computer/atmos_control/air_tank{
dir = 1
@@ -11566,12 +11502,6 @@
/obj/machinery/vending/assist,
/turf/open/floor/iron,
/area/station/commons/storage/primary)
-"cTw" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/obj/machinery/light/cold/directional/west,
-/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
-/area/station/medical/coldroom)
"cTM" = (
/obj/effect/turf_decal/trimline/red/filled/line{
dir = 8
@@ -11713,6 +11643,13 @@
"cVW" = (
/turf/open/floor/engine,
/area/station/science/auxlab/firing_range)
+"cWd" = (
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 6
+ },
+/obj/machinery/camera/autoname/directional/east,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/exit)
"cWj" = (
/obj/structure/railing{
dir = 1
@@ -12449,12 +12386,6 @@
/obj/machinery/firealarm/directional/north,
/turf/open/floor/iron,
/area/station/engineering/main)
-"djh" = (
-/obj/structure/closet{
- name = "evidence closet 4"
- },
-/turf/open/floor/iron/dark,
-/area/station/security/evidence)
"djt" = (
/obj/effect/turf_decal/siding/thinplating/corner{
dir = 1
@@ -13372,29 +13303,6 @@
},
/turf/open/floor/iron,
/area/station/command/heads_quarters/qm)
-"dAJ" = (
-/obj/structure/table/reinforced,
-/obj/structure/window/reinforced/spawner/directional/south,
-/obj/effect/turf_decal/siding/white,
-/obj/machinery/door/window/right/directional/east{
- name = "Secure Medical Storage";
- req_access = list("medical")
- },
-/obj/item/storage/medkit/regular{
- pixel_x = -3;
- pixel_y = -3
- },
-/obj/item/storage/medkit/regular,
-/obj/item/storage/medkit/regular{
- pixel_x = 3;
- pixel_y = 3
- },
-/obj/effect/turf_decal/siding/white{
- dir = 4
- },
-/obj/effect/mapping_helpers/airlock/red_alert_access,
-/turf/open/floor/iron/dark,
-/area/station/medical/storage)
"dAL" = (
/obj/structure/closet/crate/silvercrate,
/obj/effect/turf_decal/bot_white/right,
@@ -13452,18 +13360,6 @@
/obj/machinery/light/warm/directional/west,
/turf/open/floor/wood,
/area/station/command/heads_quarters/hop)
-"dCp" = (
-/obj/machinery/door/airlock/command/glass{
- name = "Recording Studio"
- },
-/obj/effect/mapping_helpers/airlock/access/all/command/captain,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/siding/dark{
- dir = 4
- },
-/turf/open/floor/wood,
-/area/station/command/heads_quarters/captain/private)
"dCq" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable,
@@ -13562,20 +13458,18 @@
},
/turf/open/floor/iron/smooth,
/area/station/maintenance/disposal)
-"dEo" = (
-/obj/effect/turf_decal/trimline/neutral/filled/line{
- dir = 1
- },
-/obj/effect/turf_decal/trimline/neutral/filled/corner,
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/tram/right)
"dEv" = (
/turf/closed/wall/r_wall,
/area/station/ai_monitored/security/armory)
+"dEz" = (
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/structure/cable,
+/obj/effect/spawner/random/contraband/narcotics,
+/obj/structure/closet{
+ name = "evidence closet 3"
+ },
+/turf/open/floor/iron/dark,
+/area/station/security/evidence)
"dEH" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/door/airlock/external{
@@ -13885,12 +13779,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
-"dJG" = (
-/obj/effect/turf_decal/bot,
-/obj/structure/closet/crate/freezer/blood,
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/turf/open/floor/iron/kitchen_coldroom,
-/area/station/medical/coldroom)
"dJJ" = (
/turf/closed/wall,
/area/station/hallway/secondary/service)
@@ -14187,6 +14075,18 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
+"dOO" = (
+/obj/structure/cable,
+/obj/structure/disposalpipe/sorting/mail{
+ dir = 1
+ },
+/obj/effect/mapping_helpers/mail_sorting/science/genetics,
+/obj/effect/mapping_helpers/mail_sorting/science/rd_office,
+/obj/effect/mapping_helpers/mail_sorting/science/research,
+/obj/effect/mapping_helpers/mail_sorting/science/robotics,
+/obj/effect/mapping_helpers/mail_sorting/science/xenobiology,
+/turf/open/floor/iron,
+/area/station/hallway/primary/tram/right)
"dPe" = (
/obj/effect/turf_decal/trimline/purple/filled/line{
dir = 8
@@ -15382,13 +15282,6 @@
/obj/structure/rack,
/turf/open/floor/plating,
/area/station/ai_monitored/turret_protected/aisat/maint)
-"elM" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/obj/machinery/airalarm/directional/west,
-/obj/effect/mapping_helpers/airalarm/tlv_cold_room,
-/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
-/area/station/medical/coldroom)
"elV" = (
/obj/machinery/duct,
/obj/structure/cable,
@@ -15580,6 +15473,28 @@
/obj/effect/landmark/navigate_destination/tcomms,
/turf/open/floor/iron,
/area/station/tcommsat/computer)
+"eql" = (
+/obj/structure/table/reinforced,
+/obj/structure/window/reinforced/spawner/directional/south,
+/obj/item/storage/medkit/fire{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/storage/medkit/fire,
+/obj/item/storage/medkit/fire{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/machinery/door/window/left/directional/west{
+ name = "Secure Medical Storage";
+ req_access = list("medical")
+ },
+/obj/effect/turf_decal/siding/white{
+ dir = 8
+ },
+/obj/effect/mapping_helpers/airlock/red_alert_access,
+/turf/open/floor/iron/dark,
+/area/station/medical/storage)
"eqK" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
@@ -15649,6 +15564,22 @@
/obj/machinery/newscaster/directional/west,
/turf/open/floor/iron,
/area/station/hallway/secondary/command)
+"erW" = (
+/obj/machinery/camera/directional/east{
+ c_tag = "Hallway - Starboard Tram Platform North-East"
+ },
+/obj/machinery/firealarm/directional/east,
+/obj/effect/turf_decal/stripes/white/corner{
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/neutral/filled/line{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/tram/right)
"esc" = (
/obj/structure/sign/warning/electric_shock,
/turf/closed/wall/r_wall,
@@ -16024,12 +15955,6 @@
/obj/effect/turf_decal/trimline/white/warning,
/turf/open/floor/iron,
/area/station/maintenance/tram/left)
-"eyg" = (
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/obj/machinery/power/apc/auto_name/directional/west,
-/obj/structure/cable,
-/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
-/area/station/medical/coldroom)
"eyh" = (
/obj/effect/turf_decal/siding/wood{
dir = 8
@@ -16250,6 +16175,12 @@
},
/turf/open/floor/iron,
/area/station/security/prison)
+"eBZ" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/dark_blue/fourcorners,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/captain/private)
"eCk" = (
/obj/machinery/door/airlock/public/glass{
name = "Library"
@@ -16817,6 +16748,11 @@
},
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/ce)
+"eOR" = (
+/obj/machinery/holopad,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/iron/white,
+/area/station/medical/medbay/lobby)
"eOZ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply,
/turf/closed/wall/r_wall,
@@ -17242,25 +17178,6 @@
/obj/machinery/shower/directional/north,
/turf/open/floor/iron/freezer,
/area/station/security/prison)
-"eWs" = (
-/obj/structure/table/reinforced,
-/obj/item/storage/medkit/o2{
- pixel_x = 3;
- pixel_y = 3
- },
-/obj/item/storage/medkit/o2,
-/obj/item/storage/medkit/o2{
- pixel_x = -3;
- pixel_y = -3
- },
-/obj/machinery/door/window/left/directional/south{
- name = "Secure Medical Storage";
- req_access = list("medical")
- },
-/obj/machinery/light/cold/directional/north,
-/obj/effect/mapping_helpers/airlock/red_alert_access,
-/turf/open/floor/iron/dark,
-/area/station/medical/storage)
"eWx" = (
/obj/machinery/duct,
/obj/effect/turf_decal/trimline/neutral/filled/line,
@@ -18293,6 +18210,13 @@
},
/turf/open/floor/iron/dark,
/area/station/security/execution/transfer)
+"fqH" = (
+/obj/effect/turf_decal/siding/dark{
+ dir = 8
+ },
+/obj/structure/sign/poster/greenscreen/directional/east,
+/turf/open/floor/greenscreen,
+/area/station/command/heads_quarters/captain/private)
"fqM" = (
/obj/structure/disposaloutlet{
dir = 8
@@ -18738,13 +18662,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
-"fzc" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/filingcabinet/security{
- pixel_x = -6
- },
-/turf/open/floor/iron/dark,
-/area/station/security/evidence)
"fzg" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{
dir = 1
@@ -20441,6 +20358,13 @@
},
/turf/open/floor/iron/dark,
/area/station/service/chapel)
+"gha" = (
+/obj/structure/dresser,
+/obj/item/pinpointer/nuke,
+/obj/item/disk/nuclear,
+/obj/machinery/newscaster/directional/west,
+/turf/open/floor/wood,
+/area/station/command/heads_quarters/captain/private)
"ghg" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/catwalk_floor,
@@ -20515,28 +20439,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/tram/right)
-"giT" = (
-/obj/structure/table/reinforced,
-/obj/structure/window/reinforced/spawner/directional/south,
-/obj/item/storage/medkit/brute{
- pixel_x = 3;
- pixel_y = 3
- },
-/obj/item/storage/medkit/brute,
-/obj/item/storage/medkit/brute{
- pixel_x = -3;
- pixel_y = -3
- },
-/obj/machinery/door/window/right/directional/east{
- name = "Secure Medical Storage";
- req_access = list("medical")
- },
-/obj/effect/turf_decal/siding/white{
- dir = 4
- },
-/obj/effect/mapping_helpers/airlock/red_alert_access,
-/turf/open/floor/iron/dark,
-/area/station/medical/storage)
"giZ" = (
/obj/structure/bed,
/obj/effect/spawner/random/contraband/prison,
@@ -20692,6 +20594,13 @@
/obj/machinery/power/shieldwallgen,
/turf/open/floor/iron,
/area/station/command/teleporter)
+"gkV" = (
+/obj/machinery/suit_storage_unit/captain,
+/obj/structure/sign/calendar/directional/north,
+/obj/effect/turf_decal/tile/dark_blue/fourcorners,
+/obj/effect/turf_decal/bot_white,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/captain/private)
"gkZ" = (
/obj/machinery/door/airlock/medical/glass{
name = "Treatment Center"
@@ -20829,6 +20738,20 @@
},
/turf/closed/wall/r_wall,
/area/station/science/xenobiology)
+"gmX" = (
+/obj/machinery/door/airlock/command/glass{
+ name = "Secure External Operations"
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/machinery/door/firedoor,
+/obj/effect/mapping_helpers/airlock/access/any/command/eva,
+/obj/effect/mapping_helpers/airlock/access/any/command/gateway,
+/obj/effect/mapping_helpers/airlock/access/any/command/teleporter,
+/obj/effect/mapping_helpers/airlock/red_alert_access,
+/turf/open/floor/iron,
+/area/station/command/teleporter)
"gnj" = (
/obj/modular_map_root/tramstation{
name = "medsciupper";
@@ -21766,6 +21689,28 @@
},
/turf/open/floor/iron/white,
/area/station/science/research)
+"gFb" = (
+/obj/structure/table/reinforced,
+/obj/structure/window/reinforced/spawner/directional/south,
+/obj/item/storage/medkit/brute{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/storage/medkit/brute,
+/obj/item/storage/medkit/brute{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/machinery/door/window/right/directional/east{
+ name = "Secure Medical Storage";
+ req_access = list("medical")
+ },
+/obj/effect/turf_decal/siding/white{
+ dir = 4
+ },
+/obj/effect/mapping_helpers/airlock/red_alert_access,
+/turf/open/floor/iron/dark,
+/area/station/medical/storage)
"gFf" = (
/turf/closed/wall/r_wall,
/area/station/ai_monitored/turret_protected/aisat/hallway)
@@ -22764,13 +22709,6 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/iron,
/area/station/security/checkpoint/science)
-"gYO" = (
-/obj/effect/turf_decal/trimline/purple/filled/line{
- dir = 6
- },
-/obj/machinery/camera/autoname/directional/east,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/exit)
"gZB" = (
/obj/effect/landmark/start/station_engineer,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -24151,6 +24089,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark,
/area/station/engineering/atmospherics_engine)
+"hDz" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/obj/machinery/airalarm/directional/west,
+/obj/effect/mapping_helpers/airalarm/tlv_cold_room,
+/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+/area/station/medical/coldroom)
"hDF" = (
/obj/machinery/computer/apc_control{
dir = 1
@@ -25144,6 +25089,23 @@
},
/turf/open/floor/iron/dark,
/area/station/maintenance/radshelter/civil)
+"hXo" = (
+/obj/structure/rack,
+/obj/item/clothing/glasses/meson{
+ pixel_y = 4
+ },
+/obj/item/lighter,
+/obj/item/reagent_containers/applicator/patch/aiuri,
+/obj/item/stock_parts/power_store/cell/high,
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 1
+ },
+/obj/structure/window/reinforced/spawner/directional/west,
+/obj/item/computer_disk/engineering,
+/obj/item/computer_disk/engineering,
+/obj/item/computer_disk/engineering,
+/turf/open/floor/iron,
+/area/station/command/heads_quarters/ce)
"hXJ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/status_display/ai/directional/north,
@@ -26148,6 +26110,27 @@
},
/turf/open/floor/iron/dark,
/area/station/ai_monitored/turret_protected/ai)
+"iqT" = (
+/obj/effect/turf_decal/trimline/neutral/filled/line{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/tram/right)
+"iqW" = (
+/obj/effect/turf_decal/box/white{
+ color = "#52B4E9"
+ },
+/obj/machinery/portable_atmospherics/canister/oxygen,
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/obj/machinery/light_switch/directional/east{
+ pixel_x = 22;
+ pixel_y = -8
+ },
+/turf/open/floor/iron/kitchen_coldroom,
+/area/station/medical/coldroom)
"iqZ" = (
/obj/structure/railing,
/obj/machinery/door/window/right/directional/north{
@@ -27086,31 +27069,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/engineering/engine_smes)
-"iIS" = (
-/obj/structure/sign/directions/evac{
- dir = 4;
- pixel_y = -28
- },
-/obj/structure/sign/directions/medical{
- dir = 8;
- pixel_y = -34
- },
-/obj/structure/sign/directions/engineering{
- dir = 8;
- pixel_y = -40
- },
-/obj/structure/sign/directions/upload{
- pixel_y = -22
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/trimline/tram/filled/line,
-/obj/effect/turf_decal/trimline/tram/filled/warning,
-/obj/structure/disposalpipe/segment{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/tram/right)
"iJd" = (
/obj/effect/turf_decal/trimline/neutral/filled/corner{
dir = 4
@@ -27146,6 +27104,17 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white,
/area/station/medical/virology)
+"iKh" = (
+/obj/machinery/greenscreen_camera{
+ dir = 4;
+ pixel_y = 7;
+ pixel_x = 7
+ },
+/obj/machinery/light/warm/directional/west,
+/obj/structure/sign/flag/nanotrasen/directional/west,
+/obj/effect/turf_decal/tile/dark_blue/fourcorners,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/captain/private)
"iKr" = (
/obj/effect/turf_decal/bot_white/left,
/obj/effect/turf_decal/tile/neutral/fourcorners,
@@ -27202,6 +27171,12 @@
},
/turf/open/floor/wood,
/area/station/service/bar/backroom)
+"iLy" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/obj/machinery/light/cold/directional/west,
+/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+/area/station/medical/coldroom)
"iLP" = (
/obj/effect/turf_decal/sand/plating,
/obj/effect/turf_decal/stripes/asteroid/box,
@@ -27251,15 +27226,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/commons/dorms)
-"iMo" = (
-/obj/machinery/power/apc/auto_name/directional/east,
-/obj/structure/cable,
-/obj/effect/spawner/random/contraband/narcotics,
-/obj/structure/closet{
- name = "evidence closet 3"
- },
-/turf/open/floor/iron/dark,
-/area/station/security/evidence)
"iMt" = (
/obj/machinery/air_sensor/oxygen_tank{
chamber_id = "o2ordance"
@@ -27982,28 +27948,6 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/medical/medbay/lobby)
-"iZi" = (
-/obj/structure/table/reinforced,
-/obj/structure/window/reinforced/spawner/directional/south,
-/obj/item/storage/medkit/toxin{
- pixel_x = 3;
- pixel_y = 3
- },
-/obj/item/storage/medkit/toxin,
-/obj/item/storage/medkit/toxin{
- pixel_x = -3;
- pixel_y = -3
- },
-/obj/machinery/door/window/right/directional/east{
- name = "Secure Medical Storage";
- req_access = list("medical")
- },
-/obj/effect/turf_decal/siding/white{
- dir = 4
- },
-/obj/effect/mapping_helpers/airlock/red_alert_access,
-/turf/open/floor/iron/dark,
-/area/station/medical/storage)
"iZk" = (
/obj/machinery/vending/wardrobe/chap_wardrobe,
/obj/machinery/camera/directional/south{
@@ -28709,12 +28653,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/service)
-"jko" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/dark_blue/fourcorners,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/captain/private)
"jkt" = (
/turf/open/floor/carpet,
/area/station/service/chapel)
@@ -29499,11 +29437,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/security/brig)
-"jwW" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/dark_blue/fourcorners,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/captain/private)
"jwX" = (
/obj/structure/railing{
dir = 1
@@ -30766,13 +30699,6 @@
/obj/effect/spawner/random/bureaucracy/pen,
/turf/open/floor/iron,
/area/station/commons/fitness)
-"jWd" = (
-/obj/structure/dresser,
-/obj/item/pinpointer/nuke,
-/obj/item/disk/nuclear,
-/obj/machinery/newscaster/directional/west,
-/turf/open/floor/wood,
-/area/station/command/heads_quarters/captain/private)
"jWe" = (
/obj/machinery/vending/wardrobe/medi_wardrobe,
/obj/effect/turf_decal/siding/white{
@@ -30828,6 +30754,11 @@
/obj/structure/cable,
/turf/open/floor/catwalk_floor,
/area/station/security/mechbay)
+"jWz" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/wood,
+/area/station/command/heads_quarters/captain/private)
"jXc" = (
/obj/effect/turf_decal/trimline/yellow/filled/corner{
dir = 8
@@ -31480,6 +31411,18 @@
/obj/effect/mapping_helpers/requests_console/assistance,
/turf/open/floor/iron,
/area/station/command/heads_quarters/rd)
+"kep" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/obj/machinery/status_display/evac/directional/north,
+/obj/effect/turf_decal/tile/dark_blue/fourcorners,
+/obj/structure/chair/stool/directional/east,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/captain/private)
+"ker" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/dark_blue/fourcorners,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/captain/private)
"ket" = (
/obj/machinery/vending/wardrobe/atmos_wardrobe,
/turf/open/floor/iron,
@@ -31511,23 +31454,6 @@
/obj/structure/cable,
/turf/open/floor/carpet,
/area/station/security/detectives_office)
-"keT" = (
-/obj/machinery/door/airlock/research{
- name = "Slime Euthanization Chamber";
- opacity = 0;
- glass = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
-/obj/effect/mapping_helpers/airlock/access/all/science/xenobio,
-/obj/effect/turf_decal/trimline/purple/filled/line{
- dir = 4
- },
-/obj/effect/turf_decal/trimline/purple/filled/line{
- dir = 8
- },
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/iron/white,
-/area/station/science/xenobiology)
"kff" = (
/obj/effect/turf_decal/trimline/purple/filled/line{
dir = 9
@@ -32109,6 +32035,25 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/security/checkpoint/science)
+"kpx" = (
+/obj/structure/table/reinforced,
+/obj/item/storage/medkit/o2{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/storage/medkit/o2,
+/obj/item/storage/medkit/o2{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/machinery/door/window/left/directional/south{
+ name = "Secure Medical Storage";
+ req_access = list("medical")
+ },
+/obj/machinery/light/cold/directional/north,
+/obj/effect/mapping_helpers/airlock/red_alert_access,
+/turf/open/floor/iron/dark,
+/area/station/medical/storage)
"kpC" = (
/obj/structure/chair/comfy/beige{
dir = 4
@@ -32689,12 +32634,6 @@
},
/turf/open/floor/cult,
/area/station/service/chapel/office)
-"kAx" = (
-/obj/effect/turf_decal/bot,
-/obj/structure/closet/crate/freezer/surplus_limbs,
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/turf/open/floor/iron/kitchen_coldroom,
-/area/station/medical/coldroom)
"kAF" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/cable,
@@ -33297,6 +33236,13 @@
/obj/machinery/airalarm/directional/south,
/turf/open/floor/circuit/green,
/area/station/science/server)
+"kJP" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
+ },
+/obj/structure/filingcabinet,
+/turf/open/floor/wood,
+/area/station/commons/vacant_room/office)
"kJU" = (
/obj/structure/chair/comfy/beige,
/turf/open/floor/iron/grimy,
@@ -33647,14 +33593,6 @@
"kPE" = (
/turf/open/misc/asteroid,
/area/station/maintenance/starboard/greater)
-"kPL" = (
-/obj/effect/spawner/random/contraband/cannabis,
-/obj/structure/closet{
- name = "evidence closet 1"
- },
-/obj/machinery/airalarm/directional/east,
-/turf/open/floor/iron/dark,
-/area/station/security/evidence)
"kPT" = (
/obj/vehicle/ridden/wheelchair,
/obj/effect/turf_decal/bot,
@@ -35876,18 +35814,6 @@
/obj/machinery/digital_clock/directional/north,
/turf/open/floor/iron/white,
/area/station/medical/pharmacy)
-"lDl" = (
-/obj/effect/turf_decal/box/white{
- color = "#52B4E9"
- },
-/obj/machinery/portable_atmospherics/canister/oxygen,
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/obj/machinery/light_switch/directional/east{
- pixel_x = 22;
- pixel_y = 8
- },
-/turf/open/floor/iron/kitchen_coldroom,
-/area/station/medical/coldroom)
"lDo" = (
/obj/structure/table,
/obj/item/storage/box/prisoner,
@@ -36185,20 +36111,6 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/iron/smooth,
/area/station/maintenance/disposal)
-"lIc" = (
-/obj/machinery/door/airlock/command/glass{
- name = "Secure External Operations"
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/machinery/door/firedoor,
-/obj/effect/mapping_helpers/airlock/access/any/command/eva,
-/obj/effect/mapping_helpers/airlock/access/any/command/gateway,
-/obj/effect/mapping_helpers/airlock/access/any/command/teleporter,
-/obj/effect/mapping_helpers/airlock/red_alert_access,
-/turf/open/floor/iron,
-/area/station/command/teleporter)
"lIe" = (
/obj/effect/turf_decal/trimline/neutral/filled/line,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -37195,13 +37107,6 @@
/obj/effect/mapping_helpers/airlock/access/any/engineering/tcoms,
/turf/open/floor/iron,
/area/station/tcommsat/computer)
-"lXZ" = (
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/turf/open/floor/iron/kitchen_coldroom,
-/area/station/medical/coldroom)
"lYA" = (
/obj/structure/easel,
/obj/item/canvas/twentythree_twentythree,
@@ -37217,6 +37122,18 @@
},
/turf/open/floor/iron,
/area/station/commons/storage/art)
+"lYN" = (
+/obj/effect/turf_decal/trimline/dark_green/filled/line{
+ dir = 9
+ },
+/obj/structure/table/glass,
+/obj/machinery/requests_console/directional/west{
+ name = "Genetics Requests Console";
+ department = "Genetics"
+ },
+/obj/item/flesh_shears,
+/turf/open/floor/iron/white,
+/area/station/science/genetics)
"lYZ" = (
/obj/structure/toilet{
pixel_y = 8
@@ -37290,14 +37207,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/hallway/secondary/exit)
-"mar" = (
-/obj/structure/fluff/tram_rail/electric{
- dir = 1
- },
-/obj/structure/transport/linear/tram,
-/obj/structure/thermoplastic,
-/turf/open/openspace,
-/area/station/hallway/primary/tram/center)
"may" = (
/turf/open/floor/plating,
/area/station/hallway/secondary/exit/departure_lounge)
@@ -38387,13 +38296,6 @@
},
/turf/open/floor/engine,
/area/station/science/xenobiology)
-"mur" = (
-/obj/effect/turf_decal/trimline/brown/filled/line,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/camera/autoname/directional/south,
-/turf/open/floor/iron,
-/area/station/cargo/storage)
"muK" = (
/obj/machinery/telecomms/server/presets/science,
/turf/open/floor/iron/dark/telecomms,
@@ -38565,23 +38467,6 @@
/obj/machinery/light/dim/directional/east,
/turf/open/floor/iron,
/area/station/maintenance/port/central)
-"mzi" = (
-/obj/structure/rack,
-/obj/item/clothing/glasses/meson{
- pixel_y = 4
- },
-/obj/item/lighter,
-/obj/item/reagent_containers/pill/patch/aiuri,
-/obj/item/stock_parts/power_store/cell/high,
-/obj/effect/turf_decal/trimline/yellow/filled/line{
- dir = 1
- },
-/obj/structure/window/reinforced/spawner/directional/west,
-/obj/item/computer_disk/engineering,
-/obj/item/computer_disk/engineering,
-/obj/item/computer_disk/engineering,
-/turf/open/floor/iron,
-/area/station/command/heads_quarters/ce)
"mzs" = (
/obj/effect/turf_decal/trimline/neutral/filled/line{
dir = 8
@@ -38649,16 +38534,6 @@
/obj/structure/cable,
/turf/open/space/openspace,
/area/station/solars/port)
-"mAL" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden,
-/obj/machinery/door/airlock/command/glass{
- name = "Server Access"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/rd,
-/obj/structure/cable,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/circuit/telecomms/server,
-/area/station/science/server)
"mAS" = (
/obj/structure/table/reinforced,
/obj/item/paper_bin{
@@ -39262,13 +39137,6 @@
/obj/effect/turf_decal/tile/dark_green/fourcorners,
/turf/open/floor/iron/white,
/area/station/science/genetics)
-"mLh" = (
-/obj/effect/turf_decal/siding/dark{
- dir = 10
- },
-/obj/structure/sign/poster/greenscreen/directional/east,
-/turf/open/floor/greenscreen,
-/area/station/command/heads_quarters/captain/private)
"mLp" = (
/obj/machinery/portable_atmospherics/canister/plasma,
/obj/effect/turf_decal/stripes/line{
@@ -39387,6 +39255,12 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/service/hydroponics/garden)
+"mNI" = (
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/structure/cable,
+/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+/area/station/medical/coldroom)
"mNV" = (
/obj/machinery/photocopier,
/turf/open/floor/iron/grimy,
@@ -39667,12 +39541,6 @@
/obj/structure/altar_of_gods,
/turf/open/floor/iron/dark,
/area/station/service/chapel)
-"mVp" = (
-/obj/effect/turf_decal/trimline/blue/filled/line,
-/obj/machinery/holopad,
-/obj/effect/turf_decal/bot,
-/turf/open/floor/iron/white,
-/area/station/medical/storage)
"mVS" = (
/obj/structure/window/reinforced/spawner/directional/south,
/obj/machinery/door/window/left/directional/west{
@@ -39729,12 +39597,6 @@
/obj/effect/turf_decal/trimline/blue/filled/line,
/turf/open/floor/iron/white,
/area/station/medical/surgery/fore)
-"mXi" = (
-/obj/structure/transport/linear/tram,
-/obj/structure/tram,
-/obj/structure/plaque/static_plaque/tram,
-/turf/open/openspace,
-/area/station/hallway/primary/tram/center)
"mXo" = (
/obj/structure/kitchenspike,
/obj/effect/turf_decal/weather/snow,
@@ -39980,6 +39842,11 @@
/obj/effect/turf_decal/trimline/tram/filled/warning,
/turf/open/floor/iron,
/area/station/hallway/primary/tram/right)
+"nbD" = (
+/obj/structure/cable,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/iron/dark,
+/area/station/tcommsat/computer)
"nbF" = (
/obj/machinery/power/apc/auto_name/directional/west,
/obj/structure/cable,
@@ -40975,17 +40842,6 @@
},
/turf/open/floor/iron/white,
/area/station/science/lower)
-"nrD" = (
-/obj/machinery/greenscreen_camera{
- dir = 4;
- pixel_y = 7;
- pixel_x = 7
- },
-/obj/machinery/light/warm/directional/west,
-/obj/structure/sign/flag/nanotrasen/directional/west,
-/obj/effect/turf_decal/tile/dark_blue/fourcorners,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/captain/private)
"nrM" = (
/obj/machinery/door/airlock/mining/glass{
name = "Cargo Office"
@@ -41897,6 +41753,13 @@
/obj/structure/tram,
/turf/open/openspace,
/area/station/hallway/primary/tram/center)
+"nIY" = (
+/obj/effect/turf_decal/siding/dark{
+ dir = 9
+ },
+/obj/structure/sign/poster/greenscreen/directional/east,
+/turf/open/floor/greenscreen,
+/area/station/command/heads_quarters/captain/private)
"nJd" = (
/obj/effect/turf_decal/trimline/red/filled/line{
dir = 5
@@ -42155,6 +42018,18 @@
/obj/structure/ladder,
/turf/open/floor/iron/smooth,
/area/station/maintenance/tram/mid)
+"nNt" = (
+/obj/machinery/door/airlock/command/glass{
+ name = "EVA Storage"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/command/eva,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/machinery/door/firedoor,
+/obj/effect/mapping_helpers/airlock/red_alert_access,
+/turf/open/floor/iron/dark,
+/area/station/ai_monitored/command/storage/eva)
"nNz" = (
/obj/effect/turf_decal/stripes/corner{
dir = 1
@@ -42544,6 +42419,18 @@
/obj/effect/turf_decal/trimline/purple/filled/line,
/turf/open/floor/iron/white,
/area/station/science/lobby)
+"nUH" = (
+/obj/effect/turf_decal/box/white{
+ color = "#52B4E9"
+ },
+/obj/machinery/portable_atmospherics/canister/oxygen,
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/obj/machinery/light_switch/directional/east{
+ pixel_x = 22;
+ pixel_y = 8
+ },
+/turf/open/floor/iron/kitchen_coldroom,
+/area/station/medical/coldroom)
"nUM" = (
/obj/effect/turf_decal/siding/wood{
dir = 1
@@ -42605,6 +42492,13 @@
/obj/structure/fluff/tram_rail/electric,
/turf/open/openspace,
/area/station/hallway/primary/tram/left)
+"nVt" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/filingcabinet/security{
+ pixel_x = -6
+ },
+/turf/open/floor/iron/dark,
+/area/station/security/evidence)
"nVL" = (
/obj/effect/turf_decal/trimline/red/filled/line{
dir = 4
@@ -43029,6 +42923,11 @@
dir = 4
},
/area/station/service/theater)
+"obM" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+/area/station/medical/coldroom)
"obW" = (
/obj/machinery/modular_computer/preset/engineering{
dir = 1
@@ -43403,13 +43302,6 @@
/obj/machinery/light/warm/directional/west,
/turf/open/floor/iron/cafeteria,
/area/station/commons/dorms/laundry)
-"okh" = (
-/obj/structure/chair/sofa/left{
- dir = 1
- },
-/obj/item/radio/intercom/directional/south,
-/turf/open/floor/iron/cafeteria,
-/area/station/science/breakroom)
"okn" = (
/obj/structure/disposalpipe/sorting/mail{
dir = 8
@@ -44494,6 +44386,14 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/iron/white,
/area/station/medical/surgery/fore)
+"oJK" = (
+/obj/machinery/airalarm/directional/north,
+/obj/structure/closet/secure_closet/captains,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/obj/effect/turf_decal/tile/dark_blue/fourcorners,
+/obj/effect/turf_decal/bot_white,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/captain/private)
"oKe" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
@@ -45262,6 +45162,13 @@
},
/turf/open/floor/iron,
/area/station/security/brig)
+"oZX" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+/area/station/medical/coldroom)
"pal" = (
/obj/structure/disposalpipe/segment{
dir = 10
@@ -45383,6 +45290,12 @@
/obj/structure/musician/piano,
/turf/open/floor/carpet,
/area/station/service/theater)
+"pce" = (
+/obj/machinery/smartfridge/organ,
+/obj/structure/sign/warning/cold_temp/directional/east,
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/turf/open/floor/iron/kitchen_coldroom,
+/area/station/medical/coldroom)
"pcm" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -46265,18 +46178,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/secondary/command)
-"psy" = (
-/obj/effect/turf_decal/trimline/neutral/filled/corner{
- dir = 8
- },
-/obj/effect/turf_decal/trimline/neutral/filled/corner{
- dir = 1
- },
-/obj/structure/disposalpipe/junction{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/tram/right)
"psU" = (
/obj/effect/turf_decal/trimline/brown/filled/line{
dir = 4
@@ -46698,20 +46599,6 @@
/obj/effect/turf_decal/delivery,
/turf/open/floor/iron/dark,
/area/station/science/ordnance/testlab)
-"pyM" = (
-/obj/effect/turf_decal/trimline/red/filled/line{
- dir = 5
- },
-/obj/effect/turf_decal/trimline/red/filled/corner{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/structure/secure_safe/directional/north{
- name = "evidence safe"
- },
-/turf/open/floor/iron/dark,
-/area/station/security/evidence)
"pyQ" = (
/obj/machinery/vending/wardrobe/hydro_wardrobe,
/obj/effect/turf_decal/trimline/green/filled/line{
@@ -47181,28 +47068,6 @@
dir = 8
},
/area/station/medical/medbay/central)
-"pGa" = (
-/obj/structure/table/reinforced,
-/obj/structure/window/reinforced/spawner/directional/south,
-/obj/item/storage/medkit/fire{
- pixel_x = 3;
- pixel_y = 3
- },
-/obj/item/storage/medkit/fire,
-/obj/item/storage/medkit/fire{
- pixel_x = -3;
- pixel_y = -3
- },
-/obj/machinery/door/window/left/directional/west{
- name = "Secure Medical Storage";
- req_access = list("medical")
- },
-/obj/effect/turf_decal/siding/white{
- dir = 8
- },
-/obj/effect/mapping_helpers/airlock/red_alert_access,
-/turf/open/floor/iron/dark,
-/area/station/medical/storage)
"pGg" = (
/obj/modular_map_root/tramstation{
name = "cargoscilower";
@@ -48381,13 +48246,6 @@
/obj/effect/turf_decal/tile/blue,
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
-"qcj" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
-/area/station/medical/coldroom)
"qcu" = (
/obj/effect/turf_decal/trimline/red/filled/line{
dir = 8
@@ -48745,10 +48603,6 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/iron/dark,
/area/station/service/bar)
-"qif" = (
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
-/area/station/medical/coldroom)
"qik" = (
/obj/structure/sign/warning/radiation,
/obj/effect/baseturf_helper/space,
@@ -49177,13 +49031,6 @@
},
/turf/open/openspace,
/area/station/hallway/primary/tram/center)
-"qpY" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 8
- },
-/obj/structure/filingcabinet,
-/turf/open/floor/wood,
-/area/station/commons/vacant_room/office)
"qpZ" = (
/obj/item/radio/intercom/directional/south,
/obj/effect/turf_decal/trimline/neutral/filled/line,
@@ -49256,16 +49103,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/commons/vacant_room/commissary)
-"qrx" = (
-/obj/effect/turf_decal/trimline/neutral/filled/corner{
- dir = 4
- },
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/tram/right)
"qrI" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
@@ -50499,15 +50336,6 @@
"qOo" = (
/turf/open/floor/iron/white,
/area/station/science/ordnance)
-"qOC" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/item/radio/intercom/directional/south,
-/obj/effect/turf_decal/tile/dark_blue/fourcorners,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/captain/private)
"qOF" = (
/turf/closed/wall,
/area/station/commons/dorms/laundry)
@@ -51227,22 +51055,6 @@
},
/turf/open/floor/iron,
/area/station/commons/dorms)
-"raY" = (
-/obj/machinery/camera/directional/east{
- c_tag = "Hallway - Starboard Tram Platform North-East"
- },
-/obj/machinery/firealarm/directional/east,
-/obj/effect/turf_decal/stripes/white/corner{
- dir = 8
- },
-/obj/effect/turf_decal/trimline/neutral/filled/line{
- dir = 4
- },
-/obj/structure/disposalpipe/segment{
- dir = 2
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/tram/right)
"rbe" = (
/obj/machinery/static_signal/northwest,
/obj/effect/turf_decal/stripes/white/line,
@@ -51337,6 +51149,16 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/security/brig)
+"rcr" = (
+/obj/effect/turf_decal/trimline/neutral/filled/corner{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/tram/right)
"rcx" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -51789,13 +51611,6 @@
/obj/item/clothing/glasses/hud/health,
/turf/open/floor/iron/white,
/area/station/medical/virology)
-"rkf" = (
-/obj/effect/turf_decal/siding/dark{
- dir = 8
- },
-/obj/structure/sign/poster/greenscreen/directional/east,
-/turf/open/floor/greenscreen,
-/area/station/command/heads_quarters/captain/private)
"rkp" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/dark,
@@ -52712,11 +52527,6 @@
/obj/effect/mapping_helpers/airlock/locked,
/turf/open/floor/catwalk_floor,
/area/station/maintenance/tram/mid)
-"rBW" = (
-/obj/structure/cable,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/iron/dark,
-/area/station/tcommsat/computer)
"rBZ" = (
/obj/effect/turf_decal/trimline/yellow/filled/line{
dir = 1
@@ -53003,19 +52813,6 @@
/obj/machinery/firealarm/directional/south,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
-"rJE" = (
-/obj/machinery/door/airlock/medical/glass{
- name = "Medical Freezer"
- },
-/obj/machinery/door/firedoor,
-/obj/machinery/duct,
-/obj/effect/mapping_helpers/airlock/access/all/medical/surgery,
-/obj/effect/turf_decal/tile/blue/opposingcorners{
- dir = 1
- },
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/iron/freezer,
-/area/station/medical/coldroom)
"rJM" = (
/obj/machinery/power/apc/auto_name/directional/south,
/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{
@@ -53558,6 +53355,12 @@
/obj/machinery/light/directional/north,
/turf/open/floor/iron/dark,
/area/station/service/hydroponics)
+"rRI" = (
+/obj/structure/closet{
+ name = "evidence closet 2"
+ },
+/turf/open/floor/iron/dark,
+/area/station/security/evidence)
"rRK" = (
/obj/machinery/atmospherics/pipe/multiz/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/multiz/supply/hidden/layer4,
@@ -53917,6 +53720,29 @@
},
/turf/open/floor/iron/cafeteria,
/area/station/security/prison)
+"rZc" = (
+/obj/structure/table/reinforced,
+/obj/structure/window/reinforced/spawner/directional/south,
+/obj/effect/turf_decal/siding/white,
+/obj/machinery/door/window/right/directional/east{
+ name = "Secure Medical Storage";
+ req_access = list("medical")
+ },
+/obj/item/storage/medkit/regular{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/item/storage/medkit/regular,
+/obj/item/storage/medkit/regular{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/effect/turf_decal/siding/white{
+ dir = 4
+ },
+/obj/effect/mapping_helpers/airlock/red_alert_access,
+/turf/open/floor/iron/dark,
+/area/station/medical/storage)
"rZq" = (
/obj/effect/turf_decal/trimline/yellow/filled/warning{
dir = 1
@@ -53928,6 +53754,18 @@
dir = 1
},
/area/station/ai_monitored/command/storage/eva)
+"rZv" = (
+/obj/machinery/door/airlock/command/glass{
+ name = "Recording Studio"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/command/captain,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/siding/dark{
+ dir = 4
+ },
+/turf/open/floor/wood,
+/area/station/command/heads_quarters/captain/private)
"rZx" = (
/obj/machinery/atmospherics/components/binary/pump{
name = "Gas to Filter";
@@ -54022,15 +53860,6 @@
/obj/item/wirecutters,
/turf/open/space/openspace,
/area/station/solars/starboard/fore)
-"saI" = (
-/obj/effect/turf_decal/trimline/neutral/filled/line{
- dir = 4
- },
-/obj/structure/disposalpipe/segment{
- dir = 2
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/tram/right)
"saJ" = (
/obj/structure/plasticflaps/opaque,
/turf/open/floor/plating,
@@ -54456,6 +54285,22 @@
/obj/machinery/light/directional/south,
/turf/open/floor/iron/dark,
/area/station/science/robotics/lab)
+"sjD" = (
+/obj/machinery/door/airlock/medical/glass{
+ name = "Medical Freezer"
+ },
+/obj/machinery/door/firedoor,
+/obj/machinery/duct,
+/obj/effect/mapping_helpers/airlock/access/all/medical/surgery,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/blue/opposingcorners{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/iron/freezer,
+/area/station/medical/coldroom)
"sjE" = (
/obj/effect/turf_decal/trimline/yellow/filled/line{
dir = 8
@@ -54546,6 +54391,13 @@
/obj/structure/chair/sofa/bench/tram,
/turf/open/openspace,
/area/station/hallway/primary/tram/center)
+"skA" = (
+/obj/effect/turf_decal/siding/dark{
+ dir = 10
+ },
+/obj/structure/sign/poster/greenscreen/directional/east,
+/turf/open/floor/greenscreen,
+/area/station/command/heads_quarters/captain/private)
"skC" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -54636,6 +54488,11 @@
},
/turf/open/floor/iron/white,
/area/station/science/lobby)
+"smc" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/closet/secure_closet/evidence,
+/turf/open/floor/iron/dark,
+/area/station/security/evidence)
"smj" = (
/obj/effect/turf_decal/trimline/red/filled/line,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -55888,13 +55745,6 @@
/obj/structure/cable,
/turf/open/space/openspace,
/area/station/solars/starboard/fore)
-"sIz" = (
-/obj/effect/turf_decal/siding/dark{
- dir = 9
- },
-/obj/structure/sign/poster/greenscreen/directional/east,
-/turf/open/floor/greenscreen,
-/area/station/command/heads_quarters/captain/private)
"sIF" = (
/obj/structure/ore_box,
/turf/open/misc/asteroid,
@@ -56050,6 +55900,15 @@
},
/turf/open/floor/iron,
/area/station/cargo/storage)
+"sLH" = (
+/obj/effect/turf_decal/trimline/green/filled/line{
+ dir = 5
+ },
+/obj/structure/table,
+/obj/item/stack/sheet/cardboard,
+/obj/item/food/donkpocket/pizza,
+/turf/open/floor/iron/dark,
+/area/station/medical/virology)
"sLR" = (
/obj/effect/turf_decal/trimline/neutral/filled/corner{
dir = 1
@@ -56130,6 +55989,13 @@
"sNs" = (
/turf/closed/wall,
/area/station/commons/storage/primary)
+"sNN" = (
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/holopad,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/iron/kitchen_coldroom,
+/area/station/medical/coldroom)
"sNQ" = (
/obj/structure/disposalpipe/junction{
dir = 2
@@ -56253,6 +56119,17 @@
"sOS" = (
/turf/open/floor/carpet,
/area/station/cargo/miningdock)
+"sOX" = (
+/obj/effect/mapping_helpers/airlock/access/all/service/kitchen,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/door/airlock/freezer{
+ name = "Freezer"
+ },
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/catwalk_floor,
+/area/station/service/kitchen/coldroom)
"sPo" = (
/obj/effect/turf_decal/trimline/neutral/filled/line{
dir = 8
@@ -57524,6 +57401,19 @@
"tlZ" = (
/turf/open/floor/iron/cafeteria,
/area/station/security/prison)
+"tmf" = (
+/obj/structure/table/wood,
+/obj/item/storage/photo_album{
+ pixel_y = -4
+ },
+/obj/item/camera{
+ pixel_y = 4
+ },
+/obj/machinery/newscaster/directional/west,
+/obj/machinery/digital_clock/directional/north,
+/obj/effect/turf_decal/tile/dark_blue/fourcorners,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/captain/private)
"tml" = (
/obj/effect/turf_decal/stripes/line{
dir = 10
@@ -57649,6 +57539,14 @@
/obj/item/mod/module/thermal_regulator,
/turf/open/floor/iron,
/area/station/security/office)
+"toS" = (
+/obj/effect/spawner/random/contraband/cannabis,
+/obj/structure/closet{
+ name = "evidence closet 1"
+ },
+/obj/machinery/airalarm/directional/east,
+/turf/open/floor/iron/dark,
+/area/station/security/evidence)
"toT" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
@@ -57694,6 +57592,20 @@
},
/turf/open/floor/wood/large,
/area/station/service/library)
+"tpS" = (
+/obj/effect/turf_decal/trimline/red/filled/line{
+ dir = 5
+ },
+/obj/effect/turf_decal/trimline/red/filled/corner{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/structure/secure_safe/directional/north{
+ name = "evidence safe"
+ },
+/turf/open/floor/iron/dark,
+/area/station/security/evidence)
"tqd" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/disposalpipe/segment{
@@ -58214,19 +58126,6 @@
},
/turf/open/floor/circuit/green,
/area/station/ai_monitored/turret_protected/ai_upload)
-"tyB" = (
-/obj/structure/bed{
- dir = 4
- },
-/obj/item/bedsheet/captain{
- dir = 4
- },
-/obj/structure/sign/clock/directional/north,
-/obj/machinery/camera/directional/north{
- c_tag = "Command - Captain's Quarters"
- },
-/turf/open/floor/wood,
-/area/station/command/heads_quarters/captain/private)
"tyE" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 1
@@ -58749,6 +58648,28 @@
},
/turf/open/floor/iron,
/area/station/command/teleporter)
+"tHD" = (
+/obj/structure/table/reinforced,
+/obj/structure/window/reinforced/spawner/directional/south,
+/obj/item/storage/medkit/toxin{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/storage/medkit/toxin,
+/obj/item/storage/medkit/toxin{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/machinery/door/window/right/directional/east{
+ name = "Secure Medical Storage";
+ req_access = list("medical")
+ },
+/obj/effect/turf_decal/siding/white{
+ dir = 4
+ },
+/obj/effect/mapping_helpers/airlock/red_alert_access,
+/turf/open/floor/iron/dark,
+/area/station/medical/storage)
"tIg" = (
/obj/modular_map_root/tramstation{
name = "arrivallibraryupper";
@@ -59240,6 +59161,18 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/hallway/primary/tram/center)
+"tQN" = (
+/obj/effect/turf_decal/trimline/neutral/filled/corner{
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/neutral/filled/corner{
+ dir = 1
+ },
+/obj/structure/disposalpipe/junction{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/tram/right)
"tRf" = (
/obj/effect/turf_decal/stripes/line{
dir = 9
@@ -59433,6 +59366,14 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/white,
/area/station/medical/surgery/fore)
+"tTT" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/tile/brown/opposingcorners,
+/obj/machinery/camera/autoname/directional/east,
+/turf/open/floor/iron,
+/area/station/cargo/miningfoundry)
"tTW" = (
/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{
dir = 5
@@ -59739,14 +59680,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/cargo/lobby)
-"tZV" = (
-/obj/machinery/door/airlock/maintenance_hatch{
- name = "EVA Maintenance Hatch"
- },
-/obj/effect/mapping_helpers/airlock/access/all/command/eva,
-/obj/effect/mapping_helpers/airlock/red_alert_access,
-/turf/open/floor/iron/smooth,
-/area/station/maintenance/department/eva)
"uax" = (
/turf/open/floor/iron,
/area/station/cargo/storage)
@@ -60002,6 +59935,23 @@
/obj/effect/turf_decal/trimline/blue/filled/corner,
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
+"ueo" = (
+/obj/machinery/door/airlock/research{
+ name = "Slime Euthanization Chamber";
+ opacity = 0;
+ glass = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
+/obj/effect/mapping_helpers/airlock/access/all/science/xenobio,
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 8
+ },
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/iron/white,
+/area/station/science/xenobiology)
"uey" = (
/obj/effect/turf_decal/siding/wood{
dir = 8
@@ -61453,6 +61403,13 @@
/obj/structure/cable,
/turf/open/floor/iron/grimy,
/area/station/ai_monitored/turret_protected/aisat/foyer)
+"uBt" = (
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/turf/open/floor/iron/kitchen_coldroom,
+/area/station/medical/coldroom)
"uBu" = (
/obj/item/radio/intercom/prison/directional/south,
/obj/effect/turf_decal/trimline/red/filled/line,
@@ -62828,13 +62785,6 @@
},
/turf/open/floor/iron,
/area/station/security/office)
-"uYD" = (
-/obj/machinery/suit_storage_unit/captain,
-/obj/structure/sign/calendar/directional/north,
-/obj/effect/turf_decal/tile/dark_blue/fourcorners,
-/obj/effect/turf_decal/bot_white,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/captain/private)
"uYF" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark,
@@ -63428,14 +63378,6 @@
/obj/item/clothing/mask/gas/clown_hat,
/turf/open/floor/plating,
/area/station/engineering/main)
-"viZ" = (
-/obj/machinery/camera/directional/south{
- network = list("ss13","medbay");
- c_tag = "Medical - Cold Storage"
- },
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
-/area/station/medical/coldroom)
"vjb" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 8
@@ -63774,18 +63716,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/tram/mid)
-"vpp" = (
-/obj/effect/turf_decal/trimline/dark_green/filled/line{
- dir = 9
- },
-/obj/structure/table/glass,
-/obj/machinery/requests_console/directional/west{
- name = "Genetics Requests Console";
- department = "Genetics"
- },
-/obj/item/flesh_shears,
-/turf/open/floor/iron/white,
-/area/station/science/genetics)
"vpt" = (
/obj/structure/railing{
dir = 9
@@ -64039,6 +63969,12 @@
},
/turf/closed/wall,
/area/station/maintenance/disposal)
+"vsp" = (
+/obj/effect/turf_decal/bot,
+/obj/structure/closet/crate/freezer/surplus_limbs,
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/turf/open/floor/iron/kitchen_coldroom,
+/area/station/medical/coldroom)
"vsI" = (
/obj/effect/landmark/start/station_engineer,
/obj/effect/landmark/event_spawn,
@@ -64742,6 +64678,13 @@
},
/turf/open/floor/iron,
/area/station/commons/storage/primary)
+"vFs" = (
+/obj/machinery/computer/security/telescreen/entertainment/directional/north,
+/obj/structure/window/reinforced/spawner/directional/east,
+/obj/machinery/light/warm/directional/north,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/turf/open/floor/wood,
+/area/station/command/heads_quarters/captain/private)
"vFt" = (
/turf/closed/wall/rust,
/area/station/hallway/primary/tram/left)
@@ -64753,6 +64696,12 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/wood/parquet,
/area/station/service/library)
+"vFL" = (
+/obj/effect/turf_decal/trimline/blue/filled/line,
+/obj/machinery/holopad,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/iron/white,
+/area/station/medical/storage)
"vFQ" = (
/obj/machinery/duct,
/obj/structure/cable,
@@ -64933,6 +64882,10 @@
/obj/machinery/newscaster/directional/north,
/turf/open/floor/iron,
/area/station/engineering/break_room)
+"vIh" = (
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+/area/station/medical/coldroom)
"vIv" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/circuit/green,
@@ -65026,6 +64979,19 @@
/obj/machinery/door/firedoor,
/turf/open/floor/iron,
/area/station/hallway/secondary/service)
+"vKG" = (
+/obj/machinery/door/airlock/medical/glass{
+ name = "Medical Freezer"
+ },
+/obj/machinery/door/firedoor,
+/obj/machinery/duct,
+/obj/effect/mapping_helpers/airlock/access/all/medical/surgery,
+/obj/effect/turf_decal/tile/blue/opposingcorners{
+ dir = 1
+ },
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/iron/freezer,
+/area/station/medical/coldroom)
"vKK" = (
/obj/effect/turf_decal/caution/stand_clear/red{
dir = 4
@@ -65306,6 +65272,15 @@
dir = 4
},
/area/station/service/theater)
+"vQP" = (
+/obj/effect/landmark/event_spawn,
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/turf/open/floor/iron/kitchen_coldroom,
+/area/station/medical/coldroom)
"vQT" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -65937,6 +65912,14 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/cafeteria,
/area/station/command/heads_quarters/rd)
+"wcK" = (
+/obj/machinery/door/airlock/maintenance_hatch{
+ name = "EVA Maintenance Hatch"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/command/eva,
+/obj/effect/mapping_helpers/airlock/red_alert_access,
+/turf/open/floor/iron/smooth,
+/area/station/maintenance/department/eva)
"wcN" = (
/obj/effect/turf_decal/trimline/neutral/filled/line{
dir = 1
@@ -66264,23 +66247,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/carpet,
/area/station/service/chapel/monastery)
-"wiX" = (
-/obj/effect/landmark/start/hangover,
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/obj/effect/turf_decal/trimline/tram/filled/corner{
- dir = 8
- },
-/obj/effect/turf_decal/trimline/tram/corner{
- dir = 8
- },
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/tram/right)
"wjk" = (
/obj/machinery/door/airlock/maintenance_hatch{
name = "Security Maintenance Hatch"
@@ -67036,19 +67002,6 @@
/obj/machinery/atmospherics/pipe/smart/simple/orange/visible,
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"wyH" = (
-/obj/structure/table/wood,
-/obj/item/storage/photo_album{
- pixel_y = -4
- },
-/obj/item/camera{
- pixel_y = 4
- },
-/obj/machinery/newscaster/directional/west,
-/obj/machinery/digital_clock/directional/north,
-/obj/effect/turf_decal/tile/dark_blue/fourcorners,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/captain/private)
"wyM" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -67123,6 +67076,12 @@
/obj/effect/turf_decal/tile/brown/half/contrasted,
/turf/open/floor/iron,
/area/station/command/bridge)
+"wzn" = (
+/obj/structure/closet{
+ name = "evidence closet 4"
+ },
+/turf/open/floor/iron/dark,
+/area/station/security/evidence)
"wzE" = (
/obj/effect/turf_decal/trimline/yellow/warning{
dir = 4
@@ -67321,18 +67280,6 @@
/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
/turf/open/floor/plating,
/area/station/engineering/atmos)
-"wDi" = (
-/obj/effect/turf_decal/box/white{
- color = "#52B4E9"
- },
-/obj/machinery/portable_atmospherics/canister/oxygen,
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/obj/machinery/light_switch/directional/east{
- pixel_x = 22;
- pixel_y = -8
- },
-/turf/open/floor/iron/kitchen_coldroom,
-/area/station/medical/coldroom)
"wDt" = (
/obj/effect/landmark/event_spawn,
/obj/structure/chair/stool/directional/east,
@@ -68019,12 +67966,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/tram/center)
-"wQl" = (
-/obj/structure/closet{
- name = "evidence closet 2"
- },
-/turf/open/floor/iron/dark,
-/area/station/security/evidence)
"wQm" = (
/turf/open/floor/iron,
/area/station/engineering/atmos)
@@ -68413,11 +68354,6 @@
/obj/effect/spawner/random/decoration/ornament,
/turf/open/floor/carpet,
/area/station/commons/vacant_room/office)
-"wZE" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/closet/secure_closet/evidence,
-/turf/open/floor/iron/dark,
-/area/station/security/evidence)
"wZL" = (
/obj/effect/turf_decal/trimline/purple/filled/line{
dir = 6
@@ -68559,11 +68495,6 @@
/obj/effect/mapping_helpers/airlock/access/all/security/brig,
/turf/open/floor/iron,
/area/station/security/prison)
-"xck" = (
-/obj/machinery/holopad,
-/obj/effect/turf_decal/bot,
-/turf/open/floor/iron/white,
-/area/station/medical/medbay/lobby)
"xcp" = (
/obj/machinery/door/window/left/directional/west{
name = "Hydroponics Desk";
@@ -68834,6 +68765,17 @@
},
/turf/open/floor/iron/white,
/area/station/science/lower)
+"xiB" = (
+/obj/effect/turf_decal/trimline/neutral/filled/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/neutral/filled/corner,
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/tram/right)
"xiD" = (
/obj/effect/turf_decal/stripes/corner{
dir = 1
@@ -68864,6 +68806,16 @@
/obj/effect/turf_decal/tile/yellow/fourcorners,
/turf/open/floor/iron/white,
/area/station/medical/chemistry)
+"xiQ" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden,
+/obj/machinery/door/airlock/command/glass{
+ name = "Server Access"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/rd,
+/obj/structure/cable,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/circuit/telecomms/server,
+/area/station/science/server)
"xiZ" = (
/obj/structure/chair/sofa/right,
/obj/effect/turf_decal/tile/bar/opposingcorners,
@@ -69499,6 +69451,15 @@
"xvl" = (
/turf/closed/wall/r_wall,
/area/station/ai_monitored/turret_protected/aisat/foyer)
+"xvz" = (
+/obj/structure/fluff/tram_rail/electric{
+ dir = 1
+ },
+/obj/structure/transport/linear/tram,
+/obj/structure/thermoplastic,
+/obj/structure/sign/tram_plate/directional/south,
+/turf/open/openspace,
+/area/station/hallway/primary/tram/center)
"xvJ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -69563,6 +69524,31 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/security/office)
+"xwH" = (
+/obj/structure/sign/directions/evac{
+ dir = 4;
+ pixel_y = -28
+ },
+/obj/structure/sign/directions/medical{
+ dir = 8;
+ pixel_y = -34
+ },
+/obj/structure/sign/directions/engineering{
+ dir = 8;
+ pixel_y = -40
+ },
+/obj/structure/sign/directions/upload{
+ pixel_y = -22
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/trimline/tram/filled/line,
+/obj/effect/turf_decal/trimline/tram/filled/warning,
+/obj/structure/disposalpipe/segment{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/tram/right)
"xwO" = (
/obj/machinery/door/airlock/hatch{
name = "Emergency Exit"
@@ -69609,13 +69595,6 @@
},
/turf/open/floor/iron,
/area/station/security/prison/safe)
-"xxL" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/obj/machinery/status_display/evac/directional/north,
-/obj/effect/turf_decal/tile/dark_blue/fourcorners,
-/obj/structure/chair/stool/directional/east,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/captain/private)
"xxW" = (
/obj/effect/turf_decal/trimline/neutral/filled/line{
dir = 9
@@ -70215,6 +70194,30 @@
/obj/machinery/vending/coffee,
/turf/open/floor/wood,
/area/station/service/bar/backroom)
+"xLs" = (
+/obj/effect/landmark/start/hangover,
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/tram/filled/corner{
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/tram/corner{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/tram/right)
+"xLu" = (
+/obj/structure/chair/sofa/left{
+ dir = 1
+ },
+/obj/item/radio/intercom/directional/south,
+/turf/open/floor/iron/cafeteria,
+/area/station/science/breakroom)
"xLK" = (
/obj/effect/turf_decal/trimline/neutral/filled/line{
dir = 5
@@ -70296,11 +70299,6 @@
},
/turf/open/floor/iron,
/area/station/commons/fitness/recreation)
-"xMU" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
-/area/station/medical/coldroom)
"xMV" = (
/obj/structure/railing/corner{
dir = 8
@@ -70551,6 +70549,14 @@
},
/turf/open/floor/circuit,
/area/station/ai_monitored/turret_protected/aisat_interior)
+"xQH" = (
+/obj/machinery/camera/directional/south{
+ network = list("ss13","medbay");
+ c_tag = "Medical - Cold Storage"
+ },
+/obj/effect/turf_decal/tile/blue/opposingcorners,
+/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+/area/station/medical/coldroom)
"xQM" = (
/obj/effect/turf_decal/trimline/neutral/filled/line{
dir = 5
@@ -70704,12 +70710,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white,
/area/station/security/execution/education)
-"xUb" = (
-/obj/machinery/smartfridge/organ,
-/obj/structure/sign/warning/cold_temp/directional/east,
-/obj/effect/turf_decal/tile/blue/opposingcorners,
-/turf/open/floor/iron/kitchen_coldroom,
-/area/station/medical/coldroom)
"xUC" = (
/obj/effect/spawner/random/engineering/tracking_beacon,
/turf/open/floor/iron,
@@ -71248,11 +71248,6 @@
/obj/structure/window/reinforced/spawner/directional/north,
/turf/open/floor/iron/dark,
/area/station/science/ordnance)
-"yeA" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/wood,
-/area/station/command/heads_quarters/captain/private)
"yeB" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -98632,7 +98627,7 @@ lOV
jXc
rpJ
gga
-rBW
+nbD
ffN
sMr
uGX
@@ -103972,7 +103967,7 @@ nUP
cQY
aer
vYg
-aeN
+sOX
snQ
iRL
dNp
@@ -104024,7 +104019,7 @@ dor
fSp
vKv
roB
-mzi
+hXo
iHK
bAK
jsW
@@ -117400,7 +117395,7 @@ rdU
uon
ilj
hDT
-keT
+ueo
iEF
fof
aoN
@@ -118421,7 +118416,7 @@ xNk
pnn
hCv
grh
-okh
+xLu
qVr
qVr
kkx
@@ -119129,7 +119124,7 @@ xdZ
fdc
cZQ
jwy
-bvA
+tTT
pIF
mIF
ujf
@@ -146895,7 +146890,7 @@ aaa
aaa
aaa
iyc
-qpY
+kJP
udk
uSR
oXe
@@ -149979,7 +149974,7 @@ ayR
ayR
ayR
ayR
-tZV
+wcK
ayR
rlv
rlv
@@ -151521,7 +151516,7 @@ idW
hzN
hzN
hzN
-cOg
+nNt
hzN
gkU
gkU
@@ -153068,7 +153063,7 @@ ief
ujt
ujt
ief
-lIc
+gmX
ief
aBV
aBV
@@ -158461,8 +158456,8 @@ tFJ
nwv
cSh
ltw
-tyB
-jWd
+aAF
+gha
ltw
rdm
vjq
@@ -158718,7 +158713,7 @@ ltw
fOG
pcm
ndO
-yeA
+jWz
riB
ltw
dxw
@@ -158975,7 +158970,7 @@ ltw
bCu
nZY
ltw
-bwN
+vFs
oTu
ltw
qJf
@@ -159232,7 +159227,7 @@ ltw
ltw
ltw
ltw
-bwi
+oJK
tth
rKP
kOr
@@ -159489,7 +159484,7 @@ aaa
aaa
aaa
ltw
-uYD
+gkV
aVj
ltw
sWY
@@ -159723,9 +159718,9 @@ abM
abM
tFJ
kyN
-fzc
-wZE
-wZE
+nVt
+smc
+smc
jKq
pTr
ohd
@@ -159747,7 +159742,7 @@ aaa
ltw
ltw
ltw
-dCp
+rZv
ltw
xEo
xEo
@@ -159979,7 +159974,7 @@ tag
abM
abM
tFJ
-pyM
+tpS
mNy
xFb
dGn
@@ -160002,9 +159997,9 @@ aaa
aaa
aaa
ltw
-wyH
-nrD
-jko
+tmf
+iKh
+eBZ
ltw
aaa
aaa
@@ -160236,10 +160231,10 @@ aaa
abM
abM
tFJ
-kPL
-wQl
-iMo
-djh
+toS
+rRI
+dEz
+wzn
jKq
rMp
awc
@@ -160259,9 +160254,9 @@ aaa
aaa
aaa
ltw
-xxL
-jwW
-qOC
+kep
+ker
+cJj
ltw
aaa
aaa
@@ -160516,9 +160511,9 @@ aaa
aaa
aaa
ltw
-sIz
-rkf
-mLh
+nIY
+fqH
+skA
ltw
aaa
aaa
@@ -164668,12 +164663,12 @@ xBk
jwU
xBk
kRL
-dJG
-xMU
-elM
-cTw
-eyg
-viZ
+cNe
+obM
+hDz
+iLy
+mNI
+xQH
apC
abM
abM
@@ -164925,12 +164920,12 @@ mMn
bbk
yeN
kRL
-kAx
-qcj
-ayn
-aJf
-lXZ
-aHb
+vsp
+oZX
+vQP
+sNN
+uBt
+bXE
apC
abM
abM
@@ -165175,19 +165170,19 @@ aaa
aaa
xBk
xBk
-giT
-iZi
-dAJ
+gFb
+tHD
+rZc
mPr
vcv
odH
kRL
-dJG
-qcj
-lDl
-xUb
-wDi
-qif
+cNe
+oZX
+nUH
+pce
+iqW
+vIh
apC
abM
abM
@@ -165431,7 +165426,7 @@ aaa
aaa
aaa
xBk
-eWs
+kpx
sKO
sKO
mLu
@@ -165440,11 +165435,11 @@ hVZ
jWe
kRL
kRL
-cPA
+sjD
xRx
xRx
lBQ
-rJE
+vKG
apC
apC
abM
@@ -165689,7 +165684,7 @@ aaa
aaa
xBk
xBk
-pGa
+eql
rSa
kiC
mrf
@@ -165950,7 +165945,7 @@ jyH
jyH
jyH
wyR
-mVp
+vFL
fMZ
xRx
bWU
@@ -169285,7 +169280,7 @@ bPh
sSt
jEK
eoE
-xck
+eOR
ols
wyd
enF
@@ -170304,8 +170299,8 @@ aiH
oKm
uzl
xBS
-mar
-mXi
+xvz
+oKm
dhI
lej
fxs
@@ -173925,7 +173920,7 @@ whz
aaa
aaa
ugt
-bGV
+sLH
min
oKh
rNt
@@ -180836,7 +180831,7 @@ sYz
ldp
wkz
hsN
-psy
+tQN
oAY
seR
kTK
@@ -181078,7 +181073,7 @@ pZA
uax
uax
uax
-mur
+bmW
qza
mhJ
aAJ
@@ -182412,7 +182407,7 @@ rGj
wcB
jXF
pbH
-mAL
+xiQ
nKU
qVr
tEx
@@ -183440,7 +183435,7 @@ kye
kye
lHJ
pbH
-mAL
+xiQ
nKU
qVr
tBo
@@ -184177,7 +184172,7 @@ dOC
bIp
evu
qtF
-iIS
+xwH
bMb
brm
gay
@@ -184433,8 +184428,8 @@ geG
nmP
kdI
vrx
-add
-wiX
+dOO
+xLs
oUA
brm
mWR
@@ -184690,7 +184685,7 @@ yiV
uCO
aDI
aDV
-qrx
+rcr
aYA
hZc
seR
@@ -184706,7 +184701,7 @@ grB
ckd
sNQ
sPK
-gYO
+cWd
pMk
ePS
pmM
@@ -184947,9 +184942,9 @@ pEe
uCO
hPi
bMb
-dEo
-saI
-raY
+xiB
+iqT
+erW
hZv
ljn
ujw
@@ -185222,7 +185217,7 @@ hmd
bHb
sed
dpB
-vpp
+lYN
gel
tIh
hRa
diff --git a/_maps/map_files/wawastation/wawastation.dmm b/_maps/map_files/wawastation/wawastation.dmm
index 91a0dc9b7f5..a6031fcf326 100644
--- a/_maps/map_files/wawastation/wawastation.dmm
+++ b/_maps/map_files/wawastation/wawastation.dmm
@@ -35,12 +35,6 @@
},
/turf/open/floor/iron/large,
/area/station/service/hydroponics/garden)
-"aaY" = (
-/obj/effect/turf_decal/tile/yellow{
- dir = 4
- },
-/turf/open/floor/iron/dark/corner,
-/area/station/engineering/atmos/upper)
"abb" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 1
@@ -89,15 +83,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/service/hydroponics)
-"abw" = (
-/obj/machinery/door/airlock/maintenance_hatch,
-/obj/effect/mapping_helpers/airlock/access/all/security/entrance,
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/plating,
-/area/station/maintenance/department/cargo)
"abx" = (
/obj/structure/railing/corner{
dir = 4
@@ -222,17 +207,6 @@
},
/turf/open/openspace,
/area/station/maintenance/port/greater)
-"adP" = (
-/obj/machinery/door/airlock/atmos{
- name = "Atmospherics Overlook"
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
-/obj/machinery/door/firedoor,
-/obj/effect/turf_decal/tile/yellow/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron/checker,
-/area/station/engineering/atmos/upper)
"adV" = (
/obj/effect/turf_decal/tile/yellow,
/obj/machinery/light/dim/directional/east,
@@ -284,13 +258,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"aer" = (
-/obj/machinery/camera/autoname/directional/west,
-/obj/effect/turf_decal/trimline/yellow/filled/line{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/engineering/main)
"aex" = (
/mob/living/basic/sloth/citrus,
/turf/open/floor/iron,
@@ -337,6 +304,15 @@
},
/turf/open/floor/iron/dark,
/area/station/command/bridge)
+"aeX" = (
+/obj/structure/railing{
+ dir = 4
+ },
+/obj/machinery/portable_atmospherics/canister/air,
+/obj/effect/turf_decal/box,
+/obj/structure/window/reinforced/spawner/directional/east,
+/turf/open/floor/iron/dark/textured,
+/area/station/engineering/atmos/upper)
"afe" = (
/obj/effect/turf_decal/tile/neutral{
dir = 1
@@ -583,6 +559,15 @@
},
/turf/open/floor/iron/textured_large,
/area/station/medical/treatment_center)
+"ajp" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/upper)
"ajs" = (
/obj/machinery/door/poddoor/shutters/window{
dir = 1;
@@ -672,6 +657,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/rd)
+"akH" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/railing{
+ dir = 5
+ },
+/turf/open/space/openspace,
+/area/space/nearstation)
"akU" = (
/turf/open/floor/iron/dark/side,
/area/station/command/corporate_dock)
@@ -712,10 +704,6 @@
/obj/machinery/atmospherics/components/unary/thermomachine/heater,
/turf/open/misc/asteroid,
/area/station/maintenance/disposal/incinerator)
-"alv" = (
-/obj/structure/railing/corner,
-/turf/open/floor/iron,
-/area/station/engineering/main)
"alx" = (
/obj/item/flashlight/flare{
icon_state = "flare-on";
@@ -749,22 +737,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/kitchen,
/area/station/service/kitchen)
-"alW" = (
-/obj/machinery/camera/autoname/directional/west{
- network = list("ss13","medbay")
- },
-/obj/effect/decal/cleanable/glass,
-/obj/structure/broken_flooring/pile,
-/obj/structure/rack,
-/obj/effect/turf_decal/tile/green/anticorner/contrasted{
- dir = 1
- },
-/obj/item/storage/box/masks{
- pixel_y = 4
- },
-/obj/item/storage/box/bodybags,
-/turf/open/floor/iron/white/textured,
-/area/station/medical/treatment_center)
"alX" = (
/obj/effect/turf_decal/stripes{
dir = 1
@@ -790,6 +762,18 @@
/obj/machinery/firealarm/directional/south,
/turf/open/floor/iron/white/textured,
/area/station/science/genetics)
+"amu" = (
+/obj/effect/mapping_helpers/airlock/access/all/service/kitchen,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/door/airlock/freezer{
+ name = "Freezer"
+ },
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+/area/station/service/kitchen/coldroom)
"amJ" = (
/obj/machinery/iv_drip,
/obj/effect/turf_decal/tile/blue/fourcorners,
@@ -936,6 +920,12 @@
/obj/effect/mapping_helpers/airlock/access/all/supply/general,
/turf/open/floor/plating,
/area/station/cargo/storage)
+"aoM" = (
+/obj/structure/sign/poster/official/random/directional/south,
+/obj/effect/turf_decal/bot,
+/obj/machinery/portable_atmospherics/scrubber,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos)
"apb" = (
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt/dust,
@@ -982,14 +972,6 @@
},
/turf/open/floor/iron/white,
/area/station/medical/exam_room)
-"apK" = (
-/obj/structure/cable,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/cleanable/blood/tracks,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/department/engine)
"apQ" = (
/turf/closed/wall,
/area/station/service/library)
@@ -1308,6 +1290,14 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/department/cargo)
+"avN" = (
+/obj/effect/turf_decal/trimline/yellow/filled/corner{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/engineering/main)
"avQ" = (
/obj/structure/lattice,
/obj/machinery/atmospherics/components/unary/passive_vent/layer2{
@@ -1442,12 +1432,6 @@
/obj/item/clothing/glasses/nightmare_vision,
/turf/open/space/basic,
/area/space/nearstation)
-"axv" = (
-/obj/structure/lattice/catwalk,
-/obj/structure/railing/corner,
-/obj/structure/cable/layer3,
-/turf/open/openspace,
-/area/station/engineering/atmos)
"axB" = (
/obj/machinery/door/window/brigdoor/right/directional/east{
req_access = list("xenobiology")
@@ -1568,16 +1552,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/misc/asteroid,
/area/station/asteroid)
-"azs" = (
-/obj/effect/turf_decal/tile/yellow{
- dir = 8
- },
-/obj/effect/turf_decal/tile/yellow{
- dir = 4
- },
-/obj/machinery/light_switch/directional/south,
-/turf/open/floor/iron/dark/corner,
-/area/station/engineering/atmos)
"azt" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -1622,14 +1596,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/storage)
-"azV" = (
-/obj/machinery/door/airlock/maintenance_hatch,
-/obj/structure/cable,
-/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/maintenance/central/greater)
"aAg" = (
/obj/effect/landmark/event_spawn,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
@@ -1679,12 +1645,20 @@
},
/turf/open/floor/iron/white/smooth_large,
/area/station/medical/medbay/central)
-"aBy" = (
-/obj/effect/turf_decal/tile/dark_blue/half/contrasted{
- dir = 8
+"aBf" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 1
},
+/obj/machinery/vending/tool,
/turf/open/floor/iron,
-/area/station/hallway/secondary/command)
+/area/station/engineering/lobby)
+"aBo" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/iron,
+/area/station/maintenance/department/engine)
"aBU" = (
/obj/item/radio/intercom/directional/east,
/obj/structure/cable,
@@ -1730,9 +1704,18 @@
},
/turf/open/floor/iron,
/area/station/cargo/lobby)
-"aCv" = (
-/turf/closed/wall/rock/porous,
-/area/station/maintenance/department/medical)
+"aCu" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/firealarm/directional/north,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/checker,
+/area/station/engineering/atmos/mix)
"aCx" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/decal/cleanable/dirt/dust,
@@ -1796,14 +1779,13 @@
},
/turf/open/floor/iron/dark,
/area/station/medical/chemistry/minisat)
-"aDJ" = (
-/obj/machinery/shower/directional/south{
- name = "emergency shower"
+"aDO" = (
+/obj/effect/decal/cleanable/glass,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 4
},
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/trimline/dark_blue/end,
-/turf/open/floor/iron/textured,
-/area/station/engineering/atmos)
+/turf/open/floor/iron/white/textured_large,
+/area/station/medical/treatment_center)
"aDW" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/decal/cleanable/plastic,
@@ -1898,6 +1880,16 @@
},
/turf/open/floor/carpet/orange,
/area/station/service/theater)
+"aFt" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow,
+/obj/structure/railing/corner,
+/turf/open/floor/iron/dark/corner{
+ dir = 4
+ },
+/area/station/engineering/atmos)
"aFw" = (
/obj/effect/turf_decal/tile/blue/opposingcorners{
dir = 1
@@ -2054,6 +2046,18 @@
/obj/structure/railing/corner,
/turf/open/floor/iron,
/area/station/security/prison)
+"aHO" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/main)
"aHZ" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -2145,20 +2149,6 @@
},
/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
/area/station/service/kitchen/coldroom)
-"aJz" = (
-/obj/structure/railing,
-/obj/structure/table,
-/obj/item/plate,
-/obj/item/food/spaghetti/mac_n_cheese{
- pixel_y = 3
- },
-/obj/item/flashlight/flare/candle{
- icon_state = "candle1_lit";
- pixel_x = 12;
- start_on = 1
- },
-/turf/open/floor/plating,
-/area/station/engineering/main)
"aJA" = (
/obj/machinery/door/window/brigdoor/right/directional/east{
req_access = list("xenobiology")
@@ -2217,6 +2207,17 @@
/obj/effect/turf_decal/trimline/yellow/filled/line,
/turf/open/floor/iron,
/area/station/command/heads_quarters/ce)
+"aKk" = (
+/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/door/airlock/atmos/glass{
+ name = "Atmospherics Mixing Room"
+ },
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/upper)
"aKl" = (
/obj/structure/chair,
/obj/machinery/airalarm/directional/north,
@@ -2224,13 +2225,6 @@
dir = 5
},
/area/station/maintenance/radshelter/medical)
-"aKA" = (
-/obj/structure/stairs/south,
-/obj/structure/railing{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"aKB" = (
/obj/structure/disposalpipe/segment{
dir = 5
@@ -2299,20 +2293,6 @@
/obj/machinery/door/firedoor/border_only,
/turf/open/floor/iron/white/textured,
/area/station/science/genetics)
-"aLz" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/command{
- name = "E.V.A. Storage"
- },
-/obj/effect/turf_decal/delivery,
-/obj/structure/cable,
-/obj/effect/landmark/navigate_destination,
-/obj/effect/mapping_helpers/airlock/access/any/command/eva,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/mapping_helpers/airlock/red_alert_access,
-/turf/open/floor/iron,
-/area/station/ai_monitored/command/storage/eva)
"aLE" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/item/radio/intercom/directional/south,
@@ -2462,14 +2442,6 @@
/obj/machinery/status_display/evac/directional/west,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"aOb" = (
-/obj/machinery/light/directional/south,
-/obj/structure/cable,
-/obj/effect/turf_decal/trimline/yellow/filled/line{
- dir = 6
- },
-/turf/open/floor/iron,
-/area/station/engineering/lobby)
"aOi" = (
/obj/machinery/light/small/directional/south,
/turf/open/floor/plating,
@@ -2601,6 +2573,15 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
+"aRa" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos/project)
"aRf" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -2610,6 +2591,16 @@
/obj/structure/girder,
/turf/open/floor/plating,
/area/station/asteroid)
+"aRq" = (
+/obj/machinery/camera/autoname/directional/north,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/structure/disposalpipe/trunk/multiz,
+/turf/open/floor/iron/dark/corner{
+ dir = 4
+ },
+/area/station/engineering/atmos)
"aRs" = (
/obj/machinery/camera/autoname/directional/south,
/turf/open/floor/iron/dark,
@@ -2670,6 +2661,13 @@
/obj/machinery/airalarm/directional/west,
/turf/open/floor/iron/dark,
/area/station/service/chapel/office)
+"aSF" = (
+/obj/effect/turf_decal/trimline/yellow/filled/corner,
+/obj/structure/disposalpipe/junction{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/lobby)
"aSG" = (
/obj/machinery/computer/records/medical{
dir = 1
@@ -2803,6 +2801,14 @@
},
/turf/open/floor/iron/dark,
/area/station/service/cafeteria)
+"aVb" = (
+/obj/machinery/door/airlock/maintenance_hatch,
+/obj/structure/cable,
+/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/maintenance/central/greater)
"aVm" = (
/obj/machinery/door/airlock/maintenance_hatch,
/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
@@ -2826,6 +2832,12 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/white/textured,
/area/station/science/genetics)
+"aVG" = (
+/obj/structure/railing/corner/end{
+ dir = 1
+ },
+/turf/closed/wall/r_wall,
+/area/station/engineering/atmos)
"aVY" = (
/obj/item/flashlight/flare{
icon_state = "flare-on";
@@ -2852,10 +2864,6 @@
"aWD" = (
/turf/closed/wall/r_wall,
/area/station/engineering/main)
-"aWF" = (
-/obj/structure/rack,
-/turf/open/floor/plating,
-/area/station/engineering/main)
"aWJ" = (
/turf/open/misc/asteroid,
/area/station/maintenance/central/greater)
@@ -2887,13 +2895,6 @@
},
/turf/open/floor/iron/dark,
/area/station/hallway/secondary/exit/departure_lounge)
-"aXA" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/door/airlock/maintenance,
-/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/port/lesser)
"aXD" = (
/obj/machinery/door/airlock/maintenance/external,
/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
@@ -2962,6 +2963,15 @@
/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/nitrous_input,
/turf/open/floor/engine/n2o,
/area/station/engineering/atmos)
+"aZp" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/project)
"aZs" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -3066,6 +3076,15 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"bbc" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/junction{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/lobby)
"bbe" = (
/obj/machinery/airalarm/directional/west,
/turf/open/floor/engine,
@@ -3114,6 +3133,11 @@
},
/turf/open/floor/iron/dark,
/area/station/security/checkpoint/engineering)
+"bbE" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/project)
"bca" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/obj/effect/landmark/start/bartender,
@@ -3147,18 +3171,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/plating,
/area/station/maintenance/central/lesser)
-"bcA" = (
-/obj/structure/plasticflaps/opaque,
-/obj/machinery/navbeacon{
- codes_txt = "delivery;dir=4";
- location = "Engineering"
- },
-/obj/structure/cable,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/maintenance/department/engine)
"bcX" = (
/obj/machinery/duct,
/obj/structure/cable,
@@ -3167,6 +3179,15 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/hallway/secondary/service)
+"bde" = (
+/obj/structure/sign/departments/aisat/directional/east,
+/obj/effect/turf_decal/tile/dark_blue/anticorner/contrasted{
+ dir = 4
+ },
+/obj/machinery/photobooth,
+/obj/machinery/firealarm/directional/north,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/command)
"bdk" = (
/obj/structure/table,
/obj/structure/bedsheetbin,
@@ -3235,6 +3256,16 @@
/obj/machinery/light/floor,
/turf/open/floor/iron/textured,
/area/station/command/heads_quarters/qm)
+"beB" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/firealarm/directional/south,
+/obj/machinery/light/directional/south,
+/obj/structure/cable,
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/mix)
"beE" = (
/obj/machinery/atmospherics/components/unary/portables_connector/visible,
/turf/open/floor/iron/dark/textured_large,
@@ -3328,6 +3359,15 @@
dir = 1
},
/area/station/service/chapel)
+"bfE" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/main)
"bfN" = (
/turf/open/floor/iron/dark,
/area/station/maintenance/radshelter/civil)
@@ -3383,12 +3423,6 @@
},
/turf/open/floor/iron,
/area/station/commons/locker)
-"bgY" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/misc/asteroid,
-/area/station/maintenance/department/medical)
"bhk" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -3474,6 +3508,10 @@
/obj/effect/landmark/start/depsec/medical,
/turf/open/floor/iron/dark,
/area/station/security/checkpoint/medical)
+"big" = (
+/obj/structure/flora/rock/pile/style_random,
+/turf/open/misc/asteroid,
+/area/station/maintenance/department/medical)
"biC" = (
/obj/machinery/telecomms/broadcaster/preset_left,
/turf/open/floor/circuit/green/telecomms/mainframe,
@@ -3596,12 +3634,6 @@
/obj/machinery/light/small/directional/west,
/turf/open/floor/iron/recharge_floor,
/area/station/security/mechbay)
-"blM" = (
-/obj/machinery/atmospherics/pipe/multiz/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2,
-/obj/effect/turf_decal/sand/plating,
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical)
"bme" = (
/obj/structure/sign/warning,
/turf/closed/wall/r_wall,
@@ -3639,11 +3671,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/white,
/area/station/science/ordnance/storage)
-"bmu" = (
-/obj/effect/turf_decal/sand/plating,
-/obj/effect/spawner/random/structure/crate,
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical)
"bmy" = (
/obj/machinery/door/airlock/public/glass{
name = "Fore Primary Hallway"
@@ -3928,29 +3955,12 @@
/obj/item/pai_card,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/turret_protected/aisat/foyer)
-"btj" = (
-/obj/machinery/door/airlock/atmos{
- name = "Incinerator"
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"btl" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/engineering/main)
-"btw" = (
-/obj/effect/turf_decal/tile/dark_blue,
-/obj/structure/disposalpipe/segment{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/hallway/secondary/command)
"btJ" = (
/obj/structure/railing/corner{
dir = 8
@@ -4007,6 +4017,21 @@
/obj/structure/cable,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
+"bur" = (
+/obj/machinery/light/directional/west,
+/obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer5{
+ dir = 5
+ },
+/turf/open/floor/iron,
+/area/station/maintenance/disposal/incinerator)
+"bus" = (
+/obj/machinery/light/dim/directional/west,
+/obj/effect/turf_decal/tile/dark_blue/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/computer/security/telescreen/minisat/directional/west,
+/turf/open/floor/iron,
+/area/station/command/bridge)
"buu" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/blue{
@@ -4048,6 +4073,23 @@
/obj/machinery/defibrillator_mount/directional/south,
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
+"buV" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 8
+ },
+/obj/effect/turf_decal/bot{
+ dir = 1
+ },
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/mix)
+"bvf" = (
+/obj/item/pickaxe/improvised,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/misc/asteroid,
+/area/station/maintenance/department/medical)
"bvl" = (
/obj/machinery/meter,
/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
@@ -4119,6 +4161,14 @@
/obj/machinery/light/dim/directional/west,
/turf/open/floor/iron/white,
/area/station/science/ordnance/testlab)
+"bwi" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/upper)
"bwj" = (
/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{
dir = 1
@@ -4135,6 +4185,17 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/wood,
/area/station/security/detectives_office/private_investigators_office)
+"bwv" = (
+/obj/machinery/door/airlock/research{
+ glass = 1;
+ name = "Slime Euthanization Chamber";
+ opacity = 0
+ },
+/obj/effect/turf_decal/tile/blue/fourcorners,
+/obj/effect/mapping_helpers/airlock/access/all/science/xenobio,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/iron,
+/area/station/science/xenobiology)
"bwQ" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -4205,6 +4266,19 @@
/obj/machinery/camera/autoname/directional/south,
/turf/open/floor/iron,
/area/station/command/bridge)
+"bxR" = (
+/obj/structure/closet/preopen{
+ icon_state = "bio";
+ name = "level 3 biohazard gear closet"
+ },
+/obj/effect/turf_decal/tile/green/anticorner/contrasted{
+ dir = 8
+ },
+/obj/item/radio/intercom/directional/west,
+/obj/effect/mapping_helpers/broken_floor,
+/obj/item/tank/internals/oxygen,
+/turf/open/floor/iron/white/textured,
+/area/station/medical/treatment_center)
"byb" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/obj/machinery/atmospherics/pipe/heat_exchanging/manifold{
@@ -4252,6 +4326,14 @@
},
/turf/open/floor/iron/dark,
/area/station/security/warden)
+"bzi" = (
+/obj/item/flashlight/flare/candle{
+ pixel_x = -18;
+ pixel_y = -10
+ },
+/obj/effect/decal/cleanable/blood/old,
+/turf/open/floor/plating,
+/area/station/engineering/supermatter/room)
"bzj" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/machinery/light/small/broken/directional/north,
@@ -4266,11 +4348,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden,
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
-"bzu" = (
-/obj/item/pickaxe/improvised,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/misc/asteroid,
-/area/station/maintenance/department/medical)
"bzB" = (
/obj/effect/turf_decal/tile/purple/opposingcorners,
/obj/machinery/recharger,
@@ -4327,6 +4404,14 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
+"bAa" = (
+/obj/machinery/door/airlock/maintenance_hatch,
+/obj/effect/mapping_helpers/airlock/access/all/medical/surgery,
+/obj/structure/cable,
+/obj/machinery/duct,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical/central)
"bAe" = (
/obj/machinery/door/firedoor,
/obj/effect/turf_decal/tile/neutral{
@@ -4945,27 +5030,12 @@
/obj/machinery/processor/slime,
/turf/open/floor/iron/white/textured_large,
/area/station/science/xenobiology)
-"bLS" = (
-/obj/effect/turf_decal/stripes/box,
-/obj/structure/cable/multilayer/multiz,
-/obj/item/assembly/mousetrap/armed,
-/obj/machinery/camera/autoname/directional/south,
-/turf/open/floor/plating,
-/area/station/engineering/lobby)
"bMb" = (
/obj/structure/lattice/catwalk,
/obj/structure/ladder,
/obj/machinery/light/directional/north,
/turf/open/openspace,
/area/station/engineering/supermatter/room)
-"bMl" = (
-/obj/effect/turf_decal/sand/plating,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/obj/effect/landmark/generic_maintenance_landmark,
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical)
"bMm" = (
/obj/machinery/navbeacon{
codes_txt = "delivery;dir=2";
@@ -4984,17 +5054,6 @@
/obj/structure/broken_flooring/corner,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
-"bMG" = (
-/obj/effect/turf_decal/tile/yellow{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/simple/green/visible,
-/obj/machinery/meter,
-/obj/machinery/firealarm/directional/west,
-/turf/open/floor/iron/dark/corner{
- dir = 1
- },
-/area/station/engineering/atmos/upper)
"bMP" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -5104,6 +5163,18 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white,
/area/station/hallway/secondary/entry)
+"bOJ" = (
+/obj/machinery/firealarm/directional/west,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/machinery/camera/autoname/directional/west,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/upper)
"bOO" = (
/obj/structure/cable,
/obj/effect/turf_decal/siding/wood{
@@ -5135,21 +5206,17 @@
/obj/effect/turf_decal/sand/plating,
/turf/open/floor/plating,
/area/station/cargo/miningoffice)
-"bPH" = (
+"bPC" = (
+/obj/machinery/power/apc/auto_name/directional/west,
/obj/structure/cable,
-/obj/effect/turf_decal/tile/yellow{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/obj/machinery/light_switch/directional/south,
-/turf/open/floor/iron/dark/corner{
+/obj/effect/turf_decal/trimline/yellow/filled/line{
dir = 8
},
-/area/station/engineering/atmos/upper)
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/main)
"bPP" = (
/obj/machinery/conveyor_switch/oneway{
dir = 8;
@@ -5682,6 +5749,12 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/iron/dark/textured_large,
/area/station/ai_monitored/security/armory)
+"cad" = (
+/obj/effect/turf_decal/tile/dark_blue/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/command/bridge)
"caq" = (
/obj/effect/spawner/surgery_tray/full/deployed,
/obj/effect/turf_decal/tile/blue/fourcorners,
@@ -5715,6 +5788,13 @@
},
/turf/open/floor/iron/white,
/area/station/science/lobby)
+"caJ" = (
+/obj/structure/closet/radiation,
+/obj/effect/turf_decal/bot,
+/obj/item/analyzer,
+/obj/structure/cable,
+/turf/open/floor/iron/large,
+/area/station/engineering/atmos/mix)
"caP" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 1
@@ -5783,6 +5863,17 @@
},
/turf/open/floor/wood/tile,
/area/station/service/chapel)
+"cbD" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/iron/checker{
+ dir = 4
+ },
+/area/station/engineering/atmos/project)
"cbJ" = (
/turf/closed/wall,
/area/station/engineering/atmos/pumproom)
@@ -5860,22 +5951,6 @@
/obj/machinery/duct,
/turf/open/floor/plating,
/area/station/science/cytology)
-"cdo" = (
-/obj/machinery/elevator_control_panel/directional/south{
- linked_elevator_id = "aisat";
- pixel_x = 8;
- pixel_y = -34
- },
-/obj/machinery/lift_indicator/directional/south{
- linked_elevator_id = "aisat";
- pixel_x = -6;
- pixel_y = -40
- },
-/obj/machinery/light/small/dim/directional/north,
-/obj/structure/cable/layer3,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/iron/dark/telecomms,
-/area/station/tcommsat/server)
"cdI" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -5927,6 +6002,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/dark/textured,
/area/station/science/robotics/lab)
+"ceh" = (
+/obj/machinery/newscaster/directional/east,
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/main)
"cem" = (
/turf/closed/wall,
/area/station/security/prison/safe)
@@ -6155,16 +6237,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/engineering/main)
-"ciF" = (
-/obj/machinery/shower/directional/south{
- name = "emergency shower"
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 6
- },
-/obj/effect/turf_decal/trimline/dark_blue/end,
-/turf/open/floor/iron/textured,
-/area/station/engineering/atmos)
"ciR" = (
/obj/structure/transport/linear/public{
base_icon_state = "catwalk";
@@ -6324,16 +6396,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/plating,
/area/station/maintenance/department/engine)
-"cnd" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/duct,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden,
-/turf/open/floor/catwalk_floor/iron_white,
-/area/station/medical/treatment_center)
"cnm" = (
/obj/effect/turf_decal/siding/wood/corner{
dir = 4
@@ -6412,6 +6474,12 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/commons/locker)
+"coS" = (
+/obj/structure/railing/corner/end{
+ dir = 4
+ },
+/turf/closed/wall/r_wall,
+/area/station/engineering/atmos/project)
"cpw" = (
/obj/structure/cable,
/turf/open/floor/iron/white,
@@ -6492,6 +6560,15 @@
},
/turf/open/floor/plating,
/area/station/maintenance/disposal)
+"cqY" = (
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"crb" = (
/obj/machinery/door/poddoor/shutters/window{
id = "armory";
@@ -6620,28 +6697,19 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/engineering/break_room)
-"csH" = (
-/obj/structure/railing/corner{
- dir = 1
+"csJ" = (
+/obj/structure/railing{
+ dir = 4
},
-/obj/machinery/door/firedoor/border_only{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
+/obj/machinery/portable_atmospherics/canister/oxygen,
+/obj/effect/turf_decal/box,
+/obj/structure/window/reinforced/spawner/directional/east,
+/obj/structure/window/reinforced/spawner/directional/south,
+/turf/open/floor/iron/dark/textured,
/area/station/engineering/atmos/upper)
"csW" = (
/turf/open/floor/carpet/executive,
/area/station/command/heads_quarters/captain/private)
-"cti" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 9
- },
-/obj/machinery/space_heater,
-/obj/structure/window/reinforced/spawner/directional/west,
-/obj/item/radio/intercom/directional/south,
-/turf/open/floor/iron/large,
-/area/station/engineering/atmos/upper)
"cts" = (
/turf/closed/wall/rock/porous,
/area/station/medical/chemistry/minisat)
@@ -6685,6 +6753,13 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/grimy,
/area/station/maintenance/central/lesser)
+"cue" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/railing{
+ dir = 6
+ },
+/turf/open/space/openspace,
+/area/space/nearstation)
"cuj" = (
/obj/item/trash/shrimp_chips,
/turf/open/floor/plating,
@@ -6727,6 +6802,15 @@
/obj/structure/cable,
/turf/open/floor/catwalk_floor/iron_dark,
/area/station/security/prison/safe)
+"cuQ" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos/upper)
"cvn" = (
/obj/structure/closet/emcloset,
/obj/machinery/light/small/dim/directional/east,
@@ -6743,12 +6827,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/aft/upper)
-"cvX" = (
-/obj/machinery/airalarm/directional/north,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/upper)
"cvZ" = (
/obj/machinery/door/firedoor,
/obj/structure/cable,
@@ -6800,6 +6878,17 @@
/obj/structure/rack,
/turf/open/floor/plating,
/area/station/maintenance/central/lesser)
+"cwI" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/item/radio/intercom/directional/west,
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/upper)
"cxg" = (
/turf/open/misc/asteroid/airless,
/area/space/nearstation)
@@ -6808,10 +6897,28 @@
/obj/machinery/power/apc/auto_name/directional/east,
/turf/open/floor/iron/dark/textured_large,
/area/station/security/interrogation)
+"cxv" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/engineering/lobby)
"cxz" = (
/obj/machinery/door/poddoor/incinerator_atmos_main,
/turf/open/floor/engine,
/area/station/maintenance/disposal/incinerator)
+"cxC" = (
+/obj/machinery/door/airlock/maintenance_hatch,
+/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance/departmental,
+/obj/structure/cable,
+/obj/effect/mapping_helpers/airlock/unres,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/maintenance/aft/upper)
"cxD" = (
/mob/living/basic/cow{
name = "Betsy";
@@ -6858,6 +6965,15 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/cargo/lobby)
+"cyj" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/engineering/main)
"cyw" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/turf/open/floor/iron/white/smooth_large,
@@ -6880,6 +6996,21 @@
/obj/machinery/newscaster/directional/west,
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
+"cyX" = (
+/obj/structure/railing/corner{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos/upper)
+"czb" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/iron,
+/area/station/engineering/lobby)
"czh" = (
/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible{
dir = 1
@@ -6961,14 +7092,6 @@
},
/turf/open/floor/iron/white/smooth_edge,
/area/station/science/research)
-"cAv" = (
-/obj/machinery/door/airlock/maintenance_hatch,
-/obj/effect/mapping_helpers/airlock/access/all/supply/general,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/department/cargo)
"cAy" = (
/obj/structure/table/glass,
/obj/item/flatpack{
@@ -7100,6 +7223,13 @@
/obj/item/radio/intercom/directional/north,
/turf/open/floor/iron/dark/textured_large,
/area/station/science/xenobiology)
+"cCJ" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/upper)
"cCP" = (
/obj/effect/turf_decal/trimline/blue/filled/corner{
dir = 1
@@ -7112,14 +7242,33 @@
},
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
-"cCQ" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 1
+"cCZ" = (
+/obj/structure/table,
+/obj/item/stock_parts/power_store/cell/high{
+ pixel_x = -9;
+ pixel_y = 8
},
-/obj/machinery/space_heater,
-/obj/machinery/camera/autoname/directional/south,
+/obj/item/stock_parts/power_store/cell/high{
+ pixel_x = -9;
+ pixel_y = 0
+ },
+/obj/item/stack/sheet/iron/fifty{
+ pixel_x = 6;
+ pixel_y = 12
+ },
+/obj/item/stack/sheet/glass/fifty{
+ pixel_x = 4;
+ pixel_y = 10
+ },
+/obj/item/stack/sheet/plasteel/twenty{
+ pixel_x = 4;
+ pixel_y = 7
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/camera/autoname/directional/north,
+/obj/machinery/light_switch/directional/north,
/turf/open/floor/iron/large,
-/area/station/engineering/atmos/upper)
+/area/station/engineering/atmos/project)
"cDl" = (
/obj/effect/turf_decal/trimline/green/filled/line{
dir = 1
@@ -7220,6 +7369,18 @@
},
/turf/open/floor/engine,
/area/station/engineering/atmospherics_engine)
+"cFF" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/item/radio/intercom/command/directional/east,
+/obj/machinery/suit_storage_unit/captain{
+ req_access = list("captain")
+ },
+/turf/open/floor/carpet/royalblue,
+/area/station/command/heads_quarters/captain/private)
"cFH" = (
/obj/effect/turf_decal/tile/blue/half/contrasted,
/obj/structure/cable,
@@ -7245,11 +7406,6 @@
dir = 1
},
/area/station/medical/pharmacy)
-"cGs" = (
-/obj/effect/turf_decal/sand/plating,
-/obj/machinery/light/small/directional/north,
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical)
"cGP" = (
/obj/structure/closet/secure_closet/medical1,
/obj/effect/turf_decal/bot{
@@ -7369,12 +7525,23 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/department/medical)
+"cIl" = (
+/obj/effect/turf_decal/sand/plating,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical)
"cIx" = (
/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/mix_input{
dir = 4
},
/turf/open/floor/engine/vacuum,
/area/station/engineering/atmos)
+"cIz" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos/mix)
"cIE" = (
/obj/effect/turf_decal/siding/purple{
dir = 6
@@ -7469,6 +7636,10 @@
/mob/living/basic/mining/basilisk,
/turf/open/misc/asteroid/airless,
/area/space/nearstation)
+"cKW" = (
+/obj/machinery/portable_atmospherics/canister,
+/turf/open/floor/iron/large,
+/area/station/engineering/atmos/project)
"cLd" = (
/obj/machinery/oven/range,
/obj/machinery/light/directional/north,
@@ -7569,20 +7740,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/iron,
/area/station/maintenance/department/cargo)
-"cMW" = (
-/obj/effect/turf_decal/tile/yellow{
- dir = 4
- },
-/obj/machinery/atmospherics/components/unary/portables_connector/visible{
- dir = 8
- },
-/obj/effect/turf_decal/bot{
- dir = 1
- },
-/turf/open/floor/iron/checker{
- dir = 4
- },
-/area/station/engineering/atmos/upper)
"cMZ" = (
/turf/closed/wall/r_wall,
/area/station/science/auxlab/firing_range)
@@ -7662,13 +7819,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/grass,
/area/station/medical/chemistry)
-"cOf" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/effect/mapping_helpers/damaged_window{
- integrity_damage_max = 0.5
- },
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical/central)
"cOp" = (
/obj/structure/cable,
/turf/open/floor/iron,
@@ -7737,16 +7887,6 @@
"cPt" = (
/turf/closed/wall/r_wall,
/area/station/science/lab)
-"cPx" = (
-/obj/structure/table,
-/obj/item/hfr_box/corner,
-/obj/item/hfr_box/corner,
-/obj/item/hfr_box/corner,
-/obj/item/hfr_box/corner,
-/obj/item/hfr_box/core,
-/obj/machinery/light_switch/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmospherics_engine)
"cPE" = (
/obj/machinery/light/small/directional/west,
/turf/open/misc/asteroid,
@@ -7880,6 +8020,12 @@
dir = 1
},
/area/station/service/chapel)
+"cRQ" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/engineering/lobby)
"cRT" = (
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt,
@@ -8024,6 +8170,18 @@
/obj/machinery/light/directional/east,
/turf/open/floor/iron/white,
/area/station/hallway/secondary/entry)
+"cUB" = (
+/obj/effect/turf_decal/tile/dark_blue,
+/obj/effect/mapping_helpers/mail_sorting/service/hop_office,
+/obj/structure/disposalpipe/sorting/mail/flip{
+ dir = 1
+ },
+/obj/effect/turf_decal/arrows/red{
+ dir = 4
+ },
+/obj/effect/landmark/start/hangover,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/command)
"cUD" = (
/obj/effect/turf_decal/stripes{
dir = 1
@@ -8070,15 +8228,6 @@
/obj/effect/spawner/random/structure/chair_flipped,
/turf/open/floor/iron,
/area/station/maintenance/department/cargo)
-"cVn" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/trimline/yellow/filled/line{
- dir = 8
- },
-/obj/machinery/firealarm/directional/west,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/iron,
-/area/station/engineering/main)
"cVs" = (
/obj/machinery/door/airlock/maintenance_hatch{
name = "Xenobiology Maintenance"
@@ -8200,17 +8349,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/iron/dark,
/area/station/maintenance/department/engine)
-"cXn" = (
-/obj/effect/turf_decal/trimline/yellow/filled/line{
- dir = 9
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/engineering/main)
"cXo" = (
/obj/structure/barricade/wooden/crude,
/obj/structure/holosign/barrier/atmos,
@@ -8227,6 +8365,12 @@
},
/turf/open/floor/iron/dark,
/area/station/service/chapel/funeral)
+"cXu" = (
+/obj/structure/disposalpipe/junction{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos/upper)
"cXy" = (
/obj/effect/turf_decal/stripes{
dir = 4
@@ -8255,10 +8399,53 @@
/obj/effect/decal/cleanable/blood/tracks,
/turf/open/floor/plating/airless,
/area/station/maintenance/department/medical/central)
-"cYa" = (
-/obj/effect/landmark/navigate_destination,
-/obj/effect/landmark/event_spawn,
-/turf/open/floor/iron,
+"cYk" = (
+/obj/structure/table,
+/obj/item/electronics/airalarm{
+ pixel_x = -5;
+ pixel_y = -5
+ },
+/obj/item/electronics/airalarm{
+ pixel_x = -5;
+ pixel_y = -5
+ },
+/obj/item/electronics/airalarm{
+ pixel_x = -5;
+ pixel_y = -5
+ },
+/obj/item/electronics/firealarm{
+ pixel_x = 5;
+ pixel_y = -5
+ },
+/obj/item/electronics/firealarm{
+ pixel_x = 5;
+ pixel_y = -5
+ },
+/obj/item/electronics/firealarm{
+ pixel_x = 5;
+ pixel_y = -5
+ },
+/obj/item/storage/toolbox/electrical{
+ pixel_x = -5;
+ pixel_y = 12
+ },
+/obj/item/multitool{
+ pixel_x = 11;
+ pixel_y = 10
+ },
+/obj/item/multitool{
+ pixel_x = 11;
+ pixel_y = 10
+ },
+/obj/item/multitool{
+ pixel_x = 11;
+ pixel_y = 10
+ },
+/obj/machinery/camera/autoname/directional/south,
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/turf/open/floor/iron/large,
/area/station/engineering/atmos)
"cYs" = (
/obj/effect/spawner/random/structure/crate,
@@ -8270,14 +8457,6 @@
/obj/machinery/light/directional/south,
/turf/open/openspace,
/area/station/engineering/main)
-"cYB" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/turf/open/floor/iron,
-/area/station/engineering/main)
"cYC" = (
/obj/effect/turf_decal/trimline/green/filled/line{
dir = 1
@@ -8424,6 +8603,13 @@
/obj/effect/mapping_helpers/airlock/access/any/admin/general,
/turf/open/floor/iron,
/area/station/hallway/secondary/command)
+"dbL" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"dbN" = (
/obj/effect/turf_decal/tile/neutral{
dir = 4
@@ -8496,6 +8682,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
+"dcp" = (
+/obj/structure/table/wood,
+/obj/item/storage/medkit{
+ pixel_x = -10
+ },
+/turf/open/floor/carpet/executive,
+/area/station/command/meeting_room)
"dct" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -8542,6 +8735,28 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/construction/mining/aux_base)
+"dcL" = (
+/obj/structure/cable,
+/obj/machinery/door/airlock/atmos/glass{
+ name = "Atmospherics"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
+/obj/machinery/door/poddoor/preopen{
+ id = "atmos";
+ name = "Atmospherics Blast Door"
+ },
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/tile/yellow/opposingcorners{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/landmark/navigate_destination/atmos,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"dcO" = (
/obj/machinery/vending/wardrobe/science_wardrobe,
/obj/effect/turf_decal/delivery,
@@ -8602,13 +8817,6 @@
/obj/effect/landmark/start/hangover/closet,
/turf/open/floor/iron,
/area/station/commons/fitness/recreation)
-"deX" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
- dir = 4
- },
-/obj/machinery/door/window/brigdoor/left/directional/east,
-/turf/open/floor/engine/airless,
-/area/station/engineering/atmos)
"deY" = (
/obj/effect/turf_decal/tile/neutral,
/obj/machinery/firealarm/directional/east,
@@ -8677,6 +8885,15 @@
},
/turf/open/floor/iron/dark/corner,
/area/station/engineering/atmos)
+"dgn" = (
+/obj/effect/landmark/event_spawn,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/turf/open/floor/iron/dark/corner{
+ dir = 4
+ },
+/area/station/engineering/atmos)
"dgp" = (
/turf/closed/wall,
/area/station/medical/exam_room)
@@ -8687,6 +8904,14 @@
},
/turf/open/floor/iron/white,
/area/station/security/prison/mess)
+"dgx" = (
+/obj/machinery/door/airlock/maintenance_hatch,
+/obj/effect/mapping_helpers/airlock/access/all/supply/general,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/maintenance/department/cargo)
"dgy" = (
/obj/structure/plasticflaps/opaque,
/obj/machinery/door/window/right/directional/south{
@@ -8786,13 +9011,6 @@
},
/turf/open/floor/iron,
/area/station/cargo/miningoffice)
-"dhH" = (
-/obj/effect/turf_decal/siding/thinplating_new{
- dir = 1
- },
-/obj/machinery/airalarm/directional/north,
-/turf/open/floor/glass/reinforced,
-/area/station/engineering/atmos/upper)
"dhN" = (
/obj/structure/rack,
/obj/item/circuitboard/machine/exoscanner{
@@ -8838,6 +9056,13 @@
/obj/machinery/light/small/dim/directional/west,
/turf/open/misc/asteroid,
/area/station/hallway/secondary/entry)
+"dik" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/duct,
+/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+/area/station/medical/coldroom)
"diz" = (
/obj/structure/cable,
/turf/open/floor/plating,
@@ -8858,13 +9083,6 @@
/obj/structure/detectiveboard/directional/north,
/turf/open/floor/carpet,
/area/station/security/detectives_office)
-"diM" = (
-/obj/structure/sign/poster/official/random/directional/south,
-/obj/effect/turf_decal/tile/yellow{
- dir = 8
- },
-/turf/open/floor/iron/dark/corner,
-/area/station/engineering/atmos)
"diZ" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible,
@@ -9127,10 +9345,6 @@
/obj/structure/cable,
/turf/open/floor/iron/white,
/area/station/medical/storage)
-"dmW" = (
-/obj/machinery/holopad,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/storage/gas)
"dni" = (
/obj/machinery/door/airlock/external,
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
@@ -9161,6 +9375,12 @@
dir = 1
},
/area/station/command/corporate_dock)
+"dnD" = (
+/obj/structure/railing/corner/end/flip{
+ dir = 4
+ },
+/turf/closed/wall/r_wall,
+/area/station/engineering/atmos/project)
"dnO" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -9189,11 +9409,6 @@
/obj/machinery/firealarm/directional/north,
/turf/open/floor/iron/white,
/area/station/science/lobby)
-"dog" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/misc/asteroid,
-/area/station/maintenance/department/medical)
"doh" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -9206,6 +9421,18 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/wood/tile,
/area/station/service/bar)
+"doj" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/mix)
"dor" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -9228,15 +9455,17 @@
/obj/machinery/light_switch/directional/east,
/turf/open/floor/wood/parquet,
/area/station/service/theater)
+"doM" = (
+/obj/structure/closet/l3closet,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/tile/green/half/contrasted,
+/turf/open/floor/iron/white/textured,
+/area/station/medical/treatment_center)
"doO" = (
/obj/item/stack/tile/iron/white,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/station/medical/chemistry/minisat)
-"doZ" = (
-/obj/item/pickaxe/improvised,
-/turf/open/misc/asteroid,
-/area/station/maintenance/department/medical)
"dpc" = (
/obj/structure/table/wood,
/obj/structure/railing{
@@ -9349,6 +9578,18 @@
/obj/machinery/atmospherics/pipe/heat_exchanging/manifold4w,
/turf/open/space/basic,
/area/space/nearstation)
+"dqQ" = (
+/obj/structure/railing/corner{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/main)
"dqW" = (
/obj/effect/turf_decal/sand/plating,
/obj/effect/turf_decal/stripes/asteroid/line{
@@ -9398,16 +9639,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/kitchen,
/area/station/service/kitchen)
-"drK" = (
-/obj/structure/cable,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/multiz/dark/visible/layer5{
- name = "Port To Turbine"
- },
-/obj/effect/turf_decal/delivery,
-/obj/machinery/camera/autoname/directional/west,
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"drO" = (
/obj/item/retractor,
/obj/item/hemostat{
@@ -9586,6 +9817,15 @@
/obj/machinery/firealarm/directional/east,
/turf/open/floor/iron/dark,
/area/station/security/prison)
+"duE" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos/mix)
"duS" = (
/obj/machinery/duct,
/obj/structure/cable,
@@ -9593,11 +9833,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/kitchen,
/area/station/service/kitchen)
-"duU" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/sand/plating,
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical)
"dvz" = (
/obj/effect/turf_decal/tile/neutral{
dir = 4
@@ -9895,54 +10130,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/engineering/main)
-"dAo" = (
-/obj/structure/table,
-/obj/item/electronics/airalarm{
- pixel_x = -5;
- pixel_y = -5
- },
-/obj/item/electronics/airalarm{
- pixel_x = -5;
- pixel_y = -5
- },
-/obj/item/electronics/airalarm{
- pixel_x = -5;
- pixel_y = -5
- },
-/obj/item/electronics/firealarm{
- pixel_x = 5;
- pixel_y = -5
- },
-/obj/item/electronics/firealarm{
- pixel_x = 5;
- pixel_y = -5
- },
-/obj/item/electronics/firealarm{
- pixel_x = 5;
- pixel_y = -5
- },
-/obj/item/storage/toolbox/electrical{
- pixel_x = -5;
- pixel_y = 12
- },
-/obj/item/multitool{
- pixel_x = 11;
- pixel_y = 10
- },
-/obj/item/multitool{
- pixel_x = 11;
- pixel_y = 10
- },
-/obj/item/multitool{
- pixel_x = 11;
- pixel_y = 10
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 5
- },
-/obj/machinery/camera/autoname/directional/south,
-/turf/open/floor/iron/large,
-/area/station/engineering/atmos)
"dAq" = (
/obj/machinery/door/airlock/security/glass{
name = "Permabrig"
@@ -9996,6 +10183,15 @@
},
/turf/open/floor/iron,
/area/station/service/hydroponics)
+"dBb" = (
+/obj/structure/cable,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 8
+ },
+/obj/machinery/light/dim/directional/west,
+/turf/open/floor/iron,
+/area/station/engineering/main)
"dBj" = (
/obj/structure/cable/multilayer/multiz,
/obj/effect/decal/cleanable/dirt,
@@ -10007,24 +10203,6 @@
/obj/machinery/incident_display/bridge/directional/south,
/turf/open/floor/iron,
/area/station/command/bridge)
-"dBp" = (
-/obj/machinery/button/door/directional/west{
- id = "atmos";
- name = "Atmospherics Lockdown";
- req_access = list("atmospherics")
- },
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/yellow{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/vending/wardrobe/atmos_wardrobe,
-/turf/open/floor/iron/dark/corner{
- dir = 8
- },
-/area/station/engineering/atmos/upper)
"dBu" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 1
@@ -10070,15 +10248,6 @@
/obj/machinery/light_switch/directional/north,
/turf/open/floor/iron,
/area/station/service/hydroponics)
-"dBX" = (
-/obj/structure/railing,
-/obj/machinery/camera/autoname/directional/west,
-/obj/effect/turf_decal/trimline/yellow/filled/line{
- dir = 10
- },
-/obj/item/kirbyplants/random,
-/turf/open/floor/iron,
-/area/station/engineering/main)
"dCh" = (
/obj/machinery/gibber,
/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
@@ -10226,6 +10395,18 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/white/textured,
/area/station/science/genetics)
+"dEV" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/tile/dark_blue{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/dark_blue,
+/obj/machinery/holopad,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/command)
"dFb" = (
/obj/effect/turf_decal/siding/wood{
dir = 4
@@ -10419,14 +10600,6 @@
},
/turf/open/floor/iron,
/area/station/service/hydroponics)
-"dHU" = (
-/obj/machinery/airalarm/directional/west,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 4
- },
-/obj/effect/mapping_helpers/airalarm/tlv_cold_room,
-/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
-/area/station/medical/coldroom)
"dHW" = (
/obj/effect/turf_decal/tile/brown/anticorner/contrasted,
/obj/structure/extinguisher_cabinet/directional/south,
@@ -10579,10 +10752,6 @@
/obj/structure/sign/warning/vacuum/external/directional/east,
/turf/open/floor/plating,
/area/station/maintenance/disposal)
-"dKI" = (
-/obj/effect/turf_decal/box,
-/turf/open/floor/iron/textured,
-/area/station/engineering/atmos/upper)
"dLf" = (
/obj/machinery/camera/directional/west{
c_tag = "Atmospherics Tank - Plasma"
@@ -10801,6 +10970,11 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/cargo/storage)
+"dPn" = (
+/obj/effect/turf_decal/sand/plating,
+/obj/machinery/light/small/directional/north,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical)
"dPq" = (
/obj/machinery/camera/autoname/directional/east,
/turf/open/floor/grass,
@@ -10962,6 +11136,15 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
+"dSo" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/project)
"dSp" = (
/obj/machinery/light/small/directional/north,
/obj/effect/landmark/start/assistant,
@@ -10981,14 +11164,6 @@
dir = 5
},
/area/station/command/corporate_showroom)
-"dSN" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random/engineering/tracking_beacon,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"dSQ" = (
/obj/effect/turf_decal/siding/wood,
/obj/effect/turf_decal/siding/wood{
@@ -11051,14 +11226,6 @@
/obj/item/reagent_containers/cup/beaker/large,
/turf/open/floor/iron/grimy,
/area/station/maintenance/central/greater)
-"dTz" = (
-/obj/structure/window/reinforced/spawner/directional/east,
-/obj/effect/turf_decal/stripes/line{
- dir = 5
- },
-/obj/structure/reagent_dispensers/watertank/high,
-/turf/open/floor/iron/large,
-/area/station/engineering/atmos/upper)
"dTA" = (
/obj/item/wrench,
/obj/effect/turf_decal/tile/purple/full,
@@ -11190,13 +11357,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/space/basic,
/area/space/nearstation)
-"dVW" = (
-/obj/machinery/light/small/dim/directional/east,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron,
-/area/station/engineering/atmospherics_engine)
"dVX" = (
/obj/structure/table,
/obj/item/storage/box/mousetraps{
@@ -11228,15 +11388,6 @@
},
/turf/open/floor/iron/dark,
/area/station/cargo/storage)
-"dWB" = (
-/obj/machinery/atmospherics/components/binary/pump/off/orange/visible{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer5{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"dWI" = (
/obj/machinery/door/airlock/command{
name = "Quartermaster's Office"
@@ -11470,12 +11621,12 @@
/obj/effect/decal/cleanable/blood/old,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/turret_protected/aisat/uppernorth)
-"eaX" = (
-/obj/machinery/power/apc/auto_name/directional/west,
-/obj/structure/cable,
+"ebh" = (
/obj/effect/turf_decal/trimline/yellow/filled/line{
- dir = 8
+ dir = 9
},
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/engineering/main)
"ebi" = (
@@ -11626,13 +11777,17 @@
"ecC" = (
/turf/closed/wall,
/area/station/security/office)
-"ecF" = (
-/obj/machinery/airalarm/directional/west,
-/obj/machinery/atmospherics/pipe/multiz/dark/visible/layer5{
- name = "Port To Turbine"
+"ecV" = (
+/obj/structure/railing/corner{
+ dir = 1
},
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/upper)
"edv" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -11697,6 +11852,11 @@
/obj/effect/turf_decal/trimline/yellow/filled/warning,
/turf/open/floor/iron/white,
/area/station/medical/chemistry)
+"efa" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/engineering/main)
"efb" = (
/obj/effect/turf_decal/tile/blue/anticorner/contrasted,
/obj/machinery/modular_computer/preset/id,
@@ -11751,6 +11911,21 @@
/obj/machinery/firealarm/directional/west,
/turf/open/floor/iron/dark/textured,
/area/station/hallway/secondary/exit/departure_lounge)
+"egg" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/mix)
"ego" = (
/obj/effect/turf_decal/tile/neutral/opposingcorners,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
@@ -11897,6 +12072,16 @@
},
/turf/open/floor/plating,
/area/station/maintenance/solars/port/aft)
+"eiw" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/item/kirbyplants/random,
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/upper)
"eiI" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 4
@@ -11920,22 +12105,15 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/wood/tile,
/area/station/commons/dorms)
-"eiZ" = (
-/obj/structure/cable,
-/obj/machinery/door/airlock/maintenance,
-/obj/effect/mapping_helpers/airlock/autoname,
-/obj/effect/mapping_helpers/airlock/abandoned,
-/obj/effect/mapping_helpers/airlock/access/any/security/maintenance,
-/obj/effect/turf_decal/siding/wood{
- dir = 10
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/wood,
-/area/station/maintenance/central/greater)
"ejb" = (
/turf/open/floor/carpet/green,
/area/station/command/heads_quarters/hop)
+"ejd" = (
+/obj/effect/spawner/random/structure/grille,
+/obj/structure/cable,
+/obj/effect/turf_decal/sand/plating,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical)
"eje" = (
/obj/structure/disposalpipe/segment,
/obj/structure/cable,
@@ -11950,6 +12128,12 @@
},
/turf/open/floor/iron,
/area/station/cargo/lobby)
+"ejj" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/mix)
"ejl" = (
/obj/machinery/holopad/secure,
/turf/open/floor/carpet/red,
@@ -11984,6 +12168,11 @@
/obj/effect/turf_decal/sand/plating,
/turf/open/floor/plating,
/area/station/asteroid)
+"ejN" = (
+/obj/machinery/holopad,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"ejS" = (
/obj/structure/window/reinforced/spawner/directional/west,
/obj/structure/window/reinforced/spawner/directional/north,
@@ -12036,6 +12225,17 @@
dir = 4
},
/area/station/service/chapel)
+"ekK" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/project)
"ekL" = (
/obj/effect/turf_decal/tile/neutral,
/obj/structure/disposalpipe/segment{
@@ -12078,10 +12278,6 @@
/obj/effect/turf_decal/sand/plating,
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
-"elz" = (
-/obj/structure/window/spawner,
-/turf/open/floor/plating,
-/area/station/engineering/main)
"elE" = (
/obj/structure/door_assembly,
/turf/open/misc/asteroid,
@@ -12141,16 +12337,6 @@
},
/turf/open/floor/iron/dark,
/area/station/engineering/atmospherics_engine)
-"enL" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/trimline/yellow/filled/corner,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/turf/open/floor/iron,
-/area/station/engineering/lobby)
"enT" = (
/obj/structure/stairs/north,
/turf/open/floor/iron,
@@ -12215,6 +12401,15 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos/pumproom)
+"eoW" = (
+/obj/machinery/portable_atmospherics/pump,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/large,
+/area/station/engineering/atmos/project)
"eph" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable,
@@ -12241,19 +12436,6 @@
},
/turf/open/floor/iron/white,
/area/station/medical/exam_room)
-"epx" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/dark_blue{
- dir = 1
- },
-/obj/effect/turf_decal/tile/dark_blue,
-/obj/effect/landmark/start/hangover,
-/obj/machinery/holopad,
-/obj/effect/turf_decal/bot,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/command)
"epA" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -12329,12 +12511,25 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/dark/textured,
/area/station/science/robotics/lab)
-"eqX" = (
+"eqW" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow,
+/turf/open/floor/iron/dark/corner{
+ dir = 4
+ },
+/area/station/engineering/atmos)
+"eqY" = (
+/obj/structure/closet/secure_closet/hop,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 8
+ },
+/obj/machinery/power/apc/auto_name/directional/east,
/obj/structure/cable,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/light/directional/west,
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
+/obj/item/storage/box/stickers,
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/hop)
"era" = (
/obj/structure/cable,
/obj/machinery/door/firedoor,
@@ -12536,17 +12731,17 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/white,
/area/station/science/research)
+"eue" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/spawner/random/vending/snackvend,
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/upper)
"euj" = (
/obj/machinery/airalarm/directional/west,
/turf/open/floor/plating,
/area/station/maintenance/solars/port/aft)
-"eus" = (
-/obj/structure/stairs/east,
-/obj/structure/railing{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos/storage/gas)
"euF" = (
/obj/structure/closet/wardrobe/white,
/obj/effect/landmark/start/hangover/closet,
@@ -12679,6 +12874,12 @@
/obj/item/radio/intercom/directional/north,
/turf/open/floor/iron/white/smooth_large,
/area/station/science/robotics/lab)
+"exp" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos/upper)
"exz" = (
/obj/structure/chair/sofa/bench/left{
dir = 4
@@ -12993,15 +13194,17 @@
},
/turf/open/floor/iron,
/area/station/service/hydroponics)
-"eCd" = (
-/obj/effect/turf_decal/siding/white{
- dir = 6
- },
-/obj/machinery/portable_atmospherics/canister/anesthetic_mix,
-/obj/machinery/power/apc/auto_name/directional/west,
+"eCe" = (
/obj/structure/cable,
-/turf/open/floor/iron/kitchen_coldroom,
-/area/station/medical/coldroom)
+/obj/machinery/light/directional/south,
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos)
"eCp" = (
/obj/machinery/power/terminal{
dir = 1
@@ -13189,9 +13392,6 @@
/obj/item/reagent_containers/cup/bucket,
/turf/open/floor/plating,
/area/station/science/robotics/storage)
-"eES" = (
-/turf/open/openspace,
-/area/station/engineering/atmospherics_engine)
"eEV" = (
/obj/machinery/camera/autoname/directional/north{
network = list("ss13","rd","xeno")
@@ -13247,18 +13447,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/security/prison)
-"eFM" = (
-/obj/effect/turf_decal/trimline/yellow/filled/line{
- dir = 1
- },
-/obj/machinery/light/directional/north,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/turf/open/floor/iron,
-/area/station/engineering/main)
"eFP" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/cable,
@@ -13508,6 +13696,17 @@
},
/turf/open/floor/iron/white/smooth_large,
/area/station/science/research)
+"eLN" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/mix)
"eLU" = (
/obj/structure/lattice/catwalk,
/obj/structure/cable,
@@ -13556,6 +13755,11 @@
/obj/structure/closet/firecloset,
/turf/open/floor/iron/textured,
/area/station/hallway/primary/central)
+"eNh" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/portable_atmospherics/canister/air,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmospherics_engine)
"eNj" = (
/obj/effect/spawner/costume/sexyclown,
/turf/open/floor/plating,
@@ -13589,6 +13793,15 @@
},
/turf/open/floor/engine,
/area/station/science/xenobiology)
+"eOl" = (
+/obj/machinery/electrolyzer{
+ anchored = 1
+ },
+/obj/effect/turf_decal/bot,
+/obj/machinery/light/directional/west,
+/obj/structure/cable,
+/turf/open/floor/iron/large,
+/area/station/engineering/atmos/mix)
"eOn" = (
/obj/effect/landmark/atmospheric_sanity/ignore_area,
/turf/closed/wall/r_wall,
@@ -13623,14 +13836,6 @@
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/service/hydroponics)
-"eOZ" = (
-/obj/effect/turf_decal/siding/white{
- dir = 10
- },
-/obj/machinery/portable_atmospherics/canister/anesthetic_mix,
-/obj/machinery/light_switch/directional/east,
-/turf/open/floor/iron/kitchen_coldroom,
-/area/station/medical/coldroom)
"ePC" = (
/obj/machinery/power/apc/auto_name/directional/west,
/obj/effect/mapping_helpers/burnt_floor,
@@ -13762,6 +13967,15 @@
/obj/machinery/door/firedoor,
/turf/open/floor/iron/white,
/area/station/medical/chemistry/minisat)
+"eSA" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/machinery/camera/autoname/directional/east,
+/obj/structure/extinguisher_cabinet/directional/east,
+/obj/machinery/light/dim/directional/east,
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/mix)
"eSE" = (
/obj/structure/chair/sofa/corp/left{
desc = "Looks like someone threw it out. Covered in donut crumbs.";
@@ -13789,12 +14003,6 @@
/obj/machinery/light/dim/directional/south,
/turf/open/floor/iron/white,
/area/station/medical/virology)
-"eSL" = (
-/obj/effect/turf_decal/sand/plating,
-/obj/machinery/door/airlock/maintenance_hatch,
-/obj/effect/mapping_helpers/airlock/access/all/medical/general,
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical)
"eSR" = (
/obj/effect/turf_decal/tile/brown/half/contrasted{
dir = 8
@@ -13846,6 +14054,20 @@
/obj/machinery/portable_atmospherics/canister,
/turf/open/floor/plating,
/area/station/maintenance/department/science)
+"eUz" = (
+/obj/item/circuitboard/machine/thermomachine,
+/obj/item/circuitboard/machine/thermomachine,
+/obj/item/storage/bag/construction,
+/obj/item/storage/bag/construction,
+/obj/item/storage/bag/construction,
+/obj/item/stock_parts/power_store/cell/high,
+/obj/item/stock_parts/power_store/cell/high,
+/obj/item/stock_parts/power_store/cell/high,
+/obj/structure/closet/crate,
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/light/dim/directional/north,
+/turf/open/floor/iron/large,
+/area/station/engineering/atmos)
"eUD" = (
/obj/effect/turf_decal/plaque{
icon_state = "L12"
@@ -13913,6 +14135,15 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/white,
/area/station/science/lobby)
+"eWp" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 8
+ },
+/obj/machinery/portable_atmospherics/canister,
+/obj/machinery/light/directional/east,
+/obj/effect/turf_decal/box,
+/turf/open/floor/iron/dark/textured,
+/area/station/engineering/atmos)
"eWB" = (
/obj/machinery/computer/prisoner/management{
dir = 4
@@ -14030,12 +14261,6 @@
/obj/item/book/manual/wiki/security_space_law,
/turf/open/floor/wood,
/area/station/security/detectives_office/private_investigators_office)
-"eYM" = (
-/obj/machinery/atmospherics/components/unary/portables_connector/visible{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"eYO" = (
/obj/effect/turf_decal/tile/dark_blue/half/contrasted{
dir = 8
@@ -14104,6 +14329,15 @@
},
/turf/open/floor/iron/white,
/area/station/medical/chemistry/minisat)
+"eZz" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 5
+ },
+/turf/open/floor/iron,
+/area/station/engineering/main)
+"eZI" = (
+/turf/open/floor/iron,
+/area/station/engineering/atmos/project)
"eZN" = (
/obj/machinery/power/apc/auto_name/directional/south,
/obj/structure/cable,
@@ -14218,14 +14452,6 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/iron/grimy,
/area/station/security/detectives_office/private_investigators_office)
-"fcK" = (
-/obj/machinery/door/airlock/maintenance_hatch,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/maintenance/port/greater)
"fcM" = (
/obj/effect/turf_decal/trimline/blue/arrow_ccw{
dir = 1
@@ -14298,6 +14524,17 @@
},
/turf/open/floor/iron/textured,
/area/station/security/processing)
+"feq" = (
+/obj/effect/mapping_helpers/airlock/access/all/science/general,
+/obj/machinery/door/airlock/maintenance_hatch,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/segment{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/port/lesser)
"feu" = (
/obj/effect/landmark/start/janitor,
/obj/effect/decal/cleanable/dirt,
@@ -14798,6 +15035,10 @@
},
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
+"foE" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/misc/asteroid,
+/area/station/maintenance/department/medical)
"foL" = (
/obj/effect/spawner/structure/window/hollow/reinforced/middle,
/turf/open/floor/plating,
@@ -14806,16 +15047,6 @@
/obj/structure/grille,
/turf/open/misc/asteroid,
/area/station/maintenance/department/science)
-"fpg" = (
-/obj/effect/turf_decal/stripes{
- dir = 6
- },
-/obj/structure/extinguisher_cabinet/directional/east,
-/obj/structure/ladder{
- icon_state = "ladder10"
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmospherics_engine)
"fpi" = (
/obj/structure/railing{
dir = 1
@@ -14879,6 +15110,16 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
+"fpO" = (
+/obj/effect/turf_decal/tile/dark_blue,
+/obj/structure/disposalpipe/segment{
+ dir = 1
+ },
+/obj/structure/railing{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/hallway/secondary/command)
"fpY" = (
/turf/open/openspace,
/area/station/science/ordnance)
@@ -15026,47 +15267,6 @@
},
/turf/open/floor/iron/dark/smooth_large,
/area/station/hallway/primary/central)
-"fst" = (
-/obj/machinery/light/dim/directional/west,
-/obj/structure/cable,
-/obj/machinery/cell_charger,
-/obj/item/stock_parts/power_store/cell/high,
-/obj/effect/turf_decal/tile/yellow{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/obj/item/holosign_creator/atmos{
- pixel_y = 5
- },
-/obj/structure/table,
-/obj/item/holosign_creator/atmos{
- pixel_y = 7
- },
-/turf/open/floor/iron/dark/corner{
- dir = 8
- },
-/area/station/engineering/atmos/upper)
-"fsu" = (
-/obj/structure/railing{
- dir = 1
- },
-/obj/effect/turf_decal/tile/yellow{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/door/firedoor/border_only{
- dir = 1
- },
-/obj/structure/disposalpipe/segment{
- dir = 8
- },
-/turf/open/floor/iron/dark/corner{
- dir = 4
- },
-/area/station/engineering/atmos/upper)
"fsx" = (
/obj/machinery/door/airlock/security/glass,
/obj/effect/turf_decal/tile/red/fourcorners,
@@ -15266,24 +15466,13 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/maintenance/disposal/incinerator)
-"fvF" = (
-/obj/effect/spawner/random/structure/grille,
-/obj/structure/cable,
-/obj/effect/turf_decal/sand/plating,
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical)
-"fvW" = (
-/obj/structure/cable,
-/obj/machinery/light/directional/south,
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
- dir = 4
- },
-/obj/effect/turf_decal/tile/yellow{
+"fvB" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
dir = 8
},
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/dark/corner,
+/obj/machinery/portable_atmospherics/canister,
+/obj/effect/turf_decal/box,
+/turf/open/floor/iron/dark/textured,
/area/station/engineering/atmos)
"fwz" = (
/obj/effect/turf_decal/plaque{
@@ -15330,12 +15519,23 @@
},
/turf/open/floor/carpet/blue,
/area/station/command/heads_quarters/cmo)
-"fwV" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+"fxd" = (
+/obj/machinery/door/airlock/maintenance_hatch,
+/obj/effect/mapping_helpers/airlock/access/all/supply/qm,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical)
+"fxe" = (
+/obj/machinery/airalarm/directional/north,
+/obj/effect/turf_decal/stripes/corner,
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/tile/yellow{
dir = 1
},
-/turf/open/floor/iron,
-/area/station/engineering/atmos/upper)
+/obj/machinery/vending/wardrobe/atmos_wardrobe,
+/turf/open/floor/iron/dark/corner{
+ dir = 4
+ },
+/area/station/engineering/atmos)
"fxg" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/structure/disposalpipe/segment,
@@ -15346,6 +15546,14 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/white,
/area/station/medical/chemistry/minisat)
+"fxn" = (
+/obj/structure/table,
+/obj/effect/spawner/random/food_or_drink/donkpockets{
+ pixel_x = 0;
+ pixel_y = -1
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos/upper)
"fxo" = (
/obj/structure/tank_holder/extinguisher,
/obj/machinery/light/small/dim/directional/north,
@@ -15428,29 +15636,12 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/ai_monitored/command/storage/eva)
-"fyJ" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden,
-/obj/machinery/door/airlock/command/glass{
- name = "Server Access"
- },
-/obj/effect/mapping_helpers/airlock/access/all/science/rd,
-/obj/structure/cable,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/iron/dark,
-/area/station/science/server)
"fyS" = (
/obj/structure/cable,
/turf/open/floor/iron/dark/textured_corner{
dir = 4
},
/area/station/science/xenobiology)
-"fze" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos/upper)
"fzg" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -15796,19 +15987,6 @@
/obj/effect/turf_decal/stripes,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
-"fEu" = (
-/obj/effect/turf_decal/trimline/yellow/filled/line{
- dir = 4
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/obj/machinery/requests_console/auto_name/directional/east,
-/obj/effect/mapping_helpers/requests_console/supplies,
-/obj/effect/mapping_helpers/requests_console/ore_update,
-/obj/effect/mapping_helpers/requests_console/assistance,
-/turf/open/floor/iron,
-/area/station/engineering/lobby)
"fEI" = (
/obj/machinery/rnd/production/techfab/department/service,
/obj/machinery/firealarm/directional/west,
@@ -15844,16 +16022,6 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/iron,
/area/station/command/corporate_showroom)
-"fFb" = (
-/obj/structure/railing{
- dir = 1
- },
-/obj/effect/turf_decal/trimline/yellow/filled/line{
- dir = 5
- },
-/obj/machinery/newscaster/directional/east,
-/turf/open/floor/iron,
-/area/station/engineering/main)
"fFg" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -16098,15 +16266,12 @@
dir = 1
},
/area/station/command/bridge)
-"fIG" = (
-/obj/effect/turf_decal/tile/yellow{
+"fIF" = (
+/obj/effect/turf_decal/stripes/corner{
dir = 4
},
-/obj/machinery/camera/autoname/directional/north,
-/turf/open/floor/iron/dark/corner{
- dir = 1
- },
-/area/station/engineering/atmos/storage/gas)
+/turf/closed/wall/r_wall,
+/area/station/engineering/atmos)
"fIW" = (
/obj/structure/cable,
/obj/item/radio/intercom/directional/west,
@@ -16269,13 +16434,6 @@
},
/turf/open/floor/plating,
/area/station/medical/patients_rooms/room_a)
-"fMW" = (
-/obj/effect/turf_decal/trimline/yellow/filled/line{
- dir = 4
- },
-/obj/item/radio/intercom/directional/east,
-/turf/open/floor/iron,
-/area/station/engineering/main)
"fMY" = (
/obj/machinery/smartfridge/chemistry/virology/preloaded,
/obj/effect/turf_decal/tile/green/half/contrasted{
@@ -16528,18 +16686,6 @@
/obj/effect/landmark/start/prisoner,
/turf/open/floor/iron/freezer,
/area/station/security/prison/shower)
-"fQk" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/item/radio/intercom/command/directional/east,
-/obj/machinery/suit_storage_unit/captain{
- req_access = list("captain")
- },
-/turf/open/floor/carpet/royalblue,
-/area/station/command/heads_quarters/captain/private)
"fQp" = (
/obj/machinery/disposal/bin,
/obj/effect/turf_decal/trimline/yellow/filled/line{
@@ -16608,13 +16754,6 @@
},
/turf/open/floor/iron/white,
/area/station/medical/exam_room)
-"fRB" = (
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/upper)
"fRC" = (
/obj/effect/turf_decal/tile/brown/opposingcorners{
dir = 1
@@ -16854,12 +16993,34 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating/airless,
/area/station/cargo/storage)
+"fWo" = (
+/obj/machinery/suit_storage_unit/radsuit,
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 9
+ },
+/obj/machinery/firealarm/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/maintenance/department/engine)
"fWp" = (
/obj/effect/turf_decal/siding/white{
dir = 10
},
/turf/open/floor/iron/herringbone,
/area/station/hallway/primary/central)
+"fWz" = (
+/obj/machinery/door/firedoor/border_only,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/structure/railing,
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/cable,
+/obj/machinery/light/dim/directional/north,
+/obj/machinery/firealarm/directional/north,
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/upper)
"fWD" = (
/obj/structure/railing{
dir = 4
@@ -16873,6 +17034,24 @@
/obj/item/sticker/clown,
/turf/open/misc/asteroid,
/area/station/asteroid)
+"fWL" = (
+/obj/structure/window/reinforced/spawner/directional/east,
+/obj/machinery/space_heater,
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/turf/open/floor/iron/large,
+/area/station/engineering/atmos/upper)
+"fWQ" = (
+/obj/effect/landmark/start/chief_engineer,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/command/heads_quarters/ce)
"fWZ" = (
/obj/structure/girder,
/obj/structure/lattice/catwalk,
@@ -16890,28 +17069,10 @@
"fXn" = (
/turf/open/floor/wood/parquet,
/area/station/cargo/boutique)
-"fXo" = (
-/obj/effect/turf_decal/sand/plating,
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/obj/item/pickaxe,
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical)
"fXt" = (
/obj/effect/spawner/structure/window/reinforced/plasma,
/turf/open/floor/engine,
/area/station/engineering/supermatter)
-"fXC" = (
-/obj/machinery/door/airlock/maintenance_hatch,
-/obj/effect/mapping_helpers/airlock/access/any/service/general,
-/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance,
-/obj/effect/decal/cleanable/dirt/dust,
-/obj/effect/mapping_helpers/airlock/unres{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/maintenance/department/cargo)
"fXD" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -16986,13 +17147,6 @@
/obj/machinery/camera/autoname/directional/west,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
-"fYX" = (
-/obj/machinery/power/solar{
- id = "foreport";
- name = "Fore-Port Solar Array"
- },
-/turf/open/floor/iron/solarpanel/airless,
-/area/station/solars/port/fore)
"fYZ" = (
/obj/effect/turf_decal/trimline/blue/filled/line{
dir = 4
@@ -17006,6 +17160,20 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
+"fZd" = (
+/obj/machinery/pdapainter{
+ pixel_y = 2
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/machinery/airalarm/directional/south,
+/obj/item/toy/figure/ian{
+ pixel_y = 15;
+ pixel_x = 7
+ },
+/turf/open/floor/iron/dark,
+/area/station/command/heads_quarters/hop)
"fZe" = (
/turf/closed/wall,
/area/station/security/detectives_office)
@@ -17120,6 +17288,19 @@
/obj/effect/spawner/structure/window/reinforced/tinted,
/turf/open/floor/plating/reinforced/airless,
/area/station/asteroid)
+"gbz" = (
+/obj/structure/railing{
+ dir = 4
+ },
+/obj/machinery/portable_atmospherics/canister/nitrogen,
+/obj/effect/turf_decal/box,
+/obj/structure/window/reinforced/spawner/directional/east,
+/obj/structure/window/reinforced/spawner/directional/north,
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/turf/open/floor/iron/dark/textured,
+/area/station/engineering/atmos/upper)
"gbF" = (
/obj/effect/turf_decal/trimline/blue/filled/line{
dir = 9
@@ -17363,6 +17544,10 @@
/obj/structure/cable,
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
+"gfj" = (
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/iron,
+/area/station/engineering/lobby)
"gft" = (
/obj/structure/transport/linear/public,
/obj/effect/landmark/transport/transport_id{
@@ -17373,6 +17558,26 @@
},
/turf/open/floor/plating/elevatorshaft,
/area/station/medical/treatment_center)
+"gfy" = (
+/obj/machinery/door/airlock/engineering{
+ name = "Engine Room"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/general,
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 8
+ },
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/engineering/main)
+"gfE" = (
+/turf/closed/wall,
+/area/station/engineering/atmos)
"gfF" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -17413,19 +17618,6 @@
},
/turf/open/floor/iron,
/area/station/maintenance/department/medical/central)
-"ggP" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/trimline/yellow/filled/corner{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/engineering/main)
-"ggQ" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/engineering/main)
"ggY" = (
/obj/structure/disposalpipe/segment{
dir = 8
@@ -17663,6 +17855,14 @@
/obj/effect/turf_decal/tile/dark_blue/opposingcorners,
/turf/open/floor/iron,
/area/station/command/bridge)
+"glg" = (
+/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"gli" = (
/obj/effect/turf_decal/tile/brown/half/contrasted{
dir = 4
@@ -17697,12 +17897,6 @@
/obj/effect/turf_decal/tile/dark_blue/half/contrasted,
/turf/open/floor/iron,
/area/station/command/meeting_room)
-"glC" = (
-/obj/machinery/atmospherics/components/binary/pump{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos/upper)
"glH" = (
/obj/effect/turf_decal/tile/neutral{
dir = 1
@@ -17788,6 +17982,12 @@
},
/turf/open/floor/iron,
/area/station/cargo/warehouse/upper)
+"gnJ" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/turf/open/floor/iron/checker,
+/area/station/engineering/atmos/project)
"gnO" = (
/obj/machinery/door/airlock/medical{
name = "Treatment Centre"
@@ -17845,13 +18045,6 @@
/obj/structure/cable,
/turf/open/floor/iron/white,
/area/station/medical/medbay/lobby)
-"gpJ" = (
-/obj/machinery/shower/directional/north,
-/obj/effect/turf_decal/trimline/yellow/filled/line{
- dir = 10
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/main)
"gpR" = (
/obj/machinery/light/dim/directional/south,
/obj/structure/closet/emcloset,
@@ -17931,10 +18124,6 @@
/obj/machinery/camera/autoname/directional/west,
/turf/open/floor/iron/dark,
/area/station/service/bar)
-"grb" = (
-/obj/effect/turf_decal/siding/thinplating_new,
-/turf/open/floor/glass/reinforced,
-/area/station/engineering/atmos/upper)
"grl" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -18037,6 +18226,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/cargo/miningoffice)
+"gsH" = (
+/obj/machinery/light_switch/directional/north,
+/obj/machinery/camera/autoname/directional/north,
+/obj/machinery/portable_atmospherics/canister/oxygen,
+/obj/effect/turf_decal/box,
+/turf/open/floor/iron/dark/textured,
+/area/station/engineering/atmos/mix)
"gsM" = (
/obj/effect/turf_decal/trimline/yellow/filled/line{
dir = 8
@@ -18509,6 +18705,9 @@
/obj/machinery/firealarm/directional/west,
/turf/open/floor/iron/dark/textured,
/area/station/medical/morgue)
+"gAo" = (
+/turf/closed/wall/r_wall,
+/area/station/engineering/atmos/mix)
"gAv" = (
/obj/structure/table,
/obj/item/storage/box/evidence,
@@ -18674,19 +18873,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/catwalk_floor/iron_white,
/area/station/science/xenobiology)
-"gCY" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/yellow,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/sorting/mail/flip{
- dir = 4
- },
-/obj/effect/mapping_helpers/mail_sorting/engineering/atmospherics,
-/turf/open/floor/iron/dark/corner{
- dir = 8
- },
-/area/station/engineering/atmos/storage/gas)
"gDl" = (
/obj/structure/sign/xenobio_guide/directional/south,
/obj/structure/tank_holder/extinguisher,
@@ -18701,6 +18887,14 @@
dir = 1
},
/area/station/security)
+"gDo" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos/upper)
"gDQ" = (
/obj/effect/turf_decal/tile/brown/fourcorners,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -18832,6 +19026,9 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating/airless,
/area/space/nearstation)
+"gGg" = (
+/turf/open/floor/iron,
+/area/station/engineering/atmos/mix)
"gGh" = (
/obj/effect/landmark/start/cyborg,
/obj/structure/window/reinforced/spawner/directional/east,
@@ -18908,6 +19105,13 @@
/obj/machinery/light/small/broken/directional/east,
/turf/open/floor/iron/freezer,
/area/station/maintenance/department/medical/central)
+"gHD" = (
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
+ dir = 6
+ },
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"gHL" = (
/obj/structure/table,
/obj/effect/turf_decal/bot,
@@ -19138,15 +19342,6 @@
/obj/machinery/airalarm/directional/east,
/turf/open/floor/carpet,
/area/station/service/chapel/funeral)
-"gLQ" = (
-/obj/effect/turf_decal/tile/yellow{
- dir = 4
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/turf/open/floor/iron/dark/corner{
- dir = 1
- },
-/area/station/engineering/atmos/storage/gas)
"gLZ" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -19155,6 +19350,22 @@
dir = 1
},
/area/station/command/corporate_dock)
+"gMb" = (
+/obj/machinery/button/door/directional/west{
+ id = "atmos";
+ name = "Atmospherics Lockdown";
+ req_access = list("atmospherics")
+ },
+/obj/machinery/light_switch/directional/west{
+ pixel_x = -35
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/turf/open/floor/iron/checker{
+ dir = 1
+ },
+/area/station/engineering/atmos)
"gMk" = (
/turf/open/misc/asteroid,
/area/station/asteroid)
@@ -19193,6 +19404,13 @@
},
/turf/open/floor/iron/dark,
/area/station/science/ordnance/testlab)
+"gMF" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/structure/closet/radiation,
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/mix)
"gMH" = (
/obj/machinery/door/airlock/maintenance,
/obj/effect/mapping_helpers/airlock/abandoned,
@@ -19209,6 +19427,19 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/department/science)
+"gMO" = (
+/obj/structure/displaycase/captain{
+ pixel_y = 5
+ },
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/obj/machinery/power/apc/auto_name/directional/south,
+/obj/structure/cable,
+/obj/machinery/camera/autoname/directional/west,
+/obj/machinery/computer/security/telescreen/minisat/directional/west,
+/turf/open/floor/carpet/royalblue,
+/area/station/command/heads_quarters/captain/private)
"gNd" = (
/obj/structure/rack,
/obj/effect/decal/cleanable/dirt/dust,
@@ -19271,30 +19502,17 @@
dir = 1
},
/area/station/science/research)
-"gOB" = (
-/obj/structure/table,
-/obj/item/storage/box/monkeycubes{
- pixel_x = 4
- },
-/obj/item/storage/box/monkeycubes{
- pixel_x = 6;
- pixel_y = 9
- },
-/obj/item/storage/pill_bottle/mutadone{
- pixel_x = -9
- },
-/obj/machinery/airalarm/directional/north,
-/obj/effect/turf_decal/siding/purple/corner{
+"gOw" = (
+/obj/effect/turf_decal/tile/dark_blue/half/contrasted{
dir = 8
},
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/item/flesh_shears{
- pixel_y = 10;
- pixel_x = -5
+/obj/effect/turf_decal/arrows/red{
+ dir = 1
},
-/turf/open/floor/iron/white/textured,
-/area/station/science/genetics)
+/obj/machinery/ticket_machine/directional/west,
+/obj/effect/landmark/start/hangover,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/command)
"gOG" = (
/obj/effect/turf_decal/siding/wood{
dir = 1
@@ -19331,6 +19549,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/turret_protected/aisat/foyer)
+"gPQ" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line,
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/turf/open/floor/iron,
+/area/station/engineering/lobby)
"gPZ" = (
/obj/effect/turf_decal/tile/red/half/contrasted{
dir = 4
@@ -19341,6 +19566,18 @@
},
/turf/open/floor/iron,
/area/station/security/office)
+"gQa" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow,
+/obj/structure/railing/corner{
+ dir = 4
+ },
+/turf/open/floor/iron/dark/corner{
+ dir = 4
+ },
+/area/station/engineering/atmos)
"gQe" = (
/obj/structure/lattice,
/obj/effect/turf_decal/stripes/asteroid/line{
@@ -19506,6 +19743,17 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/white,
/area/station/medical/paramedic)
+"gTM" = (
+/obj/structure/reagent_dispensers/watertank,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/extinguisher_cabinet/directional/north,
+/turf/open/floor/iron/large,
+/area/station/engineering/atmos/project)
"gTS" = (
/obj/machinery/door/poddoor/shutters{
id = "warehouse";
@@ -19530,11 +19778,6 @@
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/engineering/break_room)
-"gTY" = (
-/obj/machinery/door/airlock/maintenance_hatch,
-/obj/effect/mapping_helpers/airlock/access/all/medical/general,
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical/central)
"gUa" = (
/obj/machinery/conveyor{
dir = 8;
@@ -19544,27 +19787,6 @@
/obj/item/mod/construction/broken_core,
/turf/open/floor/plating,
/area/station/maintenance/disposal)
-"gUe" = (
-/obj/structure/table,
-/obj/item/grenade/chem_grenade/smart_metal_foam{
- pixel_x = -4;
- pixel_y = 6
- },
-/obj/item/grenade/chem_grenade/smart_metal_foam{
- pixel_y = 4
- },
-/obj/item/grenade/chem_grenade/smart_metal_foam{
- pixel_x = 4;
- pixel_y = 2
- },
-/obj/item/grenade/chem_grenade/smart_metal_foam{
- pixel_x = 8
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 6
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos/storage/gas)
"gUl" = (
/obj/machinery/light/directional/west,
/obj/machinery/button/door/directional/north{
@@ -19706,6 +19928,14 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/station/maintenance/department/engine)
+"gWp" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/mix)
"gWr" = (
/obj/effect/turf_decal/trimline/yellow/filled/warning,
/obj/structure/sign/warning/directional/west,
@@ -19713,6 +19943,11 @@
/obj/machinery/door/firedoor/border_only,
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
+"gWy" = (
+/obj/machinery/portable_atmospherics/canister,
+/obj/effect/turf_decal/box,
+/turf/open/floor/iron/dark/textured,
+/area/station/engineering/atmos)
"gWG" = (
/obj/structure/cable,
/obj/machinery/door/airlock/security/glass{
@@ -20109,6 +20344,29 @@
/obj/item/stock_parts/capacitor,
/turf/open/floor/iron/dark,
/area/station/engineering/storage/tcomms)
+"hcF" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/checker,
+/area/station/engineering/atmos/upper)
+"hcP" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/table,
+/obj/item/storage/toolbox/drone{
+ pixel_x = -1;
+ pixel_y = -1
+ },
+/obj/item/storage/toolbox/drone{
+ pixel_x = -1;
+ pixel_y = 11
+ },
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos)
"hcQ" = (
/obj/structure/table/reinforced/rglass,
/obj/item/paper_bin{
@@ -20127,15 +20385,6 @@
},
/turf/open/floor/iron/dark,
/area/station/security/office)
-"hcU" = (
-/obj/machinery/door/airlock/atmos{
- name = "Incinerator"
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
-/obj/structure/cable/multilayer/connected,
-/obj/machinery/door/firedoor,
-/turf/open/floor/iron/dark,
-/area/station/maintenance/disposal/incinerator)
"hdd" = (
/obj/effect/turf_decal/tile/yellow{
dir = 4
@@ -20149,6 +20398,16 @@
dir = 1
},
/area/station/engineering/atmos)
+"hdl" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/structure/chair/sofa/bench/right{
+ dir = 4
+ },
+/obj/structure/window/reinforced/spawner/directional/west,
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/upper)
"hdq" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -20234,10 +20493,6 @@
/obj/machinery/camera/autoname/directional/south,
/turf/open/floor/wood,
/area/station/service/lawoffice)
-"heO" = (
-/obj/structure/falsewall/reinforced,
-/turf/open/floor/plating,
-/area/station/engineering/lobby)
"heP" = (
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt,
@@ -20330,6 +20585,20 @@
},
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
+"hgg" = (
+/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/mix)
"hgi" = (
/obj/effect/turf_decal/tile/brown/half/contrasted{
dir = 4
@@ -20557,6 +20826,11 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/wood,
/area/station/service/library)
+"hkC" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/maintenance/disposal/incinerator)
"hle" = (
/obj/machinery/light/directional/south,
/obj/structure/table/glass,
@@ -20592,6 +20866,9 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"hlN" = (
+/turf/open/floor/iron,
+/area/station/maintenance/disposal/incinerator)
"hmb" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -20672,14 +20949,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/lobby)
-"hmA" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/sand/plating,
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical)
"hmF" = (
/obj/structure/table/wood,
/obj/effect/turf_decal/sand/plating,
@@ -20873,20 +21142,6 @@
/obj/effect/turf_decal/stripes/full,
/turf/open/floor/engine,
/area/station/command/corporate_dock)
-"hqj" = (
-/obj/machinery/door/airlock/atmos/glass{
- name = "Crystallizer Room"
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
-/obj/machinery/door/firedoor,
-/obj/effect/turf_decal/tile/yellow/opposingcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/iron/checker{
- dir = 1
- },
-/area/station/engineering/atmos/upper)
"hqk" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -21030,15 +21285,6 @@
},
/turf/open/floor/iron/dark,
/area/station/medical/morgue)
-"hrA" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/junction{
- dir = 1
- },
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/engineering/lobby)
"hrI" = (
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/engine,
@@ -21058,13 +21304,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/wood/parquet,
/area/station/service/theater)
-"hrS" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
- dir = 1
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron,
-/area/station/engineering/atmospherics_engine)
"hsb" = (
/obj/structure/cable/multilayer/multiz,
/obj/item/assembly/mousetrap/armed,
@@ -21138,17 +21377,6 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/central/lesser)
-"htx" = (
-/obj/effect/landmark/event_spawn,
-/obj/machinery/shower/directional/south{
- name = "emergency shower"
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 10
- },
-/obj/effect/turf_decal/trimline/dark_blue/end,
-/turf/open/floor/iron/textured,
-/area/station/engineering/atmos)
"htJ" = (
/obj/effect/turf_decal/siding/wood{
dir = 4
@@ -21165,6 +21393,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/carpet/purple,
/area/station/service/library)
+"htQ" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/checker,
+/area/station/engineering/atmos/mix)
"htV" = (
/obj/machinery/door/airlock/external,
/obj/effect/mapping_helpers/airlock/cyclelink_helper,
@@ -21214,15 +21449,13 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/wood/parquet,
/area/station/cargo/boutique)
-"huP" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/trimline/yellow/filled/line{
- dir = 8
+"huO" = (
+/obj/effect/spawner/random/engineering/tracking_beacon,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
},
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
-/area/station/engineering/main)
+/area/station/maintenance/disposal/incinerator)
"huX" = (
/obj/structure/closet,
/obj/effect/spawner/random/maintenance/two,
@@ -21251,20 +21484,6 @@
/obj/structure/railing/corner,
/turf/open/openspace,
/area/station/engineering/supermatter/room)
-"hvt" = (
-/obj/effect/turf_decal/tile/dark_blue/half/contrasted{
- dir = 8
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/hallway/secondary/command)
-"hvw" = (
-/obj/effect/turf_decal/sand/plating,
-/obj/structure/disposalpipe/trunk/multiz/down,
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical)
"hvA" = (
/obj/structure/transport/linear/public{
base_icon_state = "catwalk";
@@ -21349,6 +21568,12 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/textured_large,
/area/station/service/kitchen)
+"hwt" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/mix)
"hwP" = (
/turf/open/floor/iron/dark/telecomms,
/area/station/tcommsat/server)
@@ -21425,13 +21650,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/department/cargo)
-"hzg" = (
-/obj/structure/lattice/catwalk,
-/obj/structure/railing,
-/obj/structure/cable/layer3,
-/obj/machinery/door/firedoor/border_only,
-/turf/open/openspace,
-/area/station/engineering/atmos)
"hzh" = (
/obj/machinery/hydroponics/constructable,
/obj/machinery/newscaster/directional/south,
@@ -21609,6 +21827,12 @@
},
/turf/open/floor/iron,
/area/station/service/bar)
+"hCM" = (
+/obj/machinery/door/airlock/maintenance_hatch,
+/obj/effect/mapping_helpers/airlock/access/all/supply/general,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical/central)
"hCN" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -21777,6 +22001,14 @@
dir = 1
},
/area/station/service/chapel)
+"hGm" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/sand/plating,
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical)
"hGo" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -21939,6 +22171,29 @@
},
/turf/open/floor/plating/airless,
/area/station/maintenance/department/science)
+"hJN" = (
+/obj/effect/turf_decal/tile/blue/fourcorners,
+/obj/machinery/door/window/left/directional/east{
+ name = "First Aid Supplies";
+ req_access = list("medical")
+ },
+/obj/structure/table,
+/obj/item/storage/medkit/regular{
+ pixel_x = 3;
+ pixel_y = 6
+ },
+/obj/item/storage/medkit/o2{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/storage/medkit/o2,
+/obj/item/storage/medkit/o2{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/effect/mapping_helpers/airlock/red_alert_access,
+/turf/open/floor/iron/white,
+/area/station/medical/storage)
"hJU" = (
/obj/structure/chair/wood,
/obj/effect/turf_decal/siding/wood{
@@ -21950,6 +22205,10 @@
/obj/structure/stairs/south,
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
+"hKI" = (
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"hKM" = (
/obj/machinery/door/airlock/security/glass{
name = "Prison Wing"
@@ -22057,6 +22316,11 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/wood/parquet,
/area/station/service/library)
+"hMX" = (
+/obj/structure/stairs/east,
+/obj/structure/railing,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"hNg" = (
/obj/structure/chair,
/obj/effect/turf_decal/stripes/line{
@@ -22067,6 +22331,14 @@
"hNh" = (
/turf/closed/wall/r_wall,
/area/station/maintenance/department/bridge)
+"hNq" = (
+/obj/machinery/door/airlock/maintenance_hatch,
+/obj/effect/mapping_helpers/airlock/access/any/science/general,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science)
"hNC" = (
/obj/structure/transport/linear/public{
base_icon_state = "catwalk";
@@ -22277,6 +22549,13 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/iron,
/area/station/cargo/storage)
+"hQv" = (
+/obj/effect/turf_decal/stripes/corner,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"hQy" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
@@ -22361,13 +22640,14 @@
/obj/structure/sign/poster/random/directional/north,
/turf/open/floor/iron/textured_large,
/area/station/cargo/sorting)
-"hRp" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{
- dir = 9
+"hRt" = (
+/obj/effect/turf_decal/sand/plating,
+/obj/structure/disposalpipe/segment{
+ dir = 5
},
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
+/obj/item/pickaxe,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical)
"hRv" = (
/obj/structure/disposalpipe/segment{
dir = 8
@@ -22377,14 +22657,6 @@
"hRB" = (
/turf/closed/wall,
/area/station/service/bar)
-"hRE" = (
-/obj/structure/lattice/catwalk,
-/obj/structure/ladder,
-/obj/structure/railing/corner{
- dir = 1
- },
-/turf/open/openspace,
-/area/station/engineering/atmospherics_engine)
"hRH" = (
/obj/structure/cable,
/obj/effect/turf_decal/trimline/purple/filled/arrow_ccw,
@@ -22544,12 +22816,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/science/xenobiology)
-"hUr" = (
-/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"hUw" = (
/obj/structure/cable,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
@@ -22647,16 +22913,6 @@
/obj/machinery/telecomms/hub/preset,
/turf/open/floor/circuit/green/telecomms/mainframe,
/area/station/tcommsat/server)
-"hWd" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 8
- },
-/obj/structure/closet/secure_closet/captains,
-/obj/machinery/firealarm/directional/north,
-/obj/item/storage/lockbox/medal,
-/obj/machinery/status_display/evac/directional/east,
-/turf/open/floor/carpet/royalblue,
-/area/station/command/heads_quarters/captain/private)
"hWt" = (
/obj/effect/turf_decal/box/corners{
dir = 8
@@ -22688,6 +22944,14 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/wood/tile,
/area/station/service/bar)
+"hWP" = (
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/structure/cable,
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 6
+ },
+/turf/open/floor/iron,
+/area/station/maintenance/department/engine)
"hWW" = (
/obj/structure/cable,
/obj/effect/landmark/start/atmospheric_technician,
@@ -22711,20 +22975,21 @@
},
/turf/open/floor/wood,
/area/station/security/detectives_office/private_investigators_office)
+"hXi" = (
+/obj/machinery/light/directional/south,
+/obj/structure/window/reinforced/spawner/directional/west,
+/obj/machinery/space_heater,
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/turf/open/floor/iron/large,
+/area/station/engineering/atmos/upper)
"hXk" = (
/obj/structure/disposalpipe/segment{
dir = 8
},
/turf/open/floor/iron/white,
/area/station/medical/medbay/lobby)
-"hXo" = (
-/obj/machinery/door/airlock/maintenance_hatch,
-/obj/effect/mapping_helpers/airlock/access/all/medical/surgery,
-/obj/structure/cable,
-/obj/machinery/duct,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical/central)
"hXu" = (
/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{
dir = 4
@@ -22734,6 +22999,14 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/construction/mining/aux_base)
+"hXA" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/upper)
"hXK" = (
/obj/structure/closet/cardboard,
/obj/effect/turf_decal/stripes/line,
@@ -22791,6 +23064,15 @@
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/station/science/ordnance)
+"hYM" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/structure/chair/sofa/bench/left{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/upper)
"hYP" = (
/obj/machinery/modular_computer/preset/id{
dir = 1
@@ -22861,6 +23143,17 @@
"iaN" = (
/turf/closed/wall,
/area/station/cargo/miningoffice)
+"ibf" = (
+/obj/machinery/door/airlock/maintenance_hatch,
+/obj/effect/mapping_helpers/airlock/access/all/medical/general,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/segment{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical)
"ibi" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/blue{
@@ -22956,6 +23249,14 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/science/ordnance)
+"icB" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/obj/machinery/duct,
+/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+/area/station/medical/coldroom)
"icC" = (
/obj/effect/mapping_helpers/broken_floor,
/obj/effect/decal/cleanable/dirt/dust,
@@ -23042,16 +23343,6 @@
/obj/machinery/portable_atmospherics/canister/oxygen,
/turf/open/floor/iron/white/smooth_large,
/area/station/science/ordnance/storage)
-"iej" = (
-/obj/effect/turf_decal/siding/white{
- dir = 1
- },
-/obj/structure/rack,
-/obj/item/wrench/medical,
-/obj/item/food/strawberryicecreamsandwich,
-/obj/machinery/light/dim/directional/south,
-/turf/open/floor/iron/kitchen_coldroom,
-/area/station/medical/coldroom)
"iel" = (
/obj/machinery/atmospherics/components/unary/thermomachine/heater/on,
/obj/effect/turf_decal/tile/yellow{
@@ -23109,12 +23400,6 @@
},
/turf/open/floor/iron/white,
/area/station/hallway/secondary/entry)
-"ifc" = (
-/obj/effect/turf_decal/trimline/yellow/filled/line,
-/obj/machinery/firealarm/directional/south,
-/obj/machinery/camera/autoname/directional/south,
-/turf/open/floor/iron,
-/area/station/engineering/lobby)
"ifd" = (
/turf/open/floor/engine/airless,
/area/space/nearstation)
@@ -23272,6 +23557,11 @@
/obj/structure/cable,
/turf/open/space/openspace,
/area/space/nearstation)
+"iiH" = (
+/obj/machinery/portable_atmospherics/canister,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/iron/large,
+/area/station/engineering/atmos/project)
"iiM" = (
/obj/effect/turf_decal/siding/thinplating{
dir = 4
@@ -23413,6 +23703,10 @@
/obj/machinery/door/firedoor/border_only,
/turf/open/floor/glass/reinforced,
/area/station/service/bar)
+"ilX" = (
+/obj/structure/cable,
+/turf/closed/wall/r_wall,
+/area/station/maintenance/department/engine)
"iml" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/mapping_helpers/broken_floor,
@@ -23456,6 +23750,15 @@
/obj/structure/girder/displaced,
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
+"imW" = (
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
+ dir = 9
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos)
"imZ" = (
/obj/effect/landmark/atmospheric_sanity/ignore_area,
/turf/closed/wall/r_wall,
@@ -23466,18 +23769,6 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
-"ine" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/trimline/yellow/filled/line{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/engineering/lobby)
"ini" = (
/obj/effect/turf_decal/stripes{
dir = 9
@@ -23497,17 +23788,6 @@
},
/turf/open/floor/plating,
/area/station/ai_monitored/turret_protected/aisat/teleporter)
-"inz" = (
-/obj/machinery/door/airlock/research{
- glass = 1;
- name = "Slime Euthanization Chamber";
- opacity = 0
- },
-/obj/effect/turf_decal/tile/blue/fourcorners,
-/obj/effect/mapping_helpers/airlock/access/all/science/xenobio,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/iron,
-/area/station/science/xenobiology)
"inC" = (
/obj/structure/cable,
/obj/effect/turf_decal/trimline/yellow/filled/line{
@@ -23533,6 +23813,13 @@
},
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
+"ioc" = (
+/obj/structure/tank_holder/extinguisher/advanced,
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/turf/open/floor/iron/large,
+/area/station/engineering/atmos)
"iol" = (
/turf/closed/wall/r_wall,
/area/station/service/lawoffice)
@@ -23588,6 +23875,14 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/security/armory)
+"ipd" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/sand/plating,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/airlock/maintenance_hatch,
+/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical)
"ipq" = (
/obj/structure/table,
/obj/item/reagent_containers/condiment/saltshaker{
@@ -23656,6 +23951,18 @@
},
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
+"ipU" = (
+/obj/machinery/door/airlock/research{
+ glass = 1;
+ name = "Slime Euthanization Chamber";
+ opacity = 0
+ },
+/obj/effect/turf_decal/tile/blue/fourcorners,
+/obj/effect/mapping_helpers/airlock/access/all/science/xenobio,
+/obj/structure/plasticflaps/kitchen,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/glass/reinforced,
+/area/station/science/xenobiology)
"ipV" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/disposalpipe/trunk/multiz{
@@ -23725,6 +24032,18 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/white/textured,
/area/station/science/genetics)
+"iri" = (
+/obj/machinery/door/airlock/external{
+ name = "Atmospherics External Airlock"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 8
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/fans/tiny,
+/turf/open/floor/plating,
+/area/station/engineering/atmos/project)
"irx" = (
/obj/structure/chair/sofa/bench/right{
dir = 4
@@ -23902,6 +24221,12 @@
"iuB" = (
/turf/open/floor/plating/elevatorshaft,
/area/station/ai_monitored/turret_protected/aisat_interior)
+"iuM" = (
+/obj/machinery/light_switch/directional/south,
+/obj/effect/turf_decal/bot,
+/obj/machinery/portable_atmospherics/scrubber,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmospherics_engine)
"iuU" = (
/obj/structure/window/reinforced/spawner/directional/west,
/mob/living/basic/bot/cleanbot,
@@ -23974,19 +24299,6 @@
/obj/effect/mapping_helpers/mail_sorting/engineering/ce_office,
/turf/open/floor/iron,
/area/station/engineering/main)
-"iwm" = (
-/obj/structure/chair{
- dir = 8
- },
-/obj/effect/turf_decal/bot_red,
-/obj/effect/turf_decal/tile/dark_blue/half/contrasted{
- dir = 8
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/hallway/secondary/command)
"iwu" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/closet/crate,
@@ -24011,15 +24323,6 @@
/obj/effect/turf_decal/tile/yellow,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
-"ixc" = (
-/obj/machinery/door/airlock/maintenance_hatch,
-/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance/departmental,
-/obj/structure/cable,
-/obj/effect/mapping_helpers/airlock/unres,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/aft/upper)
"ixm" = (
/obj/effect/turf_decal/siding/wood{
dir = 10
@@ -24063,12 +24366,6 @@
"ixU" = (
/turf/closed/wall/r_wall,
/area/station/science/research)
-"ixY" = (
-/obj/effect/turf_decal/siding/thinplating_new{
- dir = 1
- },
-/turf/open/floor/glass/reinforced,
-/area/station/engineering/atmos/upper)
"ixZ" = (
/obj/effect/turf_decal/sand/plating,
/obj/effect/turf_decal/stripes/asteroid/line,
@@ -24126,6 +24423,19 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/station/maintenance/department/science)
+"iyV" = (
+/obj/effect/turf_decal/box,
+/turf/open/floor/iron/textured,
+/area/station/engineering/atmos/mix)
+"iyY" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"iyZ" = (
/obj/machinery/camera/autoname/directional/east{
network = list("ss13","rd","xeno")
@@ -24202,6 +24512,14 @@
/obj/machinery/computer/security/telescreen/rd/directional/south,
/turf/open/floor/glass/reinforced/plasma,
/area/station/command/heads_quarters/rd)
+"iBc" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/mix)
"iBe" = (
/obj/structure/chair/pew/right{
dir = 4
@@ -24219,6 +24537,18 @@
/obj/structure/sign/poster/contraband/missing_gloves,
/turf/closed/wall,
/area/station/commons/storage/primary)
+"iBq" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/structure/table,
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/upper)
"iBs" = (
/obj/structure/table,
/obj/item/stack/spacecash/c100,
@@ -24228,15 +24558,6 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/iron/white/small,
/area/station/science/lobby)
-"iBH" = (
-/obj/effect/landmark/start/chief_engineer,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/command/heads_quarters/ce)
"iBK" = (
/obj/machinery/door/airlock/research/glass{
name = "Chemistry Minisat"
@@ -24389,16 +24710,21 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
+"iEr" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/trimline/yellow/filled/corner{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/engineering/main)
"iEA" = (
/obj/effect/turf_decal/trimline/blue/filled/line,
/obj/machinery/light/cold/directional/south,
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
-"iEB" = (
-/obj/machinery/firealarm/directional/south,
-/obj/effect/turf_decal/siding/thinplating_new,
-/turf/open/floor/glass/reinforced,
-/area/station/engineering/atmos/upper)
"iEK" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -24577,6 +24903,12 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/asteroid)
+"iHQ" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos)
"iHY" = (
/obj/structure/sign/warning/explosives/directional/east,
/obj/effect/turf_decal/siding/purple/corner{
@@ -24585,6 +24917,14 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white,
/area/station/science/research)
+"iIk" = (
+/obj/machinery/door/airlock/maintenance_hatch,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/mapping_helpers/airlock/access/any/engineering/general,
+/turf/open/floor/plating,
+/area/station/maintenance/department/engine)
"iIo" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt/dust,
@@ -24719,6 +25059,11 @@
},
/turf/open/floor/iron/dark,
/area/station/security/lockers)
+"iJI" = (
+/obj/machinery/door/airlock/maintenance_hatch,
+/obj/effect/mapping_helpers/airlock/access/all/science/ordnance,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science)
"iJP" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 1
@@ -24877,13 +25222,6 @@
/obj/item/plant_analyzer,
/turf/open/floor/grass,
/area/station/security/prison/garden)
-"iNv" = (
-/obj/machinery/door/airlock/maintenance_hatch,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden,
-/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
-/turf/open/floor/catwalk_floor,
-/area/station/maintenance/port/greater)
"iNC" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/item/radio/intercom/directional/south,
@@ -24916,6 +25254,10 @@
/obj/structure/sign/poster/official/random/directional/east,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
+"iOd" = (
+/obj/machinery/newscaster/directional/south,
+/turf/open/floor/iron,
+/area/station/maintenance/disposal/incinerator)
"iOE" = (
/obj/item/pickaxe/mini,
/turf/open/misc/asteroid,
@@ -24944,6 +25286,15 @@
/obj/effect/turf_decal/trimline/yellow/filled/corner,
/turf/open/floor/iron,
/area/station/engineering/lobby)
+"iOT" = (
+/obj/machinery/firealarm/directional/west,
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/engineering/main)
"iPd" = (
/obj/machinery/firealarm/directional/north,
/turf/open/floor/carpet/executive,
@@ -24959,6 +25310,9 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/catwalk_floor/iron_white,
/area/station/science/xenobiology)
+"iPg" = (
+/turf/closed/wall/rock/porous,
+/area/station/maintenance/department/medical)
"iPm" = (
/obj/structure/rack,
/obj/effect/turf_decal/trimline/yellow/filled/line,
@@ -25034,6 +25388,17 @@
dir = 8
},
/area/station/ai_monitored/turret_protected/aisat/foyer)
+"iQH" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk,
+/obj/machinery/light/dim/directional/north,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/turf/open/floor/iron/checker{
+ dir = 1
+ },
+/area/station/engineering/atmos)
"iQJ" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -25140,6 +25505,19 @@
},
/turf/open/floor/iron,
/area/station/engineering/main)
+"iTg" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{
+ dir = 8
+ },
+/obj/machinery/meter,
+/obj/item/radio/intercom/directional/west,
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/mix)
"iTA" = (
/obj/structure/railing/corner{
dir = 1
@@ -25181,6 +25559,17 @@
},
/turf/open/floor/iron,
/area/station/commons/locker)
+"iUA" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/upper)
"iUF" = (
/obj/structure/lattice,
/obj/effect/spawner/random/structure/grille,
@@ -25330,6 +25719,16 @@
/obj/structure/sign/warning/biohazard/directional/east,
/turf/open/floor/iron/white,
/area/station/maintenance/aft/upper)
+"iYc" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/structure/extinguisher_cabinet/directional/west,
+/obj/structure/cable,
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/project)
"iYB" = (
/obj/machinery/door/airlock/command{
name = "Chief Medical Officer's Office"
@@ -25542,6 +25941,16 @@
/obj/structure/cable,
/turf/open/floor/carpet,
/area/station/security/detectives_office)
+"jcN" = (
+/obj/machinery/door/airlock/atmos/glass{
+ name = "Atmospherics"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/upper)
"jcR" = (
/obj/structure/chair/sofa/bench/left{
dir = 4
@@ -25620,6 +26029,22 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/cargo/storage)
+"jef" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/railing{
+ dir = 1
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 1
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/checker,
+/area/station/engineering/atmos/mix)
"jer" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/obj/effect/landmark/event_spawn,
@@ -25725,6 +26150,16 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/security/execution/transfer)
+"jfQ" = (
+/obj/machinery/light/directional/south,
+/obj/structure/disposalpipe/trunk/multiz/down{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 6
+ },
+/turf/open/floor/iron,
+/area/station/engineering/main)
"jge" = (
/obj/effect/spawner/random/structure/crate,
/obj/item/clothing/glasses/meson,
@@ -25831,14 +26266,6 @@
/obj/structure/cable,
/turf/open/floor/iron/white,
/area/station/medical/chemistry/minisat)
-"jir" = (
-/obj/machinery/door/airlock/maintenance_hatch,
-/obj/effect/mapping_helpers/airlock/access/all/supply/general,
-/obj/effect/mapping_helpers/airlock/unres{
- dir = 1
- },
-/turf/open/misc/asteroid,
-/area/station/maintenance/department/cargo)
"jit" = (
/obj/effect/mapping_helpers/burnt_floor,
/obj/structure/table/wood,
@@ -25936,19 +26363,6 @@
/obj/effect/spawner/random/entertainment/cigarette_pack,
/turf/open/floor/wood/parquet,
/area/station/cargo/boutique)
-"jjX" = (
-/obj/effect/turf_decal/tile/yellow{
- dir = 8
- },
-/obj/machinery/atmospherics/components/binary/crystallizer{
- dir = 1
- },
-/obj/effect/turf_decal/delivery,
-/obj/machinery/light/directional/west,
-/turf/open/floor/iron/dark/corner{
- dir = 1
- },
-/area/station/engineering/atmos/upper)
"jka" = (
/obj/effect/turf_decal/trimline/blue/filled/line{
dir = 1
@@ -26094,6 +26508,12 @@
/obj/machinery/camera/autoname/directional/south,
/turf/open/floor/catwalk_floor/iron_dark,
/area/station/command/corporate_dock)
+"jlN" = (
+/obj/effect/turf_decal/sand/plating,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/light/small/dim/directional/west,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical)
"jlW" = (
/turf/open/floor/iron/freezer,
/area/station/security/prison/shower)
@@ -26173,6 +26593,17 @@
/obj/machinery/light/directional/east,
/turf/open/floor/catwalk_floor/iron_dark,
/area/station/command/corporate_dock)
+"jnM" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/machinery/firealarm/directional/west,
+/obj/machinery/light/directional/west,
+/obj/structure/cable,
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/project)
"jnP" = (
/obj/machinery/mech_bay_recharge_port{
dir = 8
@@ -26491,14 +26922,6 @@
/obj/structure/flora/bush/sunny/style_random,
/turf/open/floor/grass,
/area/station/hallway/primary/central)
-"jtS" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/engineering/main)
"juf" = (
/obj/effect/turf_decal/tile/neutral,
/obj/effect/spawner/random/structure/table,
@@ -26563,10 +26986,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white,
/area/station/medical/paramedic)
-"jvn" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/upper)
"jvt" = (
/obj/structure/closet/secure_closet/chemical,
/obj/effect/turf_decal/stripes/line{
@@ -26574,6 +26993,10 @@
},
/turf/open/floor/iron/textured_large,
/area/station/medical/treatment_center)
+"jvu" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line,
+/turf/open/floor/iron/dark,
+/area/station/engineering/main)
"jvA" = (
/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
dir = 10
@@ -26628,19 +27051,6 @@
/obj/machinery/camera/autoname/directional/south,
/turf/open/floor/wood/tile,
/area/station/security/courtroom)
-"jws" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/obj/effect/landmark/event_spawn,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/upper)
-"jww" = (
-/obj/effect/turf_decal/tile/dark_blue,
-/obj/effect/mapping_helpers/mail_sorting/service/hop_office,
-/obj/structure/disposalpipe/sorting/mail/flip{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/hallway/secondary/command)
"jwI" = (
/obj/structure/table/reinforced,
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
@@ -26896,13 +27306,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/dark,
/area/station/engineering/atmospherics_engine)
-"jAE" = (
-/obj/structure/lattice/catwalk,
-/obj/structure/railing{
- dir = 8
- },
-/turf/open/openspace,
-/area/station/engineering/atmospherics_engine)
"jAG" = (
/turf/closed/wall,
/area/station/service/lawoffice)
@@ -26954,11 +27357,25 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central)
+"jBx" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/door/firedoor/border_only,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"jBG" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
+"jBI" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/engineering/main)
"jBJ" = (
/obj/effect/landmark/event_spawn,
/obj/effect/turf_decal/stripes/line,
@@ -26986,6 +27403,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
+"jCj" = (
+/obj/machinery/light/small/dim/directional/west,
+/obj/effect/turf_decal/tile/green/half/contrasted{
+ dir = 8
+ },
+/turf/open/floor/iron/white/textured,
+/area/station/medical/treatment_center)
"jCm" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{
dir = 8
@@ -27100,6 +27524,11 @@
/obj/structure/transport/linear/public,
/turf/open/floor/plating/elevatorshaft,
/area/station/cargo/storage)
+"jDj" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/portable_atmospherics/canister/nitrogen,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmospherics_engine)
"jDs" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/obj/structure/table,
@@ -27147,13 +27576,6 @@
},
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
-"jDT" = (
-/obj/effect/turf_decal/tile/dark_blue/half/contrasted{
- dir = 8
- },
-/obj/machinery/firealarm/directional/west,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/command)
"jEc" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
@@ -27194,6 +27616,15 @@
},
/turf/open/floor/engine,
/area/station/medical/chemistry)
+"jEB" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/mix)
"jED" = (
/obj/machinery/camera/autoname/directional/east,
/turf/open/floor/iron/freezer,
@@ -27210,14 +27641,11 @@
/obj/effect/turf_decal/tile/yellow,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
-"jFf" = (
-/obj/structure/closet/secure_closet/atmospherics,
-/obj/machinery/firealarm/directional/west,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos/storage/gas)
+"jFs" = (
+/obj/machinery/door/airlock/maintenance_hatch,
+/obj/effect/mapping_helpers/airlock/access/all/medical/general,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical/central)
"jFP" = (
/obj/structure/lattice/catwalk,
/obj/structure/railing{
@@ -27491,13 +27919,6 @@
dir = 6
},
/area/station/maintenance/radshelter/medical)
-"jJp" = (
-/obj/effect/turf_decal/trimline/yellow/filled/line{
- dir = 1
- },
-/obj/machinery/incident_display/delam/directional/north,
-/turf/open/floor/iron,
-/area/station/engineering/main)
"jJv" = (
/obj/effect/turf_decal/sand/plating,
/obj/effect/decal/cleanable/rubble,
@@ -27620,6 +28041,11 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/station/maintenance/department/cargo)
+"jLB" = (
+/obj/machinery/light/small/dim/directional/north,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/station/engineering/atmos/project)
"jLC" = (
/obj/effect/turf_decal/siding/wood,
/turf/open/floor/wood/parquet,
@@ -27702,6 +28128,9 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/carpet,
/area/station/service/lawoffice)
+"jNI" = (
+/turf/closed/wall/r_wall,
+/area/station/maintenance/central/greater)
"jNJ" = (
/obj/effect/turf_decal/siding/green,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -27922,6 +28351,16 @@
},
/turf/open/floor/carpet,
/area/station/service/chapel/funeral)
+"jRH" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk,
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/upper)
"jRI" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/spawner/random/trash/hobo_squat,
@@ -28236,14 +28675,6 @@
/obj/effect/turf_decal/bot_red,
/turf/open/floor/iron/textured_large,
/area/station/cargo/sorting)
-"jXC" = (
-/obj/machinery/light/dim/directional/west,
-/obj/effect/turf_decal/tile/dark_blue/half/contrasted{
- dir = 8
- },
-/obj/machinery/computer/security/telescreen/minisat/directional/west,
-/turf/open/floor/iron,
-/area/station/command/bridge)
"jXL" = (
/obj/effect/spawner/random/trash/garbage{
spawn_scatter_radius = 1
@@ -28282,6 +28713,13 @@
},
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
+"jYw" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/door/airlock/maintenance,
+/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/port/lesser)
"jYy" = (
/obj/effect/turf_decal/tile/neutral/diagonal_centre,
/turf/open/floor/iron/dark,
@@ -28816,6 +29254,14 @@
/obj/machinery/disposal/bin,
/turf/open/floor/iron,
/area/station/commons/storage/primary)
+"khI" = (
+/obj/machinery/door/airlock/atmos/glass{
+ name = "Atmospherics"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
+/obj/machinery/door/firedoor,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"khJ" = (
/obj/effect/decal/cleanable/blood/old{
icon_state = "gib5-old"
@@ -28909,6 +29355,13 @@
/obj/item/radio/intercom/directional/south,
/turf/open/floor/iron/dark,
/area/station/engineering/supermatter/room)
+"kiY" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/mix)
"kjf" = (
/obj/machinery/disposal/bin,
/obj/structure/disposalpipe/trunk{
@@ -28958,10 +29411,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/department/science)
-"kjv" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/upper)
"kjx" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/structure/broken_flooring/singular,
@@ -29168,11 +29617,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"kmB" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/station/engineering/main)
"kmL" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/neutral/half{
@@ -29217,20 +29661,6 @@
/obj/effect/turf_decal/bot_white/right,
/turf/open/floor/iron/dark,
/area/station/command/gateway)
-"knK" = (
-/obj/machinery/door/airlock/atmos/glass{
- name = "Atmospherics"
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
-/obj/structure/cable,
-/obj/machinery/door/firedoor,
-/obj/effect/turf_decal/tile/yellow/opposingcorners{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/checker,
-/area/station/engineering/atmos/storage/gas)
"knX" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
@@ -29312,11 +29742,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/command/heads_quarters/ce)
-"koX" = (
-/obj/structure/cable/multilayer/multiz,
-/obj/effect/turf_decal/sand/plating,
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical)
"koZ" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/structure/broken_flooring/pile,
@@ -29359,10 +29784,6 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"kpx" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/misc/asteroid,
-/area/station/maintenance/department/medical)
"kpy" = (
/obj/effect/turf_decal/tile/red/opposingcorners,
/obj/effect/landmark/event_spawn,
@@ -29590,18 +30011,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
-"ksg" = (
-/obj/effect/turf_decal/tile/yellow{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
- dir = 8
- },
-/obj/machinery/camera/autoname/directional/north,
-/turf/open/floor/iron/dark/corner{
- dir = 1
- },
-/area/station/engineering/atmos/upper)
"ksl" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -29631,12 +30040,6 @@
/obj/item/radio/intercom/directional/north,
/turf/open/floor/iron/dark,
/area/station/security/mechbay)
-"ksR" = (
-/obj/effect/turf_decal/siding/thinplating_new{
- dir = 8
- },
-/turf/open/floor/glass/reinforced,
-/area/station/engineering/atmos/upper)
"ksU" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -29947,12 +30350,6 @@
/obj/machinery/light_switch/directional/south,
/turf/open/floor/iron,
/area/station/cargo/storage)
-"kyE" = (
-/obj/structure/railing/corner{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/engineering/main)
"kyP" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -30127,12 +30524,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
-"kBN" = (
-/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{
- dir = 9
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"kBX" = (
/obj/structure/window/reinforced/spawner/directional/east,
/obj/structure/window/reinforced/spawner/directional/north,
@@ -30205,6 +30596,14 @@
},
/turf/open/floor/iron,
/area/station/command/bridge)
+"kCI" = (
+/obj/machinery/portable_atmospherics/pump,
+/obj/machinery/firealarm/directional/north,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/light/directional/north,
+/obj/structure/cable,
+/turf/open/floor/iron/large,
+/area/station/engineering/atmos/project)
"kCJ" = (
/obj/structure/toilet{
dir = 4
@@ -30243,6 +30642,16 @@
},
/turf/closed/wall/r_wall,
/area/station/engineering/atmos)
+"kDB" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/stripes/corner,
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/upper)
"kDC" = (
/obj/machinery/firealarm/directional/south,
/obj/effect/turf_decal/tile/blue,
@@ -30254,12 +30663,13 @@
},
/turf/open/floor/iron,
/area/station/service/hydroponics)
-"kDI" = (
-/obj/effect/turf_decal/siding/thinplating_new{
- dir = 5
+"kDD" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
},
-/obj/machinery/light_switch/directional/north,
-/turf/open/floor/glass/reinforced,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/corner,
/area/station/engineering/atmos/upper)
"kDJ" = (
/obj/effect/turf_decal/sand/plating,
@@ -30268,19 +30678,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
-"kDY" = (
-/obj/structure/displaycase/captain{
- pixel_y = 5
- },
-/obj/effect/turf_decal/siding/wood{
- dir = 4
- },
-/obj/machinery/power/apc/auto_name/directional/south,
-/obj/structure/cable,
-/obj/machinery/camera/autoname/directional/west,
-/obj/machinery/computer/security/telescreen/minisat/directional/west,
-/turf/open/floor/carpet/royalblue,
-/area/station/command/heads_quarters/captain/private)
"kEg" = (
/obj/machinery/suit_storage_unit/standard_unit,
/obj/effect/turf_decal/tile/neutral/fourcorners,
@@ -30472,17 +30869,6 @@
/obj/effect/turf_decal/sand/plating,
/turf/open/floor/plating,
/area/station/maintenance/department/science)
-"kHU" = (
-/obj/structure/lattice/catwalk,
-/obj/structure/railing{
- dir = 4
- },
-/obj/structure/cable/layer3,
-/obj/machinery/door/firedoor/border_only{
- dir = 4
- },
-/turf/open/openspace,
-/area/station/engineering/atmos)
"kIl" = (
/obj/machinery/recharge_station,
/obj/effect/turf_decal/tile/neutral/fourcorners,
@@ -30500,12 +30886,6 @@
/obj/machinery/status_display/evac/directional/east,
/turf/open/floor/iron/white,
/area/station/hallway/secondary/entry)
-"kIx" = (
-/obj/effect/turf_decal/siding/thinplating_new{
- dir = 10
- },
-/turf/open/floor/glass/reinforced,
-/area/station/engineering/atmos/upper)
"kIB" = (
/obj/effect/spawner/random/structure/closet_maintenance,
/turf/open/floor/plating,
@@ -30524,11 +30904,6 @@
/obj/item/shard,
/turf/open/floor/iron,
/area/station/maintenance/department/medical/central)
-"kIS" = (
-/obj/effect/turf_decal/trimline/yellow/filled/line,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron,
-/area/station/engineering/main)
"kIY" = (
/obj/effect/turf_decal/siding/purple,
/obj/structure/disposalpipe/segment{
@@ -30571,6 +30946,14 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
+"kJK" = (
+/obj/machinery/door/airlock/maintenance_hatch,
+/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
+/obj/effect/mapping_helpers/airlock/unres{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/central/greater)
"kJM" = (
/obj/machinery/power/apc/auto_name/directional/south,
/obj/effect/turf_decal/tile/brown/half/contrasted,
@@ -30643,9 +31026,29 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/aft/upper)
+"kLe" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/upper)
"kLi" = (
/turf/closed/wall/mineral/plastitanium/nodiagonal,
/area/station/maintenance/department/medical/central)
+"kLu" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/greenscreen_camera{
+ dir = 8;
+ pixel_y = 6;
+ pixel_x = -4
+ },
+/turf/open/floor/carpet/executive,
+/area/station/command/heads_quarters/captain/private)
"kLw" = (
/obj/structure/window/reinforced/spawner/directional/south,
/turf/open/floor/engine,
@@ -30722,14 +31125,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/cargo/drone_bay)
-"kNb" = (
-/obj/structure/closet/secure_closet/atmospherics,
-/obj/effect/turf_decal/stripes/line{
- dir = 5
- },
-/obj/machinery/newscaster/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos/storage/gas)
"kNk" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -30851,6 +31246,17 @@
/obj/machinery/firealarm/directional/east,
/turf/open/floor/iron,
/area/station/hallway/secondary/command)
+"kPL" = (
+/obj/structure/cable,
+/obj/effect/landmark/start/atmospheric_technician,
+/obj/effect/landmark/event_spawn,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"kQa" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -30880,13 +31286,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white,
/area/station/science/research)
-"kQz" = (
-/obj/effect/spawner/random/trash/graffiti,
-/obj/item/instrument/musicalmoth,
-/obj/effect/spawner/random/entertainment/musical_instrument,
-/obj/effect/decal/cleanable/blood/old,
-/turf/open/floor/plating,
-/area/station/engineering/lobby)
"kQF" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/turf/open/floor/engine,
@@ -30995,6 +31394,13 @@
/obj/machinery/newscaster/directional/east,
/turf/open/floor/iron/textured_large,
/area/station/cargo/sorting)
+"kRS" = (
+/obj/machinery/shower/directional/north,
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 10
+ },
+/turf/open/floor/iron/dark,
+/area/station/maintenance/department/engine)
"kRX" = (
/obj/effect/turf_decal/tile/yellow/anticorner/contrasted,
/obj/structure/reagent_dispensers/fueltank,
@@ -31115,6 +31521,15 @@
/obj/item/radio/intercom/directional/west,
/turf/open/floor/iron,
/area/station/cargo/storage)
+"kTI" = (
+/obj/machinery/door/airlock/maintenance_hatch,
+/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/maintenance/port/lesser)
"kTL" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -31207,6 +31622,20 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
+"kUM" = (
+/obj/structure/cable,
+/obj/machinery/door/firedoor/border_only,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/structure/railing,
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/camera/autoname/directional/north,
+/obj/machinery/power/apc/auto_name/directional/north,
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/upper)
"kUW" = (
/obj/structure/chair/pew{
dir = 4
@@ -31228,15 +31657,6 @@
/obj/machinery/door/firedoor/heavy,
/turf/open/floor/plating,
/area/station/science/breakroom)
-"kVV" = (
-/obj/effect/turf_decal/trimline/yellow/filled/corner{
- dir = 1
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/engineering/main)
"kVX" = (
/obj/structure/closet/secure_closet/miner,
/obj/effect/turf_decal/tile/brown/anticorner/contrasted{
@@ -31260,6 +31680,18 @@
/obj/machinery/newscaster/directional/east,
/turf/open/floor/iron,
/area/station/science/robotics/lab)
+"kWq" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/closet/secure_closet/atmospherics,
+/obj/machinery/light/dim/directional/west,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos)
+"kWs" = (
+/obj/effect/landmark/start/atmospheric_technician,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"kWI" = (
/obj/effect/turf_decal/stripes{
dir = 1
@@ -31282,6 +31714,18 @@
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/station/science/xenobiology)
+"kXn" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/duct,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden,
+/obj/effect/turf_decal/tile/blue/fourcorners,
+/obj/structure/cable,
+/turf/open/floor/catwalk_floor/iron_white,
+/area/station/medical/treatment_center)
"kXs" = (
/obj/structure/railing,
/obj/machinery/door/firedoor/border_only,
@@ -31346,6 +31790,17 @@
/obj/structure/grille/broken,
/turf/open/space/basic,
/area/space/nearstation)
+"kYo" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/mix)
"kYs" = (
/obj/effect/turf_decal/trimline/yellow/filled/line{
dir = 4
@@ -31461,18 +31916,6 @@
/obj/machinery/door/firedoor,
/turf/open/floor/iron,
/area/station/service/hydroponics)
-"kZW" = (
-/obj/machinery/door/airlock/research{
- glass = 1;
- name = "Slime Euthanization Chamber";
- opacity = 0
- },
-/obj/effect/turf_decal/tile/blue/fourcorners,
-/obj/effect/mapping_helpers/airlock/access/all/science/xenobio,
-/obj/structure/plasticflaps/kitchen,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/glass/reinforced,
-/area/station/science/xenobiology)
"laf" = (
/obj/effect/spawner/random/structure/chair_comfy{
dir = 4
@@ -31555,12 +31998,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/command/storage/satellite)
-"lbw" = (
-/obj/structure/closet/l3closet,
-/obj/effect/decal/cleanable/dirt/dust,
-/obj/effect/turf_decal/tile/green/half/contrasted,
-/turf/open/floor/iron/white/textured,
-/area/station/medical/treatment_center)
"lbJ" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/white/line,
@@ -31637,10 +32074,32 @@
},
/turf/open/floor/plating,
/area/station/hallway/secondary/entry)
+"ldM" = (
+/obj/machinery/door/airlock/maintenance_hatch,
+/obj/effect/mapping_helpers/airlock/access/all/science/research,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/maintenance/department/science)
+"ldR" = (
+/obj/machinery/camera/autoname/directional/east,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/closet/radiation,
+/turf/open/floor/iron/large,
+/area/station/engineering/atmos/project)
"ldT" = (
/obj/machinery/portable_atmospherics/pump,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
+"leh" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light/directional/west,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/maintenance/disposal/incinerator)
"les" = (
/obj/machinery/door/firedoor/border_only{
dir = 1
@@ -31763,13 +32222,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible,
/turf/closed/wall/r_wall,
/area/station/engineering/supermatter)
-"lfR" = (
-/obj/structure/reagent_dispensers/fueltank/large,
-/obj/effect/turf_decal/stripes/line{
- dir = 9
- },
-/turf/open/floor/iron/large,
-/area/station/engineering/atmos/upper)
"lgh" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/decal/cleanable/dirt,
@@ -31799,6 +32251,17 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/wood/parquet,
/area/station/medical/psychology)
+"lgB" = (
+/obj/machinery/door/airlock/external{
+ name = "Atmospherics External Airlock"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 4
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/station/engineering/atmos/project)
"lgG" = (
/obj/effect/turf_decal/tile/red/half/contrasted{
dir = 1
@@ -31919,6 +32382,9 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/commons/vacant_room/commissary)
+"ljh" = (
+/turf/closed/wall/r_wall,
+/area/station/engineering/atmos/project)
"ljk" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -32011,6 +32477,18 @@
/obj/machinery/light/dim/directional/north,
/turf/open/floor/iron,
/area/station/hallway/secondary/command)
+"lkT" = (
+/obj/structure/railing/corner/end{
+ dir = 8
+ },
+/obj/effect/turf_decal/arrows{
+ dir = 8
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/textured,
+/area/station/engineering/atmos)
"lls" = (
/obj/effect/turf_decal/stripes/asteroid/line{
dir = 1
@@ -32266,6 +32744,15 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/iron,
/area/station/cargo/drone_bay)
+"lqZ" = (
+/obj/machinery/door/airlock/maintenance_hatch,
+/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance,
+/obj/machinery/door/poddoor/shutters{
+ id = "boutique";
+ name = "Countertheft Shutters"
+ },
+/turf/open/floor/wood/parquet,
+/area/station/maintenance/department/medical/central)
"lrc" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -32344,6 +32831,17 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/iron/dark,
/area/station/service/cafeteria)
+"lsK" = (
+/obj/effect/mapping_helpers/airlock/access/all/service/kitchen,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/obj/machinery/door/airlock/freezer{
+ name = "Freezer"
+ },
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+/area/station/service/kitchen/coldroom)
"lta" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 1
@@ -32503,6 +33001,38 @@
/obj/machinery/airalarm/directional/north,
/turf/open/floor/iron,
/area/station/security/prison)
+"lwc" = (
+/obj/structure/tank_dispenser{
+ pixel_x = -1
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/item/radio/intercom/directional/west,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos)
+"lwd" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/binary/crystallizer{
+ dir = 1
+ },
+/obj/effect/turf_decal/delivery,
+/obj/machinery/light/directional/west,
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/mix)
+"lwe" = (
+/obj/machinery/door/airlock/atmos{
+ name = "Atmospherics Office"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/tile/yellow/opposingcorners{
+ dir = 1
+ },
+/turf/open/floor/iron/checker,
+/area/station/engineering/atmos/upper)
"lwr" = (
/obj/structure/railing,
/obj/structure/cable/layer3,
@@ -32522,11 +33052,6 @@
/obj/item/clothing/glasses/meson/engine,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
-"lww" = (
-/obj/machinery/light/directional/north,
-/obj/effect/decal/cleanable/dirt/dust,
-/turf/open/floor/iron,
-/area/station/engineering/main)
"lwB" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/obj/structure/sign/picture_frame/portrait/bar{
@@ -32628,15 +33153,6 @@
/obj/item/reagent_containers/syringe,
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
-"lyy" = (
-/obj/structure/railing/corner{
- dir = 8
- },
-/obj/effect/turf_decal/trimline/yellow/filled/corner{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/engineering/main)
"lyF" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -32665,6 +33181,16 @@
/obj/effect/spawner/random/trash/grille_or_waste,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
+"lyT" = (
+/obj/machinery/light/small/dim/directional/south,
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/turf/open/floor/iron/dark/corner{
+ dir = 8
+ },
+/area/station/engineering/atmos)
"lyY" = (
/obj/machinery/shower/directional/south,
/obj/effect/turf_decal/stripes/line,
@@ -32764,13 +33290,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/cargo/storage)
-"lAs" = (
-/obj/effect/decal/cleanable/glass,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 4
- },
-/turf/open/floor/iron/white/textured_large,
-/area/station/medical/treatment_center)
"lAt" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -32818,14 +33337,6 @@
},
/turf/open/floor/iron,
/area/station/cargo/sorting)
-"lBB" = (
-/obj/machinery/suit_storage_unit/radsuit,
-/obj/effect/turf_decal/trimline/yellow/filled/line{
- dir = 9
- },
-/obj/machinery/firealarm/directional/west,
-/turf/open/floor/iron/dark,
-/area/station/engineering/main)
"lBC" = (
/obj/effect/turf_decal/tile/brown/anticorner/contrasted,
/obj/structure/sign/poster/random/directional/south,
@@ -32980,15 +33491,12 @@
},
/turf/open/floor/iron/dark/smooth_large,
/area/station/ai_monitored/turret_protected/aisat_interior)
-"lED" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 6
+"lEC" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
},
-/turf/open/floor/iron,
-/area/station/engineering/lobby)
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/project)
"lEM" = (
/obj/item/radio/intercom/directional/south{
frequency = 1423;
@@ -33045,11 +33553,6 @@
"lFG" = (
/turf/open/floor/glass,
/area/station/command/meeting_room)
-"lFJ" = (
-/obj/effect/decal/cleanable/blood/old,
-/obj/item/flashlight/flare/candle,
-/turf/open/floor/plating,
-/area/station/engineering/lobby)
"lFK" = (
/obj/structure/chair,
/obj/effect/turf_decal/stripes/line{
@@ -33198,6 +33701,17 @@
/obj/structure/table/reinforced/rglass,
/turf/open/floor/iron/dark,
/area/station/security/office)
+"lHE" = (
+/obj/effect/turf_decal/box/corners{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/stripes/corner,
+/obj/machinery/firealarm/directional/south,
+/obj/machinery/camera/autoname/directional/south,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"lHX" = (
/obj/machinery/holopad,
/obj/effect/turf_decal/box/white{
@@ -33241,6 +33755,25 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
+"lIH" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/checker{
+ dir = 4
+ },
+/area/station/engineering/atmos/upper)
+"lIR" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/upper)
"lIW" = (
/obj/item/stack/cable_coil{
amount = 1
@@ -33318,18 +33851,6 @@
},
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
-"lKE" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/trimline/yellow/filled/line{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 5
- },
-/turf/open/floor/iron,
-/area/station/engineering/lobby)
"lKF" = (
/obj/effect/turf_decal/box/corners{
dir = 1
@@ -33406,12 +33927,6 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/central/lesser)
-"lMj" = (
-/obj/effect/turf_decal/siding/thinplating_new{
- dir = 9
- },
-/turf/open/floor/glass/reinforced,
-/area/station/engineering/atmos/upper)
"lMx" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -33460,10 +33975,6 @@
/obj/structure/rack,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
-"lNr" = (
-/obj/effect/landmark/event_spawn,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"lNu" = (
/obj/effect/turf_decal/tile/neutral{
dir = 1
@@ -33554,6 +34065,11 @@
/obj/item/gun/ballistic/revolver/russian,
/turf/open/floor/wood,
/area/station/commons/lounge)
+"lON" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/engineering/main)
"lPe" = (
/obj/structure/disposalpipe/segment,
/obj/structure/cable,
@@ -33704,17 +34220,14 @@
},
/turf/open/floor/iron/white,
/area/station/medical/exam_room)
-"lSm" = (
-/obj/effect/turf_decal/trimline/yellow/filled/line{
- dir = 4
- },
+"lSg" = (
+/obj/effect/turf_decal/sand/plating,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/main)
+/obj/machinery/door/airlock/maintenance,
+/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
+/obj/effect/mapping_helpers/airlock/welded,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical)
"lSz" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/light/small/directional/south,
@@ -33905,14 +34418,6 @@
/obj/item/storage/photo_album/chapel,
/turf/open/floor/iron/grimy,
/area/station/service/chapel/office)
-"lWd" = (
-/obj/machinery/door/airlock/maintenance_hatch,
-/obj/effect/mapping_helpers/airlock/access/all/science/research,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science)
"lWF" = (
/obj/structure/table/wood,
/obj/item/paper_bin,
@@ -34030,15 +34535,6 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"lYp" = (
-/obj/structure/railing/corner{
- dir = 4
- },
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/turf/open/floor/iron,
-/area/station/engineering/main)
"lYt" = (
/obj/structure/table/reinforced,
/obj/machinery/microwave,
@@ -34125,6 +34621,14 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/iron/white/herringbone,
/area/station/science/breakroom)
+"lZt" = (
+/obj/machinery/shower/directional/south{
+ name = "emergency shower"
+ },
+/obj/effect/turf_decal/box,
+/obj/structure/fluff/shower_drain,
+/turf/open/floor/iron/dark/small,
+/area/station/engineering/atmos/project)
"lZu" = (
/obj/machinery/disposal/bin,
/obj/structure/disposalpipe/trunk{
@@ -34132,6 +34636,24 @@
},
/turf/open/floor/iron/textured,
/area/station/hallway/primary/starboard)
+"lZx" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden,
+/obj/machinery/door/airlock/command/glass{
+ name = "Server Access"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/science/rd,
+/obj/structure/cable,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/iron/dark,
+/area/station/science/server)
+"lZD" = (
+/obj/effect/turf_decal/siding/white{
+ dir = 1
+ },
+/obj/structure/closet/crate/freezer/blood,
+/obj/machinery/firealarm/directional/west,
+/turf/open/floor/iron/kitchen_coldroom,
+/area/station/medical/coldroom)
"lZH" = (
/obj/effect/turf_decal/trimline/blue/filled/corner{
dir = 8
@@ -34154,6 +34676,15 @@
/obj/effect/turf_decal/tile/brown/anticorner/contrasted,
/turf/open/floor/iron,
/area/station/cargo/storage)
+"lZR" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/bot{
+ dir = 1
+ },
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/mix)
"mam" = (
/obj/structure/closet/secure_closet/personal,
/obj/machinery/power/apc/auto_name/directional/east,
@@ -34278,17 +34809,6 @@
/obj/machinery/camera/autoname/directional/west,
/turf/open/floor/iron/dark,
/area/station/commons/locker)
-"mdw" = (
-/obj/machinery/power/apc/auto_name/directional/south,
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/yellow{
- dir = 1
- },
-/obj/effect/turf_decal/tile/yellow,
-/turf/open/floor/iron/dark/corner{
- dir = 8
- },
-/area/station/engineering/atmos/storage/gas)
"mee" = (
/obj/effect/turf_decal/trimline/yellow/filled/corner{
dir = 8
@@ -34388,6 +34908,17 @@
/obj/effect/baseturf_helper/reinforced_plating/ceiling,
/turf/open/floor/iron/dark,
/area/station/science/ordnance)
+"mfE" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/turf/open/floor/iron/dark/corner{
+ dir = 4
+ },
+/area/station/engineering/atmos)
"mfP" = (
/obj/machinery/atmospherics/components/tank/air/layer4,
/obj/effect/turf_decal/tile/green/half/contrasted{
@@ -34422,20 +34953,6 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/commons/fitness/recreation)
-"mhc" = (
-/obj/machinery/door/airlock/maintenance_hatch,
-/obj/effect/mapping_helpers/airlock/access/all/medical/general,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment{
- dir = 8
- },
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical)
-"mhh" = (
-/turf/open/openspace,
-/area/station/engineering/atmos)
"mhi" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -34463,11 +34980,6 @@
/obj/machinery/light/directional/west,
/turf/open/floor/iron,
/area/station/cargo/storage)
-"mhA" = (
-/obj/effect/turf_decal/siding/thinplating_new,
-/obj/item/radio/intercom/directional/south,
-/turf/open/floor/glass/reinforced,
-/area/station/engineering/atmos/upper)
"mhD" = (
/obj/structure/rack,
/obj/effect/spawner/random/contraband/narcotics,
@@ -34481,13 +34993,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/maintenance/department/cargo)
-"mhG" = (
-/obj/effect/turf_decal/tile/dark_blue/half/contrasted{
- dir = 8
- },
-/obj/machinery/light_switch/directional/west,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/command)
"mhO" = (
/obj/structure/table/reinforced,
/obj/item/storage/box/beakers{
@@ -34679,6 +35184,13 @@
},
/turf/open/floor/iron/freezer,
/area/station/security/prison/shower)
+"mkt" = (
+/obj/effect/turf_decal/stripes{
+ dir = 6
+ },
+/obj/structure/extinguisher_cabinet/directional/east,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmospherics_engine)
"mkE" = (
/obj/structure/table/glass,
/obj/item/storage/box/lights/mixed,
@@ -34691,14 +35203,6 @@
/obj/machinery/computer/records/security,
/turf/open/floor/iron,
/area/station/security/checkpoint/supply)
-"mkL" = (
-/obj/item/kirbyplants/random,
-/obj/effect/turf_decal/trimline/yellow/filled/line{
- dir = 5
- },
-/obj/machinery/camera/autoname/directional/north,
-/turf/open/floor/iron,
-/area/station/engineering/main)
"mkN" = (
/obj/machinery/door/airlock/command{
name = "Head of Security's Tactical Shower"
@@ -34722,13 +35226,6 @@
/obj/structure/cable,
/turf/open/floor/iron/white,
/area/station/science/ordnance/testlab)
-"mkX" = (
-/obj/structure/lattice/catwalk,
-/obj/structure/railing{
- dir = 1
- },
-/turf/open/openspace,
-/area/station/engineering/atmospherics_engine)
"mkZ" = (
/obj/machinery/disposal/bin,
/obj/structure/disposalpipe/trunk,
@@ -34977,6 +35474,18 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/carpet,
/area/station/service/lawoffice)
+"moA" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/turf/open/floor/iron,
+/area/station/maintenance/department/engine)
"moH" = (
/obj/machinery/computer/records/security,
/obj/machinery/airalarm/directional/east,
@@ -34992,11 +35501,6 @@
/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible,
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"moU" = (
-/obj/structure/cable,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron,
-/area/station/engineering/main)
"mpc" = (
/turf/closed/wall/rock/porous,
/area/station/hallway/primary/starboard)
@@ -35046,6 +35550,17 @@
/obj/structure/sign/departments/chemistry/directional/west,
/turf/open/floor/iron/white,
/area/station/medical/chemistry)
+"mqn" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/mix)
"mqz" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/power/apc/auto_name/directional/east,
@@ -35086,6 +35601,12 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/maintenance/disposal/incinerator)
+"mrc" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/project)
"mrq" = (
/obj/effect/turf_decal/tile/dark_blue/half/contrasted{
dir = 8
@@ -35131,6 +35652,13 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/department/bridge)
+"msa" = (
+/obj/machinery/incident_display/delam/directional/north,
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 9
+ },
+/turf/open/floor/iron,
+/area/station/engineering/main)
"msf" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/obj/effect/spawner/random/bedsheet/any,
@@ -35483,18 +36011,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark,
/area/station/service/bar)
-"mxL" = (
-/obj/effect/turf_decal/tile/yellow{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold/green/visible{
- dir = 1
- },
-/obj/machinery/light_switch/directional/north,
-/turf/open/floor/iron/dark/corner{
- dir = 1
- },
-/area/station/engineering/atmos/upper)
"myg" = (
/obj/structure/cable,
/obj/item/radio/intercom/directional/north,
@@ -35546,10 +36062,6 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/iron,
/area/station/construction/mining/aux_base)
-"mzb" = (
-/obj/machinery/atmospherics/pipe/smart/simple/orange/visible,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"mzB" = (
/obj/machinery/firealarm/directional/west,
/obj/structure/closet/firecloset/full,
@@ -35565,13 +36077,6 @@
},
/turf/open/floor/iron,
/area/station/command/bridge)
-"mzJ" = (
-/obj/structure/stairs/south,
-/obj/structure/railing{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"mzU" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/machinery/door/airlock/maintenance_hatch,
@@ -35628,6 +36133,27 @@
},
/turf/open/floor/plating,
/area/station/engineering/supermatter/room)
+"mAW" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
+ },
+/obj/machinery/button/door/directional/south{
+ id = "capshut";
+ name = "shutter control";
+ pixel_x = -8
+ },
+/obj/machinery/fax{
+ fax_name = "Captain's Office";
+ name = "Captain's Fax Machine"
+ },
+/obj/structure/table/reinforced,
+/obj/machinery/keycard_auth/wall_mounted/directional/south{
+ pixel_x = 8;
+ pixel_y = -24
+ },
+/obj/machinery/status_display/ai/directional/east,
+/turf/open/floor/carpet/royalblue,
+/area/station/command/heads_quarters/captain/private)
"mAX" = (
/obj/effect/turf_decal/tile/blue/anticorner/contrasted{
dir = 1
@@ -35705,14 +36231,19 @@
},
/turf/open/floor/carpet/red,
/area/station/command/heads_quarters/qm)
-"mCb" = (
+"mCc" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 6
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
},
-/turf/open/floor/iron,
-/area/station/engineering/main)
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/project)
"mCm" = (
/obj/effect/turf_decal/stripes,
/obj/item/radio/intercom/directional/south,
@@ -35787,6 +36318,13 @@
/obj/effect/spawner/random/structure/closet_empty/crate,
/turf/open/floor/iron,
/area/station/cargo/warehouse)
+"mDf" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 4
+ },
+/obj/machinery/light/directional/east,
+/turf/open/floor/iron,
+/area/station/engineering/main)
"mDr" = (
/obj/effect/landmark/event_spawn,
/obj/machinery/holopad,
@@ -35866,6 +36404,10 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/security)
+"mEB" = (
+/obj/effect/landmark/start/atmospheric_technician,
+/turf/open/floor/glass/reinforced,
+/area/station/engineering/atmos/project)
"mEN" = (
/obj/item/computer_disk/maintenance/spectre_meter,
/turf/open/misc/asteroid/airless,
@@ -35994,6 +36536,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white/smooth_large,
/area/station/science/xenobiology/hallway)
+"mHo" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/maintenance/disposal/incinerator)
"mHu" = (
/obj/effect/turf_decal/tile/neutral{
dir = 1
@@ -36001,12 +36550,6 @@
/obj/machinery/camera/autoname/directional/north,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"mHG" = (
-/obj/machinery/door/airlock/maintenance_hatch,
-/obj/effect/mapping_helpers/airlock/access/all/medical/general,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical/central)
"mHL" = (
/obj/structure/closet/secure_closet/security/sec,
/obj/effect/turf_decal/tile/red/half/contrasted{
@@ -36201,11 +36744,6 @@
/obj/machinery/light_switch/directional/south,
/turf/open/floor/iron/white,
/area/station/science/lab)
-"mKJ" = (
-/obj/structure/lattice/catwalk,
-/obj/machinery/camera/autoname/directional/south,
-/turf/open/openspace,
-/area/station/engineering/atmospherics_engine)
"mKM" = (
/obj/machinery/atmospherics/pipe/smart/manifold/general/visible{
dir = 8
@@ -36473,6 +37011,12 @@
/obj/effect/spawner/random/trash/garbage,
/turf/open/floor/iron,
/area/station/maintenance/department/medical/central)
+"mPZ" = (
+/obj/machinery/atmospherics/pipe/multiz/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2,
+/obj/effect/turf_decal/sand/plating,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical)
"mQk" = (
/obj/effect/spawner/random/vending/colavend,
/obj/effect/turf_decal/trimline/yellow/filled/line,
@@ -36535,10 +37079,6 @@
/obj/effect/mob_spawn/corpse/human/clown,
/turf/open/misc/asteroid,
/area/station/asteroid)
-"mRU" = (
-/obj/effect/decal/cleanable/dirt/dust,
-/turf/open/floor/iron,
-/area/station/engineering/main)
"mSe" = (
/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{
dir = 10
@@ -36646,30 +37186,10 @@
"mUs" = (
/turf/open/floor/iron/white,
/area/station/medical/storage)
-"mUz" = (
-/obj/structure/table,
-/obj/machinery/door/window/left/directional/east{
- name = "First Aid Supplies";
- req_access = list("medical")
- },
-/obj/effect/turf_decal/tile/blue/fourcorners,
-/obj/item/storage/medkit/regular{
- pixel_x = 3;
- pixel_y = 6
- },
-/obj/item/storage/medkit/fire{
- pixel_x = 3;
- pixel_y = 3
- },
-/obj/item/storage/medkit/fire,
-/obj/item/storage/medkit/fire{
- pixel_x = -3;
- pixel_y = -3
- },
-/obj/machinery/camera/autoname/directional/west,
-/obj/effect/mapping_helpers/airlock/red_alert_access,
-/turf/open/floor/iron/white,
-/area/station/medical/storage)
+"mUu" = (
+/obj/item/pickaxe/improvised,
+/turf/open/misc/asteroid,
+/area/station/maintenance/department/medical)
"mUA" = (
/obj/machinery/light/small/dim/directional/west,
/obj/effect/mapping_helpers/broken_floor,
@@ -36689,6 +37209,17 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/iron,
/area/station/engineering/gravity_generator)
+"mUH" = (
+/obj/machinery/door/airlock/maintenance_hatch,
+/obj/effect/mapping_helpers/airlock/access/all/science/robotics,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/maintenance/port/lesser)
"mUP" = (
/obj/effect/turf_decal/siding/purple{
dir = 1
@@ -36724,6 +37255,14 @@
/obj/machinery/camera/autoname/directional/south,
/turf/open/floor/iron/dark/corner,
/area/station/engineering/atmos)
+"mVt" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/project)
"mVU" = (
/obj/effect/spawner/random/maintenance/two,
/obj/effect/spawner/random/structure/crate,
@@ -36774,6 +37313,21 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
+"mWk" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/yellow,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/turf/open/floor/iron/dark/corner{
+ dir = 8
+ },
+/area/station/engineering/atmos)
"mWB" = (
/obj/machinery/requests_console/auto_name/directional/south,
/obj/effect/mapping_helpers/requests_console/supplies,
@@ -36881,16 +37435,6 @@
},
/turf/open/floor/iron/stairs/left,
/area/station/command/corporate_showroom)
-"mYb" = (
-/obj/effect/landmark/start/chief_engineer,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/landmark/event_spawn,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/command/heads_quarters/ce)
"mYd" = (
/obj/structure/railing{
dir = 8
@@ -36925,6 +37469,20 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/white,
/area/station/science/auxlab/firing_range)
+"mYS" = (
+/obj/machinery/door/airlock/atmos/glass{
+ name = "Crystallizer Room"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/tile/yellow/opposingcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/iron/checker{
+ dir = 1
+ },
+/area/station/engineering/atmos/mix)
"mYU" = (
/obj/machinery/requests_console/directional/west{
department = "Hydroponics";
@@ -37219,17 +37777,24 @@
/obj/machinery/door/window/brigdoor/security/cell/left/directional/east,
/turf/open/floor/glass/reinforced,
/area/station/security/checkpoint/science)
+"ndA" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/camera/autoname/directional/north,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/light/dim/directional/north,
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/mix)
"ndB" = (
/obj/effect/turf_decal/siding/wood{
dir = 1
},
/turf/closed/wall,
/area/station/service/bar)
-"ndE" = (
-/obj/machinery/door/airlock/maintenance_hatch,
-/obj/effect/mapping_helpers/airlock/access/all/science/ordnance,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science)
"ndI" = (
/obj/structure/table,
/obj/item/hand_labeler,
@@ -37357,11 +37922,6 @@
},
/turf/open/floor/engine,
/area/station/engineering/supermatter)
-"neM" = (
-/obj/effect/turf_decal/trimline/yellow/filled/line,
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/engineering/main)
"neT" = (
/obj/machinery/light/small/directional/west,
/turf/open/floor/plating/reinforced/airless,
@@ -37529,15 +38089,6 @@
/obj/machinery/light_switch/directional/north,
/turf/open/floor/iron,
/area/station/commons/fitness/recreation)
-"nhS" = (
-/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer5{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"nii" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -37614,6 +38165,13 @@
/obj/item/storage/fancy/egg_box,
/turf/open/floor/iron/white,
/area/station/security/prison/mess)
+"nju" = (
+/obj/structure/stairs/east,
+/obj/structure/railing{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"njM" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/turf/open/floor/wood/parquet,
@@ -37751,10 +38309,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white,
/area/station/science/research)
-"nmr" = (
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/upper)
"nmD" = (
/obj/structure/cable/multilayer/multiz,
/turf/open/floor/plating,
@@ -37899,6 +38453,14 @@
/obj/machinery/light/small/directional/east,
/turf/open/floor/iron,
/area/station/security/brig)
+"noC" = (
+/obj/machinery/door/airlock/maintenance_hatch,
+/obj/effect/mapping_helpers/airlock/access/all/supply/general,
+/obj/effect/mapping_helpers/airlock/unres{
+ dir = 1
+ },
+/turf/open/misc/asteroid,
+/area/station/maintenance/department/cargo)
"noF" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
@@ -37921,6 +38483,14 @@
/obj/machinery/light_switch/directional/north,
/turf/open/floor/iron/white,
/area/station/science/auxlab/firing_range)
+"noQ" = (
+/obj/machinery/door/airlock/atmos/glass{
+ name = "Atmospherics"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
+/obj/machinery/door/firedoor,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/upper)
"npg" = (
/obj/structure/table/wood,
/obj/item/toy/plush/carpplushie{
@@ -38031,18 +38601,22 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"nqR" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
- dir = 9
+"nrm" = (
+/obj/machinery/elevator_control_panel/directional/south{
+ linked_elevator_id = "aisat";
+ pixel_x = 8;
+ pixel_y = -34
},
-/obj/effect/turf_decal/tile/yellow{
- dir = 8
+/obj/machinery/lift_indicator/directional/south{
+ linked_elevator_id = "aisat";
+ pixel_x = -6;
+ pixel_y = -40
},
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/dark/corner,
-/area/station/engineering/atmos)
+/obj/machinery/light/small/dim/directional/north,
+/obj/structure/cable/layer3,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/iron/dark/telecomms,
+/area/station/tcommsat/server)
"nrp" = (
/obj/machinery/door/airlock/public/glass{
name = "Fore Primary Hallway"
@@ -38053,6 +38627,14 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/fore)
+"nrB" = (
+/obj/effect/turf_decal/tile/yellow/opposingcorners{
+ dir = 1
+ },
+/obj/structure/closet/radiation,
+/obj/machinery/light_switch/directional/east,
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/mix)
"nrL" = (
/obj/structure/cable,
/obj/structure/window/reinforced/spawner/directional/west,
@@ -38073,6 +38655,12 @@
/obj/item/radio/intercom/directional/east,
/turf/open/floor/iron/dark,
/area/station/medical/chemistry/minisat)
+"nsj" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 9
+ },
+/turf/open/floor/iron,
+/area/station/engineering/main)
"nso" = (
/obj/effect/landmark/event_spawn,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -38104,6 +38692,13 @@
},
/turf/open/floor/iron/white,
/area/station/hallway/secondary/entry)
+"nsZ" = (
+/obj/structure/chair/sofa/bench/left{
+ dir = 4
+ },
+/obj/structure/window/reinforced/spawner/directional/west,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/upper)
"ntd" = (
/turf/open/floor/iron/showroomfloor,
/area/station/command/heads_quarters/qm)
@@ -38215,6 +38810,13 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/hallway/secondary/command)
+"nvP" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/portables_connector/visible,
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/mix)
"nvQ" = (
/obj/effect/turf_decal/tile/purple/half/contrasted{
dir = 4
@@ -38226,6 +38828,12 @@
/obj/structure/window/reinforced/spawner/directional/west,
/turf/open/floor/glass/reinforced,
/area/station/security/prison)
+"nwa" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"nwc" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/machinery/camera/autoname/directional/south,
@@ -38252,6 +38860,18 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central)
+"nwA" = (
+/obj/structure/plasticflaps/opaque,
+/obj/machinery/navbeacon{
+ codes_txt = "delivery;dir=4";
+ location = "Engineering"
+ },
+/obj/structure/cable,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/engineering/main)
"nwF" = (
/obj/structure/reagent_dispensers/fueltank,
/obj/machinery/airalarm/directional/south,
@@ -38275,6 +38895,11 @@
/obj/item/storage/box/bandages,
/turf/open/floor/plating,
/area/station/cargo/miningoffice)
+"nxi" = (
+/obj/structure/cable/multilayer/multiz,
+/obj/effect/turf_decal/sand/plating,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical)
"nxG" = (
/obj/effect/turf_decal/tile/neutral{
dir = 1
@@ -38283,6 +38908,20 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
+"nxP" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/dark_blue/half/contrasted{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/bot_red,
+/obj/effect/landmark/start/hangover,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/command)
"nxY" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/decal/cleanable/glass,
@@ -38356,9 +38995,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/main)
-"nzk" = (
-/turf/closed/wall/r_wall,
-/area/station/maintenance/central/greater)
"nzn" = (
/obj/structure/lattice/catwalk,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
@@ -38415,16 +39051,6 @@
/obj/effect/mapping_helpers/apc/cell_5k,
/turf/open/floor/circuit/green/telecomms/mainframe,
/area/station/ai_monitored/turret_protected/ai)
-"nAa" = (
-/obj/machinery/door/firedoor/border_only{
- dir = 8
- },
-/obj/effect/turf_decal/tile/yellow{
- dir = 8
- },
-/obj/structure/sign/poster/contraband/singletank_bomb/directional/south,
-/turf/open/floor/iron/dark/corner,
-/area/station/engineering/atmos/upper)
"nAb" = (
/turf/closed/wall/mineral/plastitanium/nodiagonal,
/area/station/maintenance/department/cargo)
@@ -38684,6 +39310,17 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/command)
+"nEM" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/machinery/light/dim/directional/west,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/upper)
"nEY" = (
/obj/effect/turf_decal/stripes/corner{
dir = 8
@@ -38741,14 +39378,15 @@
},
/turf/open/floor/engine/co2,
/area/station/engineering/atmos)
-"nGv" = (
+"nGr" = (
/obj/machinery/door/airlock/maintenance_hatch,
-/obj/effect/mapping_helpers/airlock/access/all/supply/general,
+/obj/effect/mapping_helpers/airlock/access/all/security/entrance,
/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/misc/asteroid,
-/area/station/maintenance/department/medical)
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/department/cargo)
"nGO" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 4
@@ -38858,14 +39496,6 @@
},
/turf/open/floor/wood/parquet,
/area/station/cargo/boutique)
-"nJD" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/sand/plating,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/door/airlock/maintenance_hatch,
-/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance,
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical)
"nJF" = (
/obj/structure/table/reinforced,
/obj/machinery/door/window/left/directional/east{
@@ -38990,10 +39620,6 @@
},
/turf/open/floor/iron,
/area/station/cargo/storage)
-"nKO" = (
-/obj/structure/railing/corner,
-/turf/open/floor/plating,
-/area/station/engineering/main)
"nLb" = (
/obj/structure/closet/wardrobe/grey,
/obj/effect/landmark/start/hangover/closet,
@@ -39225,6 +39851,11 @@
"nPW" = (
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
+"nPX" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/mix)
"nQm" = (
/obj/machinery/camera/motion/directional/west{
c_tag = "Secure - AI Upper External East";
@@ -39248,6 +39879,12 @@
/obj/machinery/light/warm/directional/east,
/turf/open/floor/iron/dark,
/area/station/medical/chemistry/minisat)
+"nQK" = (
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
+ dir = 10
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos/mix)
"nQQ" = (
/obj/effect/spawner/random/decoration/statue{
spawn_loot_chance = 50
@@ -39276,6 +39913,18 @@
/obj/machinery/light/small/dim/directional/north,
/turf/open/floor/iron/dark/telecomms,
/area/station/tcommsat/server)
+"nRu" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/engineering/main)
"nRw" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/hidden,
@@ -39298,6 +39947,10 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/wood/tile,
/area/station/service/bar)
+"nSA" = (
+/obj/effect/spawner/structure/window/reinforced/plasma,
+/turf/open/floor/plating,
+/area/station/engineering/atmos/project)
"nSC" = (
/turf/closed/wall,
/area/station/security/prison/shower)
@@ -39341,17 +39994,6 @@
/obj/effect/spawner/random/decoration/material,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
-"nTA" = (
-/obj/effect/turf_decal/siding/white{
- dir = 1
- },
-/obj/structure/closet/crate/freezer/blood,
-/obj/machinery/camera/autoname/directional/east{
- network = list("ss13","medbay")
- },
-/obj/item/radio/intercom/directional/south,
-/turf/open/floor/iron/kitchen_coldroom,
-/area/station/medical/coldroom)
"nTT" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -39416,6 +40058,16 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/security/checkpoint/supply)
+"nVs" = (
+/obj/machinery/camera/autoname/directional/west,
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/main)
"nVz" = (
/obj/effect/turf_decal/trimline/yellow/filled/line{
dir = 10
@@ -39426,6 +40078,19 @@
"nVT" = (
/turf/closed/wall,
/area/station/service/cafeteria)
+"nVX" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/unary/thermomachine/freezer{
+ dir = 1
+ },
+/obj/effect/turf_decal/bot{
+ dir = 1
+ },
+/obj/machinery/light/dim/directional/south,
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/mix)
"nWd" = (
/obj/machinery/airalarm/directional/east,
/obj/structure/table,
@@ -39576,27 +40241,6 @@
/obj/item/radio/intercom/command/directional/west,
/turf/open/floor/catwalk_floor/iron_dark,
/area/station/command/corporate_dock)
-"nZw" = (
-/obj/effect/turf_decal/siding/thinplating_new{
- dir = 5
- },
-/turf/open/floor/glass/reinforced,
-/area/station/engineering/atmos/upper)
-"nZH" = (
-/obj/effect/spawner/structure/window/hollow/directional{
- dir = 1
- },
-/turf/open/floor/plating,
-/area/station/engineering/atmos/storage/gas)
-"nZI" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/yellow{
- dir = 1
- },
-/turf/open/floor/iron/dark/corner{
- dir = 8
- },
-/area/station/engineering/atmos/storage/gas)
"nZW" = (
/obj/structure/barricade/wooden,
/obj/machinery/atmospherics/components/binary/pump/on/green/visible{
@@ -39617,6 +40261,16 @@
/obj/machinery/digital_clock/directional/south,
/turf/open/floor/iron/dark/textured,
/area/station/science/robotics/lab)
+"oae" = (
+/obj/item/instrument/musicalmoth,
+/obj/effect/spawner/random/entertainment/musical_instrument,
+/obj/item/flashlight/flare/candle{
+ pixel_x = -9;
+ pixel_y = 12
+ },
+/obj/effect/decal/cleanable/blood/old,
+/turf/open/floor/plating,
+/area/station/engineering/supermatter/room)
"oag" = (
/obj/structure/table,
/obj/item/paper_bin{
@@ -39729,6 +40383,16 @@
/obj/effect/spawner/random/structure/girder,
/turf/open/floor/plating,
/area/station/maintenance/department/science)
+"ocg" = (
+/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
+/obj/effect/mapping_helpers/airlock/unres,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/airlock/maintenance_hatch,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/maintenance/department/engine)
"ocl" = (
/obj/structure/rack,
/obj/effect/spawner/random/armory/e_gun,
@@ -39967,6 +40631,14 @@
"ohk" = (
/turf/open/misc/asteroid,
/area/station/maintenance/disposal/incinerator)
+"ohs" = (
+/obj/effect/turf_decal/sand/plating,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/obj/effect/landmark/generic_maintenance_landmark,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical)
"ohu" = (
/obj/effect/mapping_helpers/broken_floor,
/obj/structure/table,
@@ -40201,6 +40873,13 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"omk" = (
+/obj/effect/turf_decal/tile/yellow,
+/obj/structure/sign/poster/official/random/directional/east,
+/turf/open/floor/iron/checker{
+ dir = 1
+ },
+/area/station/engineering/atmos)
"omv" = (
/obj/structure/rack,
/obj/effect/spawner/random/clothing/backpack,
@@ -40293,10 +40972,6 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"oow" = (
-/obj/effect/decal/cleanable/blood/old,
-/turf/open/floor/plating,
-/area/station/engineering/lobby)
"ooy" = (
/obj/machinery/rnd/production/circuit_imprinter/department/science,
/obj/machinery/newscaster/directional/south,
@@ -40312,15 +40987,6 @@
},
/turf/open/floor/iron,
/area/station/commons/locker)
-"opq" = (
-/obj/effect/turf_decal/tile/yellow{
- dir = 8
- },
-/obj/effect/turf_decal/bot{
- dir = 1
- },
-/turf/open/floor/iron/dark/corner,
-/area/station/engineering/atmos/upper)
"opG" = (
/obj/effect/turf_decal/tile/yellow{
dir = 4
@@ -40541,18 +41207,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/lobby)
-"ost" = (
-/obj/effect/turf_decal/tile/yellow/opposingcorners{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
- dir = 6
- },
-/obj/machinery/airalarm/directional/west,
-/turf/open/floor/iron/dark/corner{
- dir = 1
- },
-/area/station/engineering/atmos/upper)
"osK" = (
/obj/machinery/light/cold/dim/directional/west,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -40587,6 +41241,12 @@
/obj/structure/cable,
/turf/open/floor/iron/white,
/area/station/science/ordnance/storage)
+"otP" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"otY" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/spawner/random/structure/closet_empty/crate,
@@ -40628,23 +41288,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/carpet/red,
/area/station/command/heads_quarters/hos)
-"ouG" = (
-/obj/effect/turf_decal/tile/yellow{
- dir = 1
- },
-/obj/structure/railing/corner{
- dir = 4
- },
-/obj/structure/cable/multilayer/connected,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/turf/open/floor/iron/checker{
- dir = 1
- },
-/area/station/engineering/atmos/upper)
"ouH" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/power/apc/auto_name/directional/west,
@@ -40712,6 +41355,17 @@
/obj/structure/table/wood,
/turf/open/floor/carpet,
/area/station/service/theater)
+"owf" = (
+/obj/machinery/door/airlock/atmos{
+ name = "Incinerator"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/project)
"owj" = (
/obj/structure/weightmachine,
/obj/structure/window/spawner/directional/west,
@@ -40863,6 +41517,14 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/security/office)
+"ozf" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/machinery/light/dim/directional/south,
+/obj/item/kirbyplants/random,
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/upper)
"ozr" = (
/obj/effect/turf_decal/box/corners{
dir = 4
@@ -40887,29 +41549,6 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/iron/dark,
/area/station/security/lockers)
-"oAc" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/engineering/main)
-"oAn" = (
-/obj/machinery/door/airlock/engineering{
- name = "Engine Room"
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/general,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 8
- },
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/main)
"oAo" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/decal/cleanable/dirt/dust,
@@ -40918,6 +41557,13 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/department/bridge)
+"oAp" = (
+/obj/machinery/door/airlock/maintenance_hatch,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden,
+/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
+/turf/open/floor/catwalk_floor,
+/area/station/maintenance/port/greater)
"oAs" = (
/obj/structure/lattice/catwalk,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
@@ -41155,6 +41801,16 @@
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/hallway/secondary/entry)
+"oEu" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/corner{
+ dir = 8
+ },
+/area/station/engineering/atmos)
"oEy" = (
/obj/structure/sink/directional/west,
/obj/structure/mirror/directional/east,
@@ -41224,6 +41880,9 @@
},
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
+"oFp" = (
+/turf/open/floor/glass/reinforced,
+/area/station/engineering/atmos/mix)
"oFu" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -41313,6 +41972,25 @@
/obj/effect/spawner/structure/window,
/turf/open/floor/plating,
/area/station/commons/lounge)
+"oHc" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/machinery/meter,
+/obj/machinery/firealarm/directional/west,
+/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
+ dir = 6
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/mix)
"oHd" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/structure/cable/layer3,
@@ -41338,13 +42016,6 @@
},
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
-"oHA" = (
-/obj/effect/turf_decal/trimline/yellow/filled/line{
- dir = 8
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron,
-/area/station/engineering/main)
"oHC" = (
/obj/machinery/light/small/dim/directional/west,
/obj/effect/mapping_helpers/broken_floor,
@@ -41399,6 +42070,11 @@
/obj/machinery/light/cold/dim/directional/west,
/turf/open/floor/iron/dark,
/area/station/command/bridge)
+"oIW" = (
+/obj/effect/turf_decal/sand/plating,
+/obj/structure/fence,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical)
"oJt" = (
/obj/structure/lattice,
/obj/structure/disposaloutlet{
@@ -41452,6 +42128,12 @@
/obj/effect/spawner/random/structure/crate,
/turf/open/floor/plating,
/area/station/maintenance/department/medical)
+"oJP" = (
+/obj/machinery/door/firedoor/border_only{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos/upper)
"oJQ" = (
/obj/item/food/grown/poppy,
/obj/structure/table/wood,
@@ -41538,6 +42220,14 @@
},
/turf/open/floor/iron/dark/airless,
/area/station/science/ordnance)
+"oLx" = (
+/obj/effect/turf_decal/siding/white{
+ dir = 10
+ },
+/obj/machinery/portable_atmospherics/canister/anesthetic_mix,
+/obj/machinery/light_switch/directional/east,
+/turf/open/floor/iron/kitchen_coldroom,
+/area/station/medical/coldroom)
"oLy" = (
/obj/effect/turf_decal/trimline/blue/filled/line,
/obj/machinery/duct,
@@ -41616,6 +42306,10 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/white/smooth_large,
/area/station/science/explab)
+"oNj" = (
+/obj/effect/turf_decal/trimline/yellow/filled/corner,
+/turf/open/floor/iron,
+/area/station/engineering/main)
"oNo" = (
/obj/machinery/camera/autoname/directional/west,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
@@ -41920,6 +42614,15 @@
"oSk" = (
/turf/closed/wall/rock/porous,
/area/station/maintenance/central/greater)
+"oSv" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/turf/open/floor/iron,
+/area/station/engineering/lobby)
"oSB" = (
/obj/effect/turf_decal/tile/red/half/contrasted{
dir = 1
@@ -41958,10 +42661,6 @@
},
/turf/open/floor/iron/cafeteria,
/area/station/commons/locker)
-"oTe" = (
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/station/maintenance/central/greater)
"oTv" = (
/obj/effect/spawner/structure/window/reinforced/plasma,
/turf/open/floor/plating,
@@ -41983,15 +42682,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/white,
/area/station/science/lobby)
-"oUb" = (
-/obj/machinery/door/airlock/engineering/glass{
- name = "Supermatter Engine Room"
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/general,
-/obj/structure/cable,
-/obj/machinery/door/firedoor,
-/turf/open/floor/engine,
-/area/station/engineering/supermatter/room)
"oUd" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -42266,6 +42956,11 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/station/hallway/primary/starboard)
+"oXJ" = (
+/obj/structure/railing/corner,
+/obj/effect/turf_decal/trimline/yellow/filled/corner,
+/turf/open/floor/iron,
+/area/station/engineering/main)
"oXW" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 8
@@ -42321,22 +43016,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/command/nuke_storage)
-"oYM" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
- dir = 6
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
-"oYX" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"oZb" = (
/obj/machinery/light/dim/directional/south,
/obj/structure/disposalpipe/segment{
@@ -42418,14 +43097,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"pah" = (
-/obj/machinery/light/directional/south,
-/obj/effect/turf_decal/trimline/yellow/filled/line,
-/obj/structure/disposalpipe/trunk/multiz/down{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/main)
"pat" = (
/obj/effect/turf_decal/siding/red{
dir = 8
@@ -42462,6 +43133,27 @@
},
/turf/open/floor/iron,
/area/station/maintenance/department/medical/central)
+"pbe" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/engineering/main)
+"pbk" = (
+/obj/machinery/atmospherics/pipe/smart/manifold/green/visible{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/mix)
"pbn" = (
/obj/effect/turf_decal/trimline/green/filled/line{
dir = 10
@@ -42525,10 +43217,29 @@
},
/turf/open/floor/iron/dark/textured_large,
/area/station/engineering/storage/tech)
+"pcm" = (
+/obj/structure/ladder,
+/obj/effect/turf_decal/sand/plating,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical)
"pco" = (
/obj/machinery/biogenerator,
/turf/closed/wall,
/area/station/service/hydroponics)
+"pcw" = (
+/obj/machinery/door/airlock/atmos/glass{
+ name = "Atmospherics"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
+/obj/structure/cable,
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/tile/yellow/opposingcorners{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"pcN" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -42632,13 +43343,6 @@
/obj/structure/chair/sofa/bench/tram/solo,
/turf/open/floor/iron/white,
/area/station/medical/medbay/lobby)
-"peW" = (
-/obj/machinery/light/directional/south,
-/obj/effect/turf_decal/tile/yellow{
- dir = 8
- },
-/turf/open/floor/iron/dark/corner,
-/area/station/engineering/atmos/upper)
"pfg" = (
/obj/structure/barricade/wooden,
/turf/open/misc/asteroid,
@@ -42801,6 +43505,15 @@
/obj/item/radio/intercom/directional/east,
/turf/open/floor/iron,
/area/station/cargo/storage)
+"pie" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/airalarm/directional/west,
+/obj/structure/cable,
+/turf/open/floor/iron/checker,
+/area/station/engineering/atmos/mix)
"pih" = (
/obj/machinery/power/solar{
id = "forestarboard";
@@ -42825,12 +43538,6 @@
/obj/structure/table/reinforced,
/turf/open/floor/iron,
/area/station/cargo/storage)
-"piu" = (
-/obj/effect/turf_decal/trimline/yellow/filled/line{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/lobby)
"piE" = (
/obj/structure/ladder,
/turf/open/floor/plating,
@@ -42887,6 +43594,9 @@
/obj/structure/disposalpipe/trunk,
/turf/open/floor/wood,
/area/station/command/heads_quarters/qm)
+"pjz" = (
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/project)
"pjE" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 1
@@ -42911,22 +43621,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/space/basic,
/area/space/nearstation)
-"pjY" = (
-/obj/machinery/button/door/directional/west{
- id = "atmos";
- name = "Atmospherics Lockdown";
- req_access = list("atmospherics")
- },
-/obj/machinery/light_switch/directional/west{
- pixel_x = -35
- },
-/obj/effect/turf_decal/tile/yellow{
- dir = 4
- },
-/turf/open/floor/iron/dark/corner{
- dir = 1
- },
-/area/station/engineering/atmos/storage/gas)
"pkl" = (
/turf/closed/wall,
/area/station/maintenance/solars/starboard/fore)
@@ -43021,6 +43715,16 @@
},
/turf/open/floor/iron/white/textured_large,
/area/station/science/research)
+"plD" = (
+/obj/effect/turf_decal/siding/white{
+ dir = 1
+ },
+/obj/structure/rack,
+/obj/item/wrench/medical,
+/obj/item/food/strawberryicecreamsandwich,
+/obj/machinery/light/dim/directional/south,
+/turf/open/floor/iron/kitchen_coldroom,
+/area/station/medical/coldroom)
"plH" = (
/obj/machinery/button/door/directional/west{
id = "cmoshower";
@@ -43081,6 +43785,13 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/hop)
+"pmM" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/machinery/airalarm/directional/east,
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/project)
"pmT" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/decal/cleanable/dirt/dust,
@@ -43099,6 +43810,17 @@
/obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2,
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
+"pnJ" = (
+/obj/structure/cable,
+/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/atmos/glass{
+ name = "Atmospherics Project Room"
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/project)
"pnK" = (
/obj/machinery/atmospherics/pipe/multiz/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2,
@@ -43229,6 +43951,12 @@
},
/turf/open/floor/iron/kitchen,
/area/station/service/kitchen)
+"ppy" = (
+/obj/effect/turf_decal/tile/yellow,
+/turf/open/floor/iron/checker{
+ dir = 1
+ },
+/area/station/engineering/atmos)
"ppz" = (
/obj/effect/turf_decal/tile/red/diagonal_edge,
/obj/structure/disposalpipe/segment{
@@ -43254,6 +43982,13 @@
dir = 1
},
/area/station/engineering/atmos/pumproom)
+"ppY" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/engineering/main)
"pql" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/hidden,
/obj/effect/mapping_helpers/airlock/locked,
@@ -43415,6 +44150,15 @@
},
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
+"psN" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/project)
"psQ" = (
/obj/effect/mapping_helpers/broken_floor,
/obj/effect/decal/cleanable/dirt/dust,
@@ -43479,12 +44223,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark,
/area/station/service/chapel/funeral)
-"ptX" = (
-/obj/effect/turf_decal/tile/dark_blue/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/command/bridge)
"pui" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/effect/turf_decal/bot_white,
@@ -43564,13 +44302,16 @@
dir = 1
},
/area/station/science/research)
-"pve" = (
-/obj/effect/turf_decal/trimline/yellow/filled/line{
+"pvh" = (
+/obj/effect/turf_decal/tile/dark_blue/half/contrasted{
dir = 8
},
-/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/obj/structure/railing,
/turf/open/floor/iron,
-/area/station/engineering/lobby)
+/area/station/hallway/secondary/command)
"pvo" = (
/obj/machinery/firealarm/directional/north,
/obj/structure/table,
@@ -43584,27 +44325,6 @@
},
/turf/open/floor/iron/white,
/area/station/science/auxlab/firing_range)
-"pvp" = (
-/obj/effect/turf_decal/siding/wood{
- dir = 8
- },
-/obj/machinery/button/door/directional/south{
- id = "capshut";
- name = "shutter control";
- pixel_x = -8
- },
-/obj/machinery/fax{
- fax_name = "Captain's Office";
- name = "Captain's Fax Machine"
- },
-/obj/structure/table/reinforced,
-/obj/machinery/keycard_auth/wall_mounted/directional/south{
- pixel_x = 8;
- pixel_y = -24
- },
-/obj/machinery/status_display/ai/directional/east,
-/turf/open/floor/carpet/royalblue,
-/area/station/command/heads_quarters/captain/private)
"pvy" = (
/obj/structure/window/spawner/directional/north,
/turf/open/floor/iron/dark,
@@ -43613,6 +44333,15 @@
/obj/machinery/telecomms/server/presets/science,
/turf/open/floor/circuit/green/telecomms/mainframe,
/area/station/tcommsat/server)
+"pvK" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/green/visible,
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/mix)
"pvT" = (
/obj/structure/flora/rock/style_random,
/turf/open/misc/asteroid/airless,
@@ -43650,6 +44379,12 @@
/obj/effect/turf_decal/tile/blue/fourcorners,
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
+"pwo" = (
+/obj/machinery/portable_atmospherics/canister/nitrogen,
+/obj/structure/extinguisher_cabinet/directional/north,
+/obj/effect/turf_decal/box,
+/turf/open/floor/iron/dark/textured,
+/area/station/engineering/atmos/mix)
"pwt" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/structure/broken_flooring/pile{
@@ -43704,6 +44439,13 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/iron,
/area/station/commons/vacant_room/commissary)
+"pxl" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/suit_storage_unit/atmos,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos)
"pxo" = (
/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/nitrogen_output{
dir = 8
@@ -44210,21 +44952,12 @@
},
/turf/open/misc/asteroid/airless,
/area/station/asteroid)
-"pFF" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/iron,
-/area/station/engineering/main)
"pFP" = (
/obj/structure/chair/office,
/obj/effect/landmark/start/lawyer,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/carpet,
/area/station/service/lawoffice)
-"pFZ" = (
-/turf/open/floor/plating,
-/area/station/engineering/main)
"pGf" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -44594,14 +45327,6 @@
dir = 1
},
/area/station/service/chapel)
-"pMV" = (
-/obj/machinery/power/apc/auto_name/directional/west,
-/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on/coldroom{
- dir = 1
- },
-/obj/structure/cable,
-/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
-/area/station/service/kitchen/coldroom)
"pNa" = (
/obj/machinery/door/window/left/directional/east,
/turf/open/floor/grass,
@@ -44813,24 +45538,6 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/security/warden)
-"pRm" = (
-/obj/structure/cable/layer3,
-/obj/machinery/button/elevator/directional/south{
- id = "aisat";
- pixel_x = 8;
- pixel_y = -25
- },
-/obj/machinery/lift_indicator/directional/south{
- linked_elevator_id = "aisat";
- pixel_x = -6;
- pixel_y = -40
- },
-/obj/machinery/camera/autoname/directional/south{
- network = list("aicore")
- },
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/catwalk_floor/iron_dark,
-/area/station/ai_monitored/turret_protected/ai)
"pRq" = (
/obj/effect/turf_decal/trimline/yellow/arrow_cw{
dir = 9
@@ -44901,13 +45608,6 @@
/obj/machinery/airalarm/directional/east,
/turf/open/floor/wood,
/area/station/service/lawoffice)
-"pSH" = (
-/obj/machinery/atmospherics/components/unary/outlet_injector/on{
- dir = 4
- },
-/obj/machinery/door/window/brigdoor/right/directional/east,
-/turf/open/floor/engine/airless,
-/area/station/engineering/atmos)
"pSK" = (
/obj/machinery/door/airlock/external{
name = "Departure Lounge Airlock";
@@ -44941,14 +45641,6 @@
},
/turf/open/floor/plating/airless,
/area/station/maintenance/department/science)
-"pSV" = (
-/obj/effect/turf_decal/sand/plating,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/door/airlock/maintenance,
-/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
-/obj/effect/mapping_helpers/airlock/welded,
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical)
"pTn" = (
/obj/structure/kitchenspike,
/obj/machinery/light/directional/west,
@@ -45008,6 +45700,21 @@
/obj/machinery/light/small/directional/south,
/turf/open/floor/plating,
/area/station/maintenance/disposal)
+"pTW" = (
+/obj/machinery/door/airlock/medical{
+ name = "Medical Cold Room"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/medical/surgery,
+/obj/effect/turf_decal/siding/white,
+/obj/structure/cable,
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/tile/blue/fourcorners,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/duct,
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/iron/white,
+/area/station/medical/coldroom)
"pTZ" = (
/obj/effect/turf_decal/tile/brown/half/contrasted{
dir = 4
@@ -45065,6 +45772,15 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/iron/dark,
/area/station/hallway/secondary/exit/departure_lounge)
+"pUI" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos)
"pUJ" = (
/obj/machinery/light/warm/directional/north,
/obj/effect/landmark/event_spawn,
@@ -45511,10 +46227,6 @@
/obj/machinery/camera/autoname/directional/west,
/turf/open/floor/iron/dark,
/area/station/security/lockers)
-"qcU" = (
-/obj/structure/flora/rock/pile/style_random,
-/turf/open/misc/asteroid,
-/area/station/maintenance/department/medical)
"qdc" = (
/obj/effect/turf_decal/siding/wood{
dir = 4
@@ -45548,6 +46260,26 @@
},
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
+"qdE" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/table,
+/obj/machinery/firealarm/directional/west,
+/obj/item/analyzer{
+ pixel_x = -4;
+ pixel_y = 8
+ },
+/obj/item/analyzer{
+ pixel_x = -4;
+ pixel_y = 1
+ },
+/obj/item/wrench{
+ pixel_x = 6;
+ pixel_y = 15
+ },
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos)
"qdR" = (
/obj/structure/table/wood,
/obj/item/flashlight/flare/candle{
@@ -45661,6 +46393,15 @@
/obj/item/flashlight/lamp,
/turf/open/floor/carpet/red,
/area/station/command/heads_quarters/qm)
+"qfU" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/thermomachine/freezer{
+ dir = 1
+ },
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/mix)
"qgd" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/dark_blue,
@@ -45791,6 +46532,10 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/circuit/green,
/area/station/ai_monitored/command/nuke_storage)
+"qib" = (
+/obj/effect/spawner/structure/window/reinforced,
+/turf/open/floor/plating,
+/area/station/maintenance/central/greater)
"qic" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -45882,6 +46627,15 @@
},
/turf/open/floor/plating,
/area/station/maintenance/solars/port/fore)
+"qje" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow,
+/turf/open/floor/iron/dark/corner{
+ dir = 4
+ },
+/area/station/engineering/atmos)
"qjk" = (
/obj/structure/broken_flooring/singular/directional/south,
/turf/open/space/openspace,
@@ -46058,14 +46812,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/commons/storage/primary)
-"qmJ" = (
-/obj/machinery/airalarm/directional/north,
-/obj/structure/sign/poster/greenscreen/directional/west,
-/obj/effect/turf_decal/siding/wood{
- dir = 4
- },
-/turf/open/floor/carpet/royalblue,
-/area/station/command/heads_quarters/captain/private)
"qmU" = (
/obj/item/radio/intercom/command/directional/west,
/turf/open/floor/glass,
@@ -46112,6 +46858,14 @@
},
/turf/open/floor/iron/white/smooth_half,
/area/station/science/robotics/lab)
+"qnX" = (
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on/coldroom{
+ dir = 1
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+/area/station/service/kitchen/coldroom)
"qob" = (
/obj/structure/table,
/obj/item/stock_parts/micro_laser{
@@ -46257,6 +47011,12 @@
},
/turf/open/floor/iron/half,
/area/station/security/breakroom)
+"qqw" = (
+/obj/effect/turf_decal/stripes{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmospherics_engine)
"qqy" = (
/obj/structure/rack,
/obj/effect/spawner/random/techstorage/tcomms_all,
@@ -46412,6 +47172,22 @@
},
/turf/open/floor/iron/freezer,
/area/station/commons/toilet/restrooms)
+"qsB" = (
+/obj/machinery/firealarm/directional/south,
+/obj/structure/closet{
+ anchored = 1;
+ name = "Cold protection gear"
+ },
+/obj/item/clothing/shoes/winterboots,
+/obj/item/clothing/shoes/winterboots,
+/obj/item/clothing/shoes/winterboots,
+/obj/item/clothing/suit/hooded/wintercoat/science,
+/obj/item/clothing/suit/hooded/wintercoat/science,
+/obj/item/clothing/suit/hooded/wintercoat/science,
+/turf/open/floor/iron/white/smooth_corner{
+ dir = 1
+ },
+/area/station/science/xenobiology)
"qsI" = (
/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 4
@@ -46562,17 +47338,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/engineering/supermatter/room)
-"qwd" = (
-/obj/structure/table/wood,
-/obj/item/storage/medkit{
- pixel_x = -10
- },
-/obj/item/toy/figure/ian{
- pixel_x = 5;
- pixel_y = 12
- },
-/turf/open/floor/carpet/executive,
-/area/station/command/meeting_room)
"qwu" = (
/obj/structure/disposalpipe/segment{
dir = 10
@@ -46613,18 +47378,6 @@
/obj/structure/cable,
/turf/open/floor/iron/kitchen,
/area/station/service/kitchen)
-"qxE" = (
-/obj/structure/frame/computer,
-/obj/item/shard,
-/obj/item/shard,
-/obj/effect/decal/cleanable/glass,
-/obj/effect/decal/cleanable/dirt/dust,
-/obj/effect/turf_decal/tile/green/half/contrasted{
- dir = 1
- },
-/obj/effect/mapping_helpers/broken_floor,
-/turf/open/floor/iron/white/textured,
-/area/station/medical/treatment_center)
"qxG" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -46655,6 +47408,10 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/security/processing)
+"qyd" = (
+/obj/effect/turf_decal/stripes/corner,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmospherics_engine)
"qyg" = (
/obj/structure/railing{
dir = 5
@@ -47081,15 +47838,6 @@
},
/turf/open/floor/catwalk_floor/iron_dark/telecomms,
/area/station/ai_monitored/turret_protected/ai)
-"qHl" = (
-/obj/effect/turf_decal/tile/yellow/opposingcorners{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/iron/dark/corner,
-/area/station/engineering/atmos/upper)
"qHp" = (
/obj/effect/turf_decal/trimline/yellow/filled/line{
dir = 6
@@ -47182,6 +47930,20 @@
/obj/machinery/light/cold/dim/directional/south,
/turf/open/floor/iron/dark/textured,
/area/station/command/heads_quarters/cmo)
+"qJp" = (
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/upper)
"qJs" = (
/obj/structure/cable,
/obj/structure/railing{
@@ -47300,6 +48062,15 @@
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/station/security/lockers)
+"qLt" = (
+/obj/machinery/door/airlock/atmos{
+ name = "Incinerator"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
+/obj/machinery/door/firedoor,
+/obj/structure/cable,
+/turf/open/floor/iron/dark,
+/area/station/maintenance/disposal/incinerator)
"qMd" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/obj/effect/landmark/start/bartender,
@@ -47312,10 +48083,6 @@
/obj/structure/bodycontainer/morgue,
/turf/open/floor/iron/dark/textured,
/area/station/medical/morgue)
-"qMw" = (
-/obj/structure/chair/plastic,
-/turf/open/floor/plating,
-/area/station/engineering/main)
"qMA" = (
/obj/machinery/door/airlock/maintenance_hatch,
/obj/effect/mapping_helpers/airlock/access/all/supply/general,
@@ -47348,24 +48115,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"qMX" = (
-/obj/structure/railing{
- dir = 1
- },
-/obj/effect/turf_decal/tile/yellow{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/door/firedoor/border_only{
- dir = 1
- },
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
-/turf/open/floor/iron/dark/corner{
- dir = 4
- },
-/area/station/engineering/atmos/upper)
"qNo" = (
/turf/open/floor/circuit/green,
/area/station/ai_monitored/command/nuke_storage)
@@ -47391,6 +48140,22 @@
/obj/machinery/portable_atmospherics/canister/carbon_dioxide,
/turf/open/floor/engine/co2,
/area/station/engineering/atmos)
+"qNO" = (
+/obj/machinery/button/door/directional/west{
+ id = "atmos";
+ name = "Atmospherics Lockdown";
+ req_access = list("atmospherics")
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/upper)
"qNS" = (
/obj/structure/bookcase/random/fiction,
/turf/open/floor/wood,
@@ -47448,6 +48213,17 @@
/obj/machinery/door/firedoor,
/turf/open/floor/iron/white,
/area/station/medical/chemistry/minisat)
+"qPl" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/duct,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden,
+/obj/structure/cable,
+/turf/open/floor/catwalk_floor/iron_white,
+/area/station/medical/treatment_center)
"qPp" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -47544,10 +48320,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/service/theater)
-"qQW" = (
-/obj/machinery/atmospherics/components/unary/portables_connector/visible,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"qRb" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/spawner/random/maintenance,
@@ -47652,6 +48424,10 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/cargo/storage)
+"qSM" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/mix)
"qTe" = (
/obj/structure/railing{
dir = 8
@@ -47947,6 +48723,16 @@
dir = 8
},
/area/station/ai_monitored/turret_protected/aisat/foyer)
+"qYc" = (
+/obj/effect/turf_decal/siding/wood{
+ dir = 8
+ },
+/obj/structure/closet/secure_closet/captains,
+/obj/machinery/firealarm/directional/north,
+/obj/item/storage/lockbox/medal,
+/obj/machinery/status_display/evac/directional/east,
+/turf/open/floor/carpet/royalblue,
+/area/station/command/heads_quarters/captain/private)
"qYe" = (
/obj/effect/turf_decal/trimline/green/filled/line{
dir = 4
@@ -48055,9 +48841,6 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/iron/white,
/area/station/medical/chemistry/minisat)
-"rat" = (
-/turf/open/floor/iron,
-/area/station/engineering/atmos/storage/gas)
"ray" = (
/obj/effect/turf_decal/stripes/corner{
dir = 8
@@ -48089,6 +48872,17 @@
/obj/item/restraints/handcuffs,
/turf/open/floor/iron/textured_large,
/area/station/command/bridge)
+"raD" = (
+/obj/effect/turf_decal/tile/yellow,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/corner{
+ dir = 8
+ },
+/area/station/engineering/atmos)
"raR" = (
/obj/effect/landmark/event_spawn,
/obj/structure/cable,
@@ -48120,6 +48914,13 @@
/obj/structure/cable,
/turf/open/misc/asteroid,
/area/station/science/research)
+"rbd" = (
+/obj/structure/stairs/west,
+/obj/structure/railing{
+ dir = 1
+ },
+/turf/open/floor/iron/dark/textured,
+/area/station/engineering/atmos)
"rbe" = (
/obj/effect/spawner/random/structure/grille{
spawn_loot_chance = 76
@@ -48150,17 +48951,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white,
/area/station/ai_monitored/turret_protected/ai_upload_foyer)
-"rbt" = (
-/obj/effect/mapping_helpers/airlock/access/all/service/kitchen,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/obj/machinery/door/airlock/freezer{
- name = "Freezer"
- },
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
-/area/station/service/kitchen/coldroom)
"rbw" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden,
@@ -48184,6 +48974,12 @@
dir = 8
},
/area/station/hallway/secondary/exit/departure_lounge)
+"rbU" = (
+/obj/effect/landmark/navigate_destination,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"rce" = (
/obj/structure/table/wood,
/obj/item/flashlight/lamp/green{
@@ -48268,6 +49064,14 @@
},
/turf/open/floor/iron/dark,
/area/station/science/ordnance)
+"rdf" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/machinery/camera/autoname/directional/south,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/mix)
"rdm" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -48422,14 +49226,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/service/hydroponics)
-"rfd" = (
-/obj/machinery/door/airlock/maintenance_hatch,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/mapping_helpers/airlock/access/any/engineering/general,
-/turf/open/floor/plating,
-/area/station/maintenance/department/engine)
"rfi" = (
/obj/effect/turf_decal/stripes/line{
dir = 6
@@ -48493,6 +49289,10 @@
},
/turf/open/floor/iron,
/area/station/engineering/storage)
+"rgK" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/mix)
"rgT" = (
/obj/machinery/seed_extractor,
/obj/effect/turf_decal/tile/blue,
@@ -48552,10 +49352,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/wood,
/area/station/maintenance/port/greater)
-"rhB" = (
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/station/engineering/atmos/storage/gas)
"rhK" = (
/obj/effect/turf_decal/trimline/yellow/filled/line{
dir = 10
@@ -48769,15 +49565,6 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/iron,
/area/station/security/brig/entrance)
-"rjO" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/greenscreen_camera{
- dir = 8;
- pixel_y = 6;
- pixel_x = -4
- },
-/turf/open/floor/carpet/executive,
-/area/station/command/heads_quarters/captain/private)
"rjX" = (
/turf/closed/wall,
/area/station/security/courtroom)
@@ -48826,6 +49613,11 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/security/evidence)
+"rkv" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/misc/asteroid,
+/area/station/maintenance/department/medical)
"rkw" = (
/obj/structure/chair/office{
dir = 1
@@ -48925,17 +49717,6 @@
"rlw" = (
/turf/closed/wall,
/area/station/science/xenobiology/hallway)
-"rlH" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos/upper)
-"rlU" = (
-/obj/structure/railing/corner,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/upper)
"rmi" = (
/obj/structure/table,
/obj/effect/turf_decal/stripes/line,
@@ -48995,6 +49776,12 @@
"rnk" = (
/turf/closed/wall,
/area/station/maintenance/department/medical/central)
+"rnp" = (
+/obj/machinery/light/small/directional/west,
+/obj/machinery/portable_atmospherics/canister,
+/obj/effect/turf_decal/box,
+/turf/open/floor/iron/dark/textured,
+/area/station/engineering/atmos)
"rnB" = (
/obj/machinery/firealarm/directional/south,
/obj/effect/turf_decal/tile/neutral{
@@ -49018,27 +49805,12 @@
/obj/effect/turf_decal/box,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/turret_protected/aisat/foyer)
-"roc" = (
-/obj/effect/turf_decal/trimline/yellow/filled/line{
- dir = 1
- },
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/engineering/main)
"rox" = (
/obj/machinery/atmospherics/components/binary/pump{
name = "Pure to Port"
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"roB" = (
-/obj/machinery/door/airlock/maintenance_hatch,
-/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
-/obj/effect/mapping_helpers/airlock/unres{
- dir = 1
- },
-/turf/open/floor/plating,
-/area/station/maintenance/central/greater)
"roG" = (
/obj/effect/turf_decal/tile/red/half/contrasted,
/obj/structure/cable,
@@ -49191,6 +49963,15 @@
},
/turf/open/floor/wood/parquet,
/area/station/service/theater)
+"rre" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/mix)
"rri" = (
/turf/open/openspace,
/area/station/security/prison/garden)
@@ -49206,15 +49987,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white,
/area/station/science/lab)
-"rry" = (
-/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/directional/east,
-/obj/machinery/door/firedoor/border_only{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/upper)
"rrz" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
@@ -49226,6 +49998,14 @@
/obj/effect/landmark/start/prisoner,
/turf/open/floor/plating,
/area/station/security/prison/work)
+"rrO" = (
+/obj/machinery/airalarm/directional/north,
+/obj/structure/sign/poster/greenscreen/directional/west,
+/obj/effect/turf_decal/siding/wood{
+ dir = 4
+ },
+/turf/open/floor/carpet/royalblue,
+/area/station/command/heads_quarters/captain/private)
"rrR" = (
/obj/machinery/mass_driver/trash{
dir = 8
@@ -49237,12 +50017,6 @@
/obj/machinery/airalarm/directional/north,
/turf/open/floor/engine,
/area/station/science/explab)
-"rsd" = (
-/obj/effect/turf_decal/siding/thinplating_new{
- dir = 6
- },
-/turf/open/floor/glass/reinforced,
-/area/station/engineering/atmos/upper)
"rsk" = (
/obj/effect/turf_decal/siding/wood{
dir = 1
@@ -49422,13 +50196,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white,
/area/station/science/lobby)
-"rvo" = (
-/obj/machinery/light/small/dim/directional/west,
-/obj/effect/turf_decal/tile/green/half/contrasted{
- dir = 8
- },
-/turf/open/floor/iron/white/textured,
-/area/station/medical/treatment_center)
"rwf" = (
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
@@ -49486,6 +50253,12 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"rwS" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"rwU" = (
/obj/structure/sign/painting/large/library{
dir = 4
@@ -49559,12 +50332,6 @@
/obj/machinery/modular_computer/preset/command,
/turf/open/floor/carpet/red,
/area/station/command/heads_quarters/qm)
-"rxU" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos/storage/gas)
"rxW" = (
/obj/structure/railing/corner{
dir = 1
@@ -49761,25 +50528,6 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/station/maintenance/department/cargo)
-"rAW" = (
-/obj/structure/window/reinforced/plasma/spawner/directional/east,
-/obj/machinery/electrolyzer{
- anchored = 1
- },
-/obj/machinery/light/small/directional/west,
-/turf/open/floor/engine/airless,
-/area/station/engineering/atmos)
-"rAZ" = (
-/obj/effect/turf_decal/tile/yellow{
- dir = 4
- },
-/obj/machinery/atmospherics/components/binary/pump{
- dir = 8
- },
-/turf/open/floor/iron/dark/corner{
- dir = 1
- },
-/area/station/engineering/atmos/upper)
"rBb" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -49887,17 +50635,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
-"rCD" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/duct,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden,
-/obj/effect/turf_decal/tile/blue/fourcorners,
-/turf/open/floor/catwalk_floor/iron_white,
-/area/station/medical/treatment_center)
"rCL" = (
/obj/effect/turf_decal/stripes/line{
dir = 9
@@ -49920,18 +50657,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/plating,
/area/station/maintenance/central/lesser)
-"rCT" = (
-/obj/structure/lattice/catwalk,
-/obj/structure/railing{
- dir = 4
- },
-/obj/structure/cable/layer3,
-/obj/machinery/door/firedoor/border_only{
- dir = 4
- },
-/obj/machinery/camera/autoname/directional/west,
-/turf/open/openspace,
-/area/station/engineering/atmos)
"rCW" = (
/obj/structure/table,
/obj/item/paper_bin{
@@ -50006,6 +50731,10 @@
},
/turf/open/floor/carpet/red,
/area/station/command/heads_quarters/qm)
+"rDH" = (
+/obj/effect/spawner/structure/window,
+/turf/open/floor/plating,
+/area/station/engineering/atmos/mix)
"rDI" = (
/obj/structure/closet/secure_closet/engineering_personal,
/obj/effect/turf_decal/trimline/yellow/filled/line{
@@ -50257,18 +50986,21 @@
},
/turf/open/floor/iron,
/area/station/security/office)
-"rIH" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/obj/machinery/duct,
-/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
-/area/station/medical/coldroom)
"rIJ" = (
/obj/machinery/light/small/directional/south,
/turf/open/floor/catwalk_floor/iron_white,
/area/station/science/ordnance/testlab)
+"rIZ" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/structure/table,
+/obj/effect/spawner/random/food_or_drink/refreshing_beverage{
+ pixel_x = 5;
+ pixel_y = 9
+ },
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/upper)
"rJb" = (
/obj/machinery/power/smes/engineering,
/obj/structure/cable,
@@ -50297,11 +51029,6 @@
},
/turf/open/floor/iron,
/area/station/engineering/main)
-"rJy" = (
-/obj/machinery/portable_atmospherics/canister/air,
-/obj/effect/turf_decal/bot,
-/turf/open/floor/iron/large,
-/area/station/engineering/atmos/storage/gas)
"rJz" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/engine,
@@ -50382,6 +51109,17 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/carpet/red,
/area/station/command/heads_quarters/qm)
+"rLm" = (
+/obj/effect/turf_decal/sand/plating,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical)
+"rLp" = (
+/obj/machinery/portable_atmospherics/canister,
+/obj/effect/turf_decal/bot,
+/obj/machinery/light_switch/directional/west,
+/obj/structure/cable,
+/turf/open/floor/iron/large,
+/area/station/engineering/atmos/mix)
"rLw" = (
/obj/structure/cable/multilayer/multiz,
/turf/open/floor/plating,
@@ -50461,9 +51199,36 @@
},
/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
/area/station/service/kitchen/coldroom)
-"rNJ" = (
-/turf/open/misc/asteroid,
-/area/station/maintenance/department/medical)
+"rNV" = (
+/obj/structure/table,
+/obj/item/grenade/chem_grenade/smart_metal_foam{
+ pixel_x = -4;
+ pixel_y = 6
+ },
+/obj/item/grenade/chem_grenade/smart_metal_foam{
+ pixel_y = 4
+ },
+/obj/item/grenade/chem_grenade/smart_metal_foam{
+ pixel_x = 4;
+ pixel_y = 2
+ },
+/obj/item/grenade/chem_grenade/smart_metal_foam{
+ pixel_x = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos)
+"rNZ" = (
+/obj/machinery/atmospherics/pipe/multiz/dark/visible/layer5{
+ name = "Port To Turbine"
+ },
+/obj/effect/turf_decal/delivery,
+/obj/machinery/camera/autoname/directional/west,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/maintenance/disposal/incinerator)
"rOq" = (
/obj/structure/chair{
dir = 1
@@ -50577,11 +51342,17 @@
/obj/machinery/light/small/directional/north,
/turf/open/floor/iron,
/area/station/science/ordnance)
-"rQb" = (
-/obj/effect/turf_decal/siding/thinplating_new/end,
-/obj/effect/decal/cleanable/dirt/dust,
-/turf/open/floor/glass,
-/area/station/engineering/main)
+"rPZ" = (
+/obj/effect/turf_decal/tile/dark_blue/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/light_switch/directional/west,
+/obj/effect/turf_decal/arrows/red{
+ dir = 1
+ },
+/obj/effect/landmark/start/hangover,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/command)
"rQg" = (
/obj/structure/chair{
dir = 1
@@ -50928,6 +51699,12 @@
},
/turf/open/floor/iron,
/area/station/commons/vacant_room/commissary)
+"rVC" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos/project)
"rVD" = (
/obj/effect/turf_decal/tile/neutral,
/obj/structure/sign/directions/supply/directional/east{
@@ -51093,6 +51870,22 @@
},
/turf/open/floor/cult,
/area/station/service/chapel/office)
+"rXi" = (
+/obj/structure/table,
+/obj/item/clothing/head/utility/welding{
+ pixel_x = 6;
+ pixel_y = 10
+ },
+/obj/item/clothing/head/utility/welding{
+ pixel_y = 7
+ },
+/obj/item/clothing/head/utility/welding{
+ pixel_x = -5;
+ pixel_y = 3
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos)
"rXj" = (
/obj/structure/railing/corner{
dir = 1
@@ -51156,33 +51949,6 @@
/obj/effect/mapping_helpers/requests_console/information,
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/rd)
-"rXT" = (
-/obj/effect/mapping_helpers/airlock/access/all/science/general,
-/obj/machinery/door/airlock/maintenance_hatch,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/disposalpipe/segment{
- dir = 1
- },
-/turf/open/floor/plating,
-/area/station/maintenance/port/lesser)
-"rXU" = (
-/obj/structure/table,
-/obj/item/clothing/head/utility/welding{
- pixel_x = 6;
- pixel_y = 10
- },
-/obj/item/clothing/head/utility/welding{
- pixel_y = 7
- },
-/obj/item/clothing/head/utility/welding{
- pixel_x = -5;
- pixel_y = 3
- },
-/obj/effect/turf_decal/stripes/line,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos/storage/gas)
"rXZ" = (
/obj/effect/turf_decal/siding/wood{
dir = 9
@@ -51216,21 +51982,6 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating/airless,
/area/station/science/ordnance/bomb)
-"rYs" = (
-/obj/machinery/door/airlock/medical{
- name = "Medical Cold Room"
- },
-/obj/effect/mapping_helpers/airlock/access/all/medical/surgery,
-/obj/effect/turf_decal/siding/white,
-/obj/structure/cable,
-/obj/machinery/door/firedoor,
-/obj/effect/turf_decal/tile/blue/fourcorners,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/duct,
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/iron/white,
-/area/station/medical/coldroom)
"rYy" = (
/obj/machinery/door/firedoor/border_only{
dir = 8
@@ -51239,6 +51990,20 @@
dir = 8
},
/area/station/medical/storage)
+"rYI" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/bot{
+ dir = 1
+ },
+/turf/open/floor/iron/checker{
+ dir = 4
+ },
+/area/station/engineering/atmos/mix)
"rYJ" = (
/obj/structure/closet/emcloset/anchored,
/turf/open/floor/plating,
@@ -51334,11 +52099,6 @@
},
/turf/open/floor/iron/freezer,
/area/station/commons/toilet/restrooms)
-"rZX" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/upper)
"sab" = (
/obj/effect/landmark/start/research_director,
/turf/open/floor/glass/reinforced/plasma,
@@ -51476,28 +52236,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/engineering/gravity_generator)
-"scd" = (
-/obj/structure/cable,
-/obj/machinery/door/airlock/atmos/glass{
- name = "Atmospherics"
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
-/obj/machinery/door/poddoor/preopen{
- id = "atmos";
- name = "Atmospherics Blast Door"
- },
-/obj/machinery/door/firedoor,
-/obj/effect/turf_decal/tile/yellow/opposingcorners{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/landmark/navigate_destination/atmos,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/iron/checker,
-/area/station/engineering/atmos/storage/gas)
"scg" = (
/obj/effect/landmark/event_spawn,
/turf/open/floor/glass/reinforced,
@@ -51601,6 +52339,14 @@
/obj/structure/cable,
/turf/open/floor/iron/white,
/area/station/security/prison/mess)
+"seZ" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/upper)
"sfh" = (
/obj/structure/closet/secure_closet/security/sec,
/obj/effect/turf_decal/tile/red/half/contrasted{
@@ -51629,6 +52375,9 @@
},
/turf/open/floor/iron,
/area/station/security/office)
+"sfo" = (
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/upper)
"sfu" = (
/obj/effect/turf_decal/tile/brown/half/contrasted{
dir = 8
@@ -51693,11 +52442,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/commons/vacant_room/commissary)
-"sgw" = (
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"sgz" = (
/turf/closed/wall/r_wall,
/area/station/command/heads_quarters/hop)
@@ -51737,13 +52481,6 @@
},
/turf/open/floor/plating,
/area/station/cargo/boutique)
-"shb" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos/upper)
"shc" = (
/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden{
dir = 4
@@ -51961,6 +52698,16 @@
},
/turf/open/floor/iron,
/area/station/service/hydroponics)
+"skS" = (
+/obj/machinery/door/airlock/maintenance_hatch,
+/obj/effect/mapping_helpers/airlock/access/any/service/general,
+/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/mapping_helpers/airlock/unres{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/station/maintenance/department/cargo)
"skV" = (
/obj/machinery/holopad,
/obj/effect/turf_decal/bot,
@@ -52131,6 +52878,13 @@
/obj/structure/chair/sofa/bench/right,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
+"snp" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
+ dir = 5
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos/mix)
"sns" = (
/obj/structure/table/wood,
/obj/structure/railing{
@@ -52184,6 +52938,12 @@
/obj/machinery/light/small/directional/west,
/turf/open/floor/iron/showroomfloor,
/area/station/science/research)
+"soV" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/department/engine)
"soW" = (
/obj/effect/landmark/event_spawn,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -52300,17 +53060,21 @@
},
/turf/open/floor/iron/dark,
/area/station/service/bar/backroom)
-"sqA" = (
-/obj/machinery/door/airlock/atmos{
- name = "Hypertorus Fusion Reactor"
+"sqG" = (
+/obj/machinery/door/airlock/virology/glass{
+ name = "Biohazard Gear"
},
-/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron,
-/area/station/engineering/atmospherics_engine)
+/obj/effect/mapping_helpers/airlock/access/any/medical/surgery,
+/obj/effect/turf_decal/tile/green/half/contrasted{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/tile/blue/half/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron/white,
+/area/station/medical/treatment_center)
"sqJ" = (
/obj/machinery/portable_atmospherics/canister/plasma,
/obj/structure/window/reinforced/spawner/directional/west,
@@ -52350,17 +53114,6 @@
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/station/service/chapel/funeral)
-"srq" = (
-/obj/machinery/door/airlock/maintenance_hatch,
-/obj/effect/turf_decal/siding/green/corner{
- dir = 8
- },
-/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
-/obj/effect/mapping_helpers/airlock/unres{
- dir = 4
- },
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical/central)
"srs" = (
/turf/closed/wall/r_wall,
/area/station/ai_monitored/turret_protected/aisat/foyer)
@@ -52756,6 +53509,14 @@
/obj/item/plant_analyzer,
/turf/open/floor/grass,
/area/station/security/prison/garden)
+"syI" = (
+/obj/machinery/door/airlock/maintenance_hatch,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/station/maintenance/port/greater)
"syL" = (
/obj/effect/landmark/start/shaft_miner,
/turf/open/floor/iron,
@@ -52772,6 +53533,14 @@
"szc" = (
/turf/open/floor/engine/air,
/area/station/engineering/atmos)
+"szd" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/turf/open/floor/iron/dark/corner{
+ dir = 4
+ },
+/area/station/engineering/atmos)
"szi" = (
/obj/effect/spawner/structure/window/reinforced/plasma,
/turf/open/floor/engine,
@@ -52782,15 +53551,6 @@
/obj/machinery/firealarm/directional/west,
/turf/open/floor/iron/dark,
/area/station/science/server)
-"szp" = (
-/obj/machinery/door/airlock/maintenance_hatch,
-/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/maintenance/port/lesser)
"szq" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 1
@@ -52839,6 +53599,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible,
/turf/open/floor/iron/dark/smooth_edge,
/area/station/science/xenobiology)
+"sAl" = (
+/obj/effect/landmark/event_spawn,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"sAr" = (
/obj/machinery/door/airlock/medical/glass{
name = "Treatment Centre"
@@ -52975,13 +53742,6 @@
/obj/structure/sign/poster/official/random/directional/north,
/turf/open/floor/catwalk_floor/iron_dark,
/area/station/command/corporate_dock)
-"sCf" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/landmark/event_spawn,
-/turf/open/floor/iron,
-/area/station/engineering/lobby)
"sCp" = (
/obj/structure/lattice,
/turf/open/openspace,
@@ -53100,6 +53860,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark/corner,
/area/station/engineering/atmos)
+"sEX" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/machinery/light/directional/east,
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/project)
"sEY" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/chair/comfy{
@@ -53156,6 +53923,20 @@
/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
+"sGb" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/command{
+ name = "E.V.A. Storage"
+ },
+/obj/effect/turf_decal/delivery,
+/obj/structure/cable,
+/obj/effect/landmark/navigate_destination,
+/obj/effect/mapping_helpers/airlock/access/any/command/eva,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/mapping_helpers/airlock/red_alert_access,
+/turf/open/floor/iron,
+/area/station/ai_monitored/command/storage/eva)
"sGj" = (
/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance,
/obj/effect/mapping_helpers/airlock/unres{
@@ -53222,11 +54003,6 @@
"sGV" = (
/turf/open/floor/iron/freezer,
/area/station/commons/toilet/restrooms)
-"sHa" = (
-/obj/effect/turf_decal/sand/plating,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical)
"sHg" = (
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt,
@@ -53361,6 +54137,12 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/iron,
/area/station/maintenance/disposal/incinerator)
+"sIR" = (
+/obj/machinery/door/airlock/maintenance_hatch,
+/obj/effect/mapping_helpers/airlock/access/all/medical/general,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical/central)
"sIV" = (
/turf/open/misc/asteroid,
/area/station/maintenance/department/cargo)
@@ -53396,16 +54178,32 @@
},
/turf/open/floor/iron/white/textured,
/area/station/science/genetics)
-"sJh" = (
-/obj/machinery/portable_atmospherics/canister/nitrogen,
-/obj/effect/turf_decal/bot,
-/turf/open/floor/iron/large,
-/area/station/engineering/atmos/storage/gas)
+"sJj" = (
+/obj/effect/landmark/event_spawn,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos/upper)
"sJo" = (
/obj/structure/table/glass,
/obj/effect/spawner/random/food_or_drink/donkpockets,
/turf/open/floor/iron,
/area/station/engineering/lobby)
+"sJv" = (
+/obj/machinery/door/firedoor/border_only{
+ dir = 1
+ },
+/obj/structure/railing{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/upper)
"sJG" = (
/obj/effect/turf_decal/stripes{
dir = 8
@@ -53430,13 +54228,6 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/iron,
/area/station/cargo/storage)
-"sKn" = (
-/obj/effect/turf_decal/delivery,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/power/apc/auto_name/directional/west,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"sKs" = (
/obj/machinery/power/apc/auto_name/directional/north,
/obj/structure/cable,
@@ -53578,13 +54369,6 @@
},
/turf/open/floor/grass,
/area/station/service/hydroponics/garden)
-"sNc" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 1
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron,
-/area/station/engineering/atmospherics_engine)
"sNi" = (
/obj/machinery/light/directional/north,
/obj/effect/mapping_helpers/broken_floor,
@@ -53697,14 +54481,6 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/security/checkpoint/science)
-"sPS" = (
-/obj/effect/turf_decal/tile/dark_blue,
-/obj/structure/disposalpipe/segment{
- dir = 6
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/command)
"sPV" = (
/obj/machinery/atmospherics/components/binary/passive_gate{
on = 1;
@@ -53926,10 +54702,24 @@
},
/turf/open/floor/engine,
/area/station/hallway/secondary/entry)
+"sTJ" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/mix)
"sUc" = (
/obj/item/bodypart/arm/left,
/turf/open/floor/plating/airless,
/area/station/science/ordnance/bomb)
+"sUi" = (
+/obj/structure/stairs/east,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"sUn" = (
/obj/structure/table,
/obj/item/papercutter,
@@ -53949,18 +54739,6 @@
/obj/structure/cable,
/turf/open/floor/catwalk_floor,
/area/station/maintenance/central/lesser)
-"sUI" = (
-/obj/effect/mapping_helpers/airlock/access/all/service/kitchen,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden{
- dir = 4
- },
-/obj/machinery/door/airlock/freezer{
- name = "Freezer"
- },
-/obj/structure/plasticflaps/kitchen,
-/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
-/area/station/service/kitchen/coldroom)
"sUM" = (
/obj/item/radio/intercom/directional/west,
/turf/open/openspace,
@@ -53975,6 +54753,18 @@
/obj/effect/spawner/random/maintenance,
/turf/open/misc/asteroid,
/area/station/maintenance/department/cargo)
+"sVp" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/project)
"sVv" = (
/obj/machinery/portable_atmospherics/canister/air,
/obj/machinery/atmospherics/components/unary/portables_connector/visible,
@@ -54175,6 +54965,21 @@
},
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"sYA" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/light/dim/directional/north,
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/mix)
"sYB" = (
/obj/machinery/door/airlock/security/glass{
name = "Engineering Security Post"
@@ -54294,11 +55099,6 @@
/obj/machinery/disposal/bin,
/turf/open/floor/plating,
/area/station/commons/vacant_room/commissary)
-"taj" = (
-/obj/effect/turf_decal/sand/plating,
-/obj/structure/barricade/wooden,
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical)
"tar" = (
/obj/effect/mapping_helpers/airlock/access/all/service/kitchen,
/obj/machinery/door/airlock{
@@ -54369,14 +55169,22 @@
},
/turf/open/misc/asteroid,
/area/station/asteroid)
-"tbv" = (
-/obj/machinery/atmospherics/components/unary/portables_connector/visible{
- dir = 8
+"tbx" = (
+/obj/machinery/camera/autoname/directional/west{
+ network = list("ss13","medbay")
},
-/obj/machinery/portable_atmospherics/canister,
-/obj/machinery/camera/autoname/directional/east,
-/turf/open/floor/iron/dark/textured,
-/area/station/engineering/atmos)
+/obj/effect/decal/cleanable/glass,
+/obj/structure/broken_flooring/pile,
+/obj/structure/rack,
+/obj/effect/turf_decal/tile/green/anticorner/contrasted{
+ dir = 1
+ },
+/obj/item/storage/box/masks{
+ pixel_y = 4
+ },
+/obj/item/storage/box/bodybags,
+/turf/open/floor/iron/white/textured,
+/area/station/medical/treatment_center)
"tbH" = (
/turf/open/floor/iron,
/area/station/command/bridge)
@@ -54397,6 +55205,13 @@
},
/turf/open/floor/carpet/executive,
/area/station/command/meeting_room)
+"tcj" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/item/radio/intercom/directional/south,
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/project)
"tcx" = (
/obj/machinery/door/airlock/command,
/obj/effect/mapping_helpers/airlock/access/all/science/rd,
@@ -54600,15 +55415,6 @@
/obj/structure/closet/secure_closet/security/sec,
/turf/open/floor/iron/dark,
/area/station/security/lockers)
-"thI" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/trimline/yellow/filled/corner{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/iron,
-/area/station/engineering/main)
"thT" = (
/turf/open/openspace,
/area/station/security/warden)
@@ -54751,6 +55557,17 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
+"tjU" = (
+/obj/effect/landmark/start/chief_engineer,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/landmark/event_spawn,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/command/heads_quarters/ce)
"tka" = (
/obj/effect/turf_decal/tile/brown/half/contrasted,
/obj/machinery/power/apc/auto_name/directional/south,
@@ -54779,6 +55596,13 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
+"tkt" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos/upper)
"tkD" = (
/obj/effect/turf_decal/trimline/yellow/filled/warning,
/obj/structure/railing,
@@ -54819,6 +55643,17 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/commons/vacant_room/commissary)
+"tlA" = (
+/obj/effect/turf_decal/arrows{
+ dir = 4;
+ pixel_x = -15
+ },
+/obj/machinery/door/firedoor/border_only{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron/dark/textured,
+/area/station/engineering/atmos/mix)
"tlC" = (
/obj/structure/cable,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
@@ -54839,10 +55674,6 @@
/obj/structure/cable,
/turf/open/floor/catwalk_floor/iron_dark/telecomms,
/area/station/ai_monitored/turret_protected/ai)
-"tlY" = (
-/obj/effect/turf_decal/trimline/yellow/filled/corner,
-/turf/open/floor/iron,
-/area/station/engineering/lobby)
"tmk" = (
/obj/machinery/door/airlock/grunge{
name = "Prison Workshop"
@@ -55151,23 +55982,6 @@
},
/turf/open/floor/iron/white,
/area/station/science/ordnance/storage)
-"trg" = (
-/obj/machinery/firealarm/directional/south,
-/obj/structure/closet{
- anchored = 1;
- can_be_unanchored = 1;
- name = "Cold protection gear"
- },
-/obj/item/clothing/shoes/winterboots,
-/obj/item/clothing/shoes/winterboots,
-/obj/item/clothing/shoes/winterboots,
-/obj/item/clothing/suit/hooded/wintercoat/science,
-/obj/item/clothing/suit/hooded/wintercoat/science,
-/obj/item/clothing/suit/hooded/wintercoat/science,
-/turf/open/floor/iron/white/smooth_corner{
- dir = 1
- },
-/area/station/science/xenobiology)
"trs" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/decal/cleanable/dirt/dust,
@@ -55295,6 +56109,9 @@
/obj/structure/grille,
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
+"ttq" = (
+/turf/open/openspace,
+/area/station/engineering/atmos/mix)
"ttt" = (
/turf/closed/wall/r_wall,
/area/station/command/emergency_closet)
@@ -55461,6 +56278,18 @@
},
/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
/area/station/service/kitchen/coldroom)
+"txb" = (
+/obj/structure/railing/corner,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/disposalpipe/trunk/multiz/down,
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/upper)
"txo" = (
/obj/effect/turf_decal/caution/stand_clear,
/turf/open/floor/engine,
@@ -55524,6 +56353,18 @@
},
/turf/open/floor/iron/textured_large,
/area/station/command/bridge)
+"tys" = (
+/obj/structure/frame/computer,
+/obj/item/shard,
+/obj/item/shard,
+/obj/effect/decal/cleanable/glass,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/effect/turf_decal/tile/green/half/contrasted{
+ dir = 1
+ },
+/obj/effect/mapping_helpers/broken_floor,
+/turf/open/floor/iron/white/textured,
+/area/station/medical/treatment_center)
"tyu" = (
/obj/effect/turf_decal/siding/purple/corner{
dir = 1
@@ -55733,21 +56574,20 @@
},
/turf/open/floor/plating/airless,
/area/space/nearstation)
-"tBL" = (
-/obj/machinery/door/airlock/maintenance_hatch,
-/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
-/obj/effect/mapping_helpers/airlock/unres{
- dir = 8
- },
-/obj/effect/turf_decal/sand/plating,
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical)
"tCb" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment,
/obj/effect/turf_decal/trimline/yellow/filled/line,
/turf/open/floor/iron,
/area/station/engineering/lobby)
+"tCf" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/turf/open/floor/iron/checker{
+ dir = 4
+ },
+/area/station/engineering/atmos/mix)
"tCm" = (
/obj/effect/landmark/event_spawn,
/obj/structure/chair/wood{
@@ -56053,6 +56893,11 @@
},
/turf/open/floor/iron/chapel,
/area/station/service/chapel)
+"tHb" = (
+/obj/effect/turf_decal/sand/plating,
+/obj/structure/disposalpipe/trunk/multiz/down,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical)
"tHh" = (
/obj/effect/spawner/random/structure/closet_empty/crate,
/obj/effect/spawner/random/maintenance/three,
@@ -56219,6 +57064,17 @@
},
/turf/open/floor/iron,
/area/station/maintenance/solars/starboard/fore)
+"tKG" = (
+/obj/effect/turf_decal/siding/white{
+ dir = 1
+ },
+/obj/structure/closet/crate/freezer/blood,
+/obj/machinery/camera/autoname/directional/east{
+ network = list("ss13","medbay")
+ },
+/obj/item/radio/intercom/directional/south,
+/turf/open/floor/iron/kitchen_coldroom,
+/area/station/medical/coldroom)
"tKX" = (
/obj/structure/table/reinforced,
/obj/item/storage/toolbox/mechanical{
@@ -56230,15 +57086,6 @@
},
/turf/open/floor/iron,
/area/station/command/bridge)
-"tLa" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/junction/flip{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/lobby)
"tLg" = (
/turf/closed/indestructible/reinforced,
/area/space/nearstation)
@@ -56374,12 +57221,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
-"tMP" = (
-/obj/effect/turf_decal/sand/plating,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/light/small/dim/directional/west,
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical)
"tMT" = (
/obj/effect/turf_decal/siding/purple/corner{
dir = 4
@@ -56608,14 +57449,6 @@
/obj/effect/decal/cleanable/blood/old,
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
-"tQC" = (
-/obj/machinery/power/apc/auto_name/directional/east,
-/obj/structure/cable,
-/obj/effect/turf_decal/trimline/yellow/filled/line{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/engineering/lobby)
"tQF" = (
/obj/effect/spawner/random/structure/crate,
/obj/effect/mapping_helpers/broken_floor,
@@ -56876,10 +57709,6 @@
},
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
-"tUV" = (
-/obj/structure/cable,
-/turf/closed/wall/r_wall,
-/area/station/maintenance/department/engine)
"tVF" = (
/obj/effect/spawner/structure/window/hollow/reinforced/middle,
/obj/structure/cable,
@@ -57084,18 +57913,6 @@
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/station/command/bridge)
-"tZp" = (
-/obj/effect/turf_decal/tile/yellow{
- dir = 4
- },
-/obj/machinery/atmospherics/components/unary/portables_connector/visible{
- dir = 8
- },
-/obj/effect/turf_decal/bot{
- dir = 1
- },
-/turf/open/floor/iron/dark/corner,
-/area/station/engineering/atmos/upper)
"tZt" = (
/obj/machinery/airalarm/directional/north,
/turf/open/floor/iron/white,
@@ -57427,15 +58244,6 @@
},
/turf/open/openspace,
/area/station/science/xenobiology)
-"ueK" = (
-/obj/effect/landmark/event_spawn,
-/obj/effect/turf_decal/tile/yellow{
- dir = 4
- },
-/turf/open/floor/iron/dark/corner{
- dir = 1
- },
-/area/station/engineering/atmos/storage/gas)
"ueX" = (
/obj/machinery/exodrone_launcher,
/turf/open/floor/iron/dark,
@@ -57494,18 +58302,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white/smooth_edge,
/area/station/science/lab)
-"ugo" = (
-/obj/effect/turf_decal/tile/yellow{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/iron/dark/corner{
- dir = 1
- },
-/area/station/engineering/atmos/upper)
"ugs" = (
/obj/item/kirbyplants/random,
/turf/open/floor/iron,
@@ -57556,6 +58352,17 @@
"uhc" = (
/turf/open/floor/grass,
/area/station/science/genetics)
+"uhd" = (
+/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/door/airlock/atmos{
+ name = "Atmospherics Office"
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/project)
"uhe" = (
/obj/effect/turf_decal/trimline/blue/filled/line{
dir = 4
@@ -57563,9 +58370,25 @@
/obj/structure/cable,
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
+"uhh" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/misc/asteroid,
+/area/station/maintenance/department/medical)
"uhi" = (
/turf/closed/wall/r_wall,
/area/station/maintenance/radshelter/civil)
+"uhl" = (
+/obj/machinery/door/airlock/atmos/glass{
+ name = "Atmospherics"
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"uhs" = (
/obj/effect/decal/cleanable/blood/old,
/turf/open/floor/iron/grimy,
@@ -57603,20 +58426,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark,
/area/station/service/chapel/funeral)
-"uhW" = (
-/obj/machinery/atmospherics/components/unary/portables_connector/visible{
- dir = 1
- },
-/obj/effect/turf_decal/tile/yellow{
- dir = 8
- },
-/obj/effect/turf_decal/bot{
- dir = 1
- },
-/turf/open/floor/iron/checker{
- dir = 4
- },
-/area/station/engineering/atmos/upper)
"uif" = (
/obj/structure/flora/rock/style_random,
/turf/open/misc/asteroid/airless,
@@ -57837,6 +58646,20 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/security/brig/entrance)
+"ulw" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/portable_atmospherics/canister,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmospherics_engine)
+"ulz" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"ulA" = (
/obj/structure/cable,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
@@ -57891,6 +58714,16 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
+"umz" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
+ dir = 9
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos)
"umA" = (
/obj/structure/window/reinforced/spawner/directional/south,
/obj/structure/window/reinforced/spawner/directional/east,
@@ -57919,6 +58752,10 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark/corner,
/area/station/engineering/atmos)
+"umY" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/project)
"una" = (
/obj/structure/chair/comfy/shuttle/tactical{
name = "tactical head of security chair"
@@ -57932,6 +58769,31 @@
"unk" = (
/turf/closed/wall/rock/porous,
/area/station/asteroid)
+"unr" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 1
+ },
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/mix)
+"unt" = (
+/obj/machinery/airalarm/directional/west,
+/obj/machinery/atmospherics/pipe/multiz/dark/visible/layer5{
+ name = "Port To Turbine"
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"unA" = (
/obj/machinery/air_sensor/nitrogen_tank,
/turf/open/floor/engine/n2,
@@ -57956,15 +58818,6 @@
/obj/structure/chair/office,
/turf/open/floor/iron,
/area/station/cargo/storage)
-"unH" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/light/directional/west,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer5{
- dir = 5
- },
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"unL" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/sign/poster/random/directional/south,
@@ -58213,11 +59066,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/science/robotics/lab)
-"usm" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/newscaster/directional/south,
-/turf/open/floor/iron,
-/area/station/maintenance/disposal/incinerator)
"usq" = (
/obj/effect/turf_decal/tile/red,
/obj/structure/disposalpipe/junction{
@@ -58301,6 +59149,12 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark,
/area/station/security/prison/safe)
+"utE" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos/mix)
"utH" = (
/obj/machinery/duct,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -58341,12 +59195,6 @@
/obj/machinery/door/firedoor,
/turf/open/floor/wood/parquet,
/area/station/service/theater)
-"uuq" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/item/radio/intercom/directional/east,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/upper)
"uuu" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -58385,21 +59233,6 @@
},
/turf/open/floor/engine,
/area/station/command/corporate_dock)
-"uvl" = (
-/obj/machinery/door/airlock/virology/glass{
- name = "Biohazard Gear"
- },
-/obj/effect/mapping_helpers/airlock/access/any/medical/surgery,
-/obj/effect/turf_decal/tile/green/half/contrasted{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/decal/cleanable/dirt/dust,
-/obj/effect/turf_decal/tile/blue/half/contrasted{
- dir = 4
- },
-/turf/open/floor/iron/white,
-/area/station/medical/treatment_center)
"uvn" = (
/obj/structure/table,
/obj/item/flashlight/lamp,
@@ -58410,25 +59243,21 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/white,
/area/station/science/ordnance/testlab)
-"uvH" = (
-/obj/effect/turf_decal/tile/yellow{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{
- dir = 8
- },
-/obj/machinery/meter,
-/obj/item/radio/intercom/directional/west,
-/turf/open/floor/iron/dark/corner{
- dir = 1
- },
-/area/station/engineering/atmos/upper)
"uvN" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 1
},
/turf/open/floor/iron/dark,
/area/station/engineering/supermatter/room)
+"uvY" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/yellow,
+/turf/open/floor/iron/dark/corner{
+ dir = 8
+ },
+/area/station/engineering/atmos)
"uww" = (
/obj/structure/table/reinforced,
/obj/structure/desk_bell{
@@ -58947,17 +59776,6 @@
},
/turf/closed/wall,
/area/station/science/ordnance/bomb)
-"uFL" = (
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
- dir = 9
- },
-/obj/effect/turf_decal/tile/yellow{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/dark/corner,
-/area/station/engineering/atmos)
"uFN" = (
/obj/structure/reagent_dispensers/watertank,
/obj/effect/decal/cleanable/dirt/dust,
@@ -58992,6 +59810,17 @@
/obj/machinery/camera/autoname/directional/north,
/turf/open/floor/iron/white,
/area/station/hallway/secondary/entry)
+"uHk" = (
+/obj/machinery/door/airlock/maintenance_hatch,
+/obj/effect/turf_decal/siding/green/corner{
+ dir = 8
+ },
+/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
+/obj/effect/mapping_helpers/airlock/unres{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical/central)
"uHA" = (
/obj/effect/turf_decal/tile/red/half/contrasted{
dir = 8
@@ -59094,6 +59923,13 @@
/obj/structure/cable,
/turf/open/floor/plating/airless,
/area/station/solars/port)
+"uJp" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 1
+ },
+/obj/machinery/light/dim/directional/north,
+/turf/open/floor/iron,
+/area/station/engineering/main)
"uJq" = (
/obj/machinery/computer/records/medical,
/obj/effect/turf_decal/tile/red/fourcorners,
@@ -59104,11 +59940,6 @@
/obj/effect/mapping_helpers/engraving,
/turf/closed/wall,
/area/station/maintenance/department/science)
-"uJA" = (
-/obj/effect/turf_decal/sand/plating,
-/obj/item/rack_parts,
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical)
"uJH" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -59177,6 +60008,30 @@
},
/turf/open/openspace,
/area/station/ai_monitored/turret_protected/aisat_interior)
+"uKN" = (
+/obj/structure/table,
+/obj/item/multitool{
+ pixel_x = -8;
+ pixel_y = 11
+ },
+/obj/item/multitool{
+ pixel_x = -3;
+ pixel_y = 9
+ },
+/obj/item/holosign_creator/atmos{
+ pixel_y = 11;
+ pixel_x = 9
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/item/pipe_dispenser,
+/obj/item/pipe_dispenser{
+ pixel_x = 2;
+ pixel_y = -3
+ },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/structure/cable,
+/turf/open/floor/iron/large,
+/area/station/engineering/atmos/project)
"uLh" = (
/obj/structure/cable,
/obj/machinery/camera/autoname/directional/north,
@@ -59220,6 +60075,30 @@
/obj/structure/cable,
/turf/open/floor/iron/white,
/area/station/science/lobby)
+"uLG" = (
+/obj/structure/table,
+/obj/machinery/door/window/left/directional/east{
+ name = "First Aid Supplies";
+ req_access = list("medical")
+ },
+/obj/effect/turf_decal/tile/blue/fourcorners,
+/obj/item/storage/medkit/regular{
+ pixel_x = 3;
+ pixel_y = 6
+ },
+/obj/item/storage/medkit/fire{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/storage/medkit/fire,
+/obj/item/storage/medkit/fire{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/machinery/camera/autoname/directional/west,
+/obj/effect/mapping_helpers/airlock/red_alert_access,
+/turf/open/floor/iron/white,
+/area/station/medical/storage)
"uLP" = (
/obj/effect/turf_decal/trimline/yellow/filled/warning{
dir = 6
@@ -59274,9 +60153,6 @@
},
/turf/open/floor/iron/white,
/area/station/medical/exam_room)
-"uMq" = (
-/turf/closed/wall/r_wall,
-/area/station/engineering/atmos/storage/gas)
"uMz" = (
/obj/structure/chair/office{
dir = 4
@@ -59524,12 +60400,29 @@
/obj/effect/turf_decal/trimline/blue/filled/mid_joiner,
/turf/open/floor/iron/white/smooth_large,
/area/station/medical/medbay/central)
-"uPR" = (
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
- dir = 10
- },
+"uQa" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/power/apc/auto_name/directional/west,
/turf/open/floor/iron,
-/area/station/engineering/atmos/upper)
+/area/station/maintenance/disposal/incinerator)
+"uQh" = (
+/obj/structure/cable/layer3,
+/obj/machinery/button/elevator/directional/south{
+ id = "aisat";
+ pixel_x = 8;
+ pixel_y = -25
+ },
+/obj/machinery/lift_indicator/directional/south{
+ linked_elevator_id = "aisat";
+ pixel_x = -6;
+ pixel_y = -40
+ },
+/obj/machinery/camera/autoname/directional/south{
+ network = list("aicore")
+ },
+/obj/structure/plasticflaps/kitchen,
+/turf/open/floor/catwalk_floor/iron_dark,
+/area/station/ai_monitored/turret_protected/ai)
"uQl" = (
/obj/item/flashlight/flare/candle/infinite{
pixel_x = 16;
@@ -59639,6 +60532,15 @@
/obj/item/radio/intercom/directional/south,
/turf/open/floor/iron/dark,
/area/station/science/server)
+"uSY" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 8
+ },
+/obj/machinery/portable_atmospherics/canister,
+/obj/machinery/camera/autoname/directional/east,
+/obj/effect/turf_decal/box,
+/turf/open/floor/iron/dark/textured,
+/area/station/engineering/atmos)
"uTk" = (
/obj/machinery/light/warm/dim/directional/north,
/obj/effect/turf_decal/trimline/yellow/filled/line{
@@ -59660,13 +60562,23 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/security)
-"uTU" = (
-/obj/structure/tank_holder/extinguisher/advanced,
-/obj/effect/turf_decal/stripes/line{
- dir = 9
+"uTz" = (
+/obj/structure/chair/sofa/bench/right{
+ dir = 8
},
-/turf/open/floor/iron/large,
-/area/station/engineering/atmos)
+/turf/open/floor/iron,
+/area/station/engineering/atmos/upper)
+"uTP" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 8
+ },
+/obj/machinery/firealarm/directional/west,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/engineering/main)
"uUj" = (
/obj/machinery/door/airlock/highsecurity{
name = "AI Chamber"
@@ -59755,12 +60667,30 @@
},
/turf/open/floor/iron/white/textured_large,
/area/station/science/xenobiology)
+"uVg" = (
+/obj/effect/turf_decal/tile/dark_blue/half/contrasted{
+ dir = 8
+ },
+/obj/effect/turf_decal/arrows/red{
+ dir = 1
+ },
+/obj/effect/landmark/start/hangover,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/command)
"uVi" = (
/obj/structure/stairs/east,
/turf/open/floor/iron/stairs/left{
dir = 8
},
/area/station/medical/storage)
+"uVj" = (
+/obj/effect/spawner/structure/window/reinforced/plasma,
+/obj/machinery/door/poddoor/shutters/radiation/preopen{
+ dir = 8;
+ id = "atmoshfr"
+ },
+/turf/open/floor/plating,
+/area/station/engineering/atmos)
"uVk" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/red/opposingcorners,
@@ -59784,6 +60714,13 @@
},
/turf/open/floor/iron/dark/corner,
/area/station/engineering/atmos)
+"uVT" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/project)
"uVU" = (
/obj/effect/turf_decal/tile/brown/half/contrasted{
dir = 8
@@ -59794,15 +60731,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/cargo/storage)
-"uWg" = (
-/obj/structure/closet/secure_closet/hop,
-/obj/effect/turf_decal/siding/dark_blue{
- dir = 8
- },
-/obj/machinery/power/apc/auto_name/directional/east,
-/obj/structure/cable,
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/hop)
"uWj" = (
/obj/effect/landmark/start/chaplain,
/obj/machinery/holopad,
@@ -59826,6 +60754,15 @@
/obj/item/radio/intercom/directional/south,
/turf/open/floor/iron/white/smooth_half,
/area/station/science/research)
+"uWw" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/project)
"uWy" = (
/obj/structure/table/reinforced,
/obj/item/book/manual/wiki/security_space_law{
@@ -59842,18 +60779,6 @@
dir = 1
},
/area/station/command/heads_quarters/qm)
-"uWX" = (
-/obj/effect/turf_decal/tile/yellow{
- dir = 8
- },
-/obj/machinery/atmospherics/components/unary/thermomachine/freezer{
- dir = 1
- },
-/obj/effect/turf_decal/bot{
- dir = 1
- },
-/turf/open/floor/iron/dark/corner,
-/area/station/engineering/atmos/upper)
"uXe" = (
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt,
@@ -60026,19 +60951,21 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/iron,
/area/station/security/detectives_office)
+"uZV" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/upper)
"vaf" = (
/obj/effect/turf_decal/tile/red{
dir = 8
},
/turf/open/floor/iron,
/area/station/security)
-"vas" = (
-/obj/effect/turf_decal/trimline/yellow/filled/corner,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/engineering/main)
"vau" = (
/obj/structure/table/glass,
/obj/item/storage/box/beakers{
@@ -60092,6 +61019,15 @@
/obj/machinery/light/dim/directional/west,
/turf/open/floor/iron/white,
/area/station/science/ordnance/testlab)
+"vbA" = (
+/obj/effect/turf_decal/siding/white{
+ dir = 6
+ },
+/obj/machinery/portable_atmospherics/canister/anesthetic_mix,
+/obj/machinery/power/apc/auto_name/directional/west,
+/obj/structure/cable,
+/turf/open/floor/iron/kitchen_coldroom,
+/area/station/medical/coldroom)
"vbF" = (
/obj/effect/spawner/random/structure/grille,
/obj/machinery/atmospherics/pipe/smart/simple/supply/visible/layer4,
@@ -60115,6 +61051,12 @@
},
/turf/open/floor/wood/tile,
/area/station/service/bar)
+"vcj" = (
+/obj/machinery/airalarm/directional/north,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/upper)
"vck" = (
/obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer5{
dir = 1
@@ -60146,22 +61088,6 @@
/obj/effect/mapping_helpers/airlock/access/all/service/crematorium,
/turf/open/floor/iron/dark,
/area/station/service/chapel/office)
-"vcZ" = (
-/obj/item/circuitboard/machine/thermomachine,
-/obj/item/circuitboard/machine/thermomachine,
-/obj/item/storage/bag/construction,
-/obj/item/storage/bag/construction,
-/obj/item/storage/bag/construction,
-/obj/item/stock_parts/power_store/cell/high,
-/obj/item/stock_parts/power_store/cell/high,
-/obj/item/stock_parts/power_store/cell/high,
-/obj/structure/closet/crate,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/obj/machinery/light/dim/directional/south,
-/turf/open/floor/iron/large,
-/area/station/engineering/atmos)
"vdb" = (
/obj/effect/turf_decal/trimline/blue/filled/line{
dir = 1
@@ -60187,6 +61113,12 @@
},
/turf/open/floor/iron/white,
/area/station/science/lobby)
+"vdS" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"vdZ" = (
/obj/effect/turf_decal/trimline/yellow/filled/line{
dir = 1
@@ -60269,6 +61201,17 @@
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/station/hallway/secondary/exit/departure_lounge)
+"vfH" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/project)
"vfJ" = (
/turf/closed/wall,
/area/station/maintenance/department/science)
@@ -60292,6 +61235,11 @@
/obj/structure/fluff/minepost,
/turf/open/misc/asteroid,
/area/station/maintenance/department/science)
+"vfZ" = (
+/obj/effect/turf_decal/sand/plating,
+/obj/effect/spawner/random/structure/crate,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical)
"vgd" = (
/obj/structure/chair/office/light{
dir = 1
@@ -60320,6 +61268,14 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/security/brig/entrance)
+"vgm" = (
+/obj/machinery/door/airlock/maintenance_hatch,
+/obj/effect/mapping_helpers/airlock/access/all/supply/general,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/misc/asteroid,
+/area/station/maintenance/department/medical)
"vgq" = (
/obj/structure/railing{
dir = 6
@@ -60433,18 +61389,6 @@
/obj/structure/flora/bush/grassy/style_random,
/turf/open/floor/grass,
/area/station/science/research)
-"vji" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/yellow{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/trunk/multiz,
-/turf/open/floor/iron/dark/corner{
- dir = 1
- },
-/area/station/engineering/atmos/storage/gas)
"vjm" = (
/obj/effect/turf_decal/siding/wood/corner{
dir = 1
@@ -60512,6 +61456,18 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/disposal)
+"vkf" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/mix)
"vkn" = (
/obj/machinery/firealarm/directional/east,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -60560,11 +61516,6 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/iron/textured,
/area/station/commons/storage/art)
-"vkN" = (
-/obj/machinery/door/firedoor/border_only,
-/obj/structure/railing,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/upper)
"vkO" = (
/obj/effect/turf_decal/sand/plating,
/obj/structure/tank_dispenser/oxygen,
@@ -60601,6 +61552,13 @@
},
/turf/open/floor/carpet/green,
/area/station/command/heads_quarters/hop)
+"vlH" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/machinery/light/directional/south,
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/project)
"vlJ" = (
/obj/machinery/door/airlock/security{
name = "Interrogation"
@@ -60629,18 +61587,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
-"vlX" = (
-/obj/machinery/airalarm/directional/north,
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/effect/turf_decal/tile/yellow{
- dir = 4
- },
-/turf/open/floor/iron/dark/corner{
- dir = 1
- },
-/area/station/engineering/atmos/storage/gas)
"vmf" = (
/obj/structure/closet/wardrobe/orange,
/obj/effect/turf_decal/tile/red/anticorner/contrasted{
@@ -60784,13 +61730,6 @@
/obj/machinery/light/directional/south,
/turf/open/floor/iron/dark,
/area/station/engineering/gravity_generator)
-"vpf" = (
-/obj/machinery/suit_storage_unit/atmos,
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos/storage/gas)
"vpn" = (
/obj/machinery/power/emitter/welded{
dir = 8
@@ -60805,6 +61744,13 @@
/obj/item/radio/intercom/directional/west,
/turf/open/floor/iron/white/smooth_half,
/area/station/science/robotics/lab)
+"vpt" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
+ dir = 1
+ },
+/obj/machinery/camera/autoname/directional/south,
+/turf/open/floor/iron,
+/area/station/maintenance/disposal/incinerator)
"vpz" = (
/obj/effect/turf_decal/tile/red/half/contrasted,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
@@ -60880,15 +61826,6 @@
dir = 8
},
/area/station/science/research)
-"vqB" = (
-/obj/machinery/portable_atmospherics/canister/nitrous_oxide,
-/obj/effect/turf_decal/bot,
-/turf/open/floor/iron/large,
-/area/station/engineering/atmos/storage/gas)
-"vqC" = (
-/obj/effect/turf_decal/stripes/line,
-/turf/closed/wall,
-/area/station/maintenance/department/medical/central)
"vqH" = (
/obj/structure/chair/sofa/bench,
/obj/effect/turf_decal/tile/neutral,
@@ -60914,29 +61851,6 @@
dir = 8
},
/area/station/service/theater)
-"vrN" = (
-/obj/effect/turf_decal/tile/blue/fourcorners,
-/obj/machinery/door/window/left/directional/east{
- name = "First Aid Supplies";
- req_access = list("medical")
- },
-/obj/structure/table,
-/obj/item/storage/medkit/regular{
- pixel_x = 3;
- pixel_y = 6
- },
-/obj/item/storage/medkit/o2{
- pixel_x = 3;
- pixel_y = 3
- },
-/obj/item/storage/medkit/o2,
-/obj/item/storage/medkit/o2{
- pixel_x = -3;
- pixel_y = -3
- },
-/obj/effect/mapping_helpers/airlock/red_alert_access,
-/turf/open/floor/iron/white,
-/area/station/medical/storage)
"vrR" = (
/obj/effect/spawner/random/engineering/tracking_beacon,
/turf/open/floor/wood,
@@ -60996,6 +61910,12 @@
},
/turf/open/floor/iron/dark/smooth_large,
/area/station/medical/morgue)
+"vtD" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/upper)
"vtN" = (
/obj/effect/turf_decal/tile/neutral/opposingcorners{
dir = 1
@@ -61046,6 +61966,14 @@
},
/turf/open/floor/plating,
/area/station/maintenance/disposal)
+"vvs" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/suit_storage_unit/atmos,
+/obj/machinery/light/small/dim/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos)
"vvC" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
@@ -61186,6 +62114,17 @@
/obj/structure/railing,
/turf/open/floor/iron/dark/textured_large,
/area/station/science/xenobiology)
+"vym" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/iron/dark/corner{
+ dir = 8
+ },
+/area/station/engineering/atmos)
"vyp" = (
/obj/effect/spawner/random/vending/colavend,
/obj/effect/turf_decal/siding/purple{
@@ -61218,6 +62157,15 @@
dir = 8
},
/area/station/medical/pharmacy)
+"vyS" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/engineering/main)
"vyZ" = (
/obj/effect/mapping_helpers/broken_floor,
/obj/effect/decal/cleanable/dirt/dust,
@@ -61370,6 +62318,15 @@
/obj/effect/turf_decal/box,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/turret_protected/aisat/foyer)
+"vBv" = (
+/obj/machinery/door/airlock/maintenance_hatch,
+/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
+/obj/effect/mapping_helpers/airlock/unres{
+ dir = 8
+ },
+/obj/effect/turf_decal/sand/plating,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical)
"vBD" = (
/obj/structure/chair/office/light{
dir = 1
@@ -61399,6 +62356,11 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/plating,
/area/station/maintenance/department/engine)
+"vCg" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/upper)
"vCw" = (
/obj/effect/turf_decal/tile/neutral{
dir = 1
@@ -61451,6 +62413,14 @@
},
/turf/open/floor/engine,
/area/station/science/xenobiology)
+"vDx" = (
+/obj/machinery/airalarm/directional/west,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 4
+ },
+/obj/effect/mapping_helpers/airalarm/tlv_cold_room,
+/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
+/area/station/medical/coldroom)
"vDK" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -61550,11 +62520,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"vFq" = (
-/obj/structure/ladder,
-/obj/effect/turf_decal/sand/plating,
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical)
"vFr" = (
/obj/machinery/light/dim/directional/west,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
@@ -61765,6 +62730,12 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/iron/dark,
/area/station/hallway/secondary/exit/departure_lounge)
+"vId" = (
+/obj/machinery/portable_atmospherics/canister,
+/obj/effect/turf_decal/bot,
+/obj/structure/cable,
+/turf/open/floor/iron/large,
+/area/station/engineering/atmos/mix)
"vIi" = (
/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible,
/obj/effect/turf_decal/tile/yellow{
@@ -61880,11 +62851,6 @@
/obj/structure/window/reinforced/spawner/directional/east,
/turf/open/floor/grass,
/area/station/science/research)
-"vLs" = (
-/obj/effect/turf_decal/sand/plating,
-/obj/structure/fence,
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical)
"vLx" = (
/obj/structure/rack,
/obj/item/reagent_containers/cup/bottle/iodine{
@@ -62006,27 +62972,11 @@
/obj/effect/mapping_helpers/requests_console/announcement,
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/hop)
-"vNd" = (
-/obj/effect/turf_decal/tile/yellow{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/cable,
-/turf/open/floor/iron/dark/corner,
-/area/station/engineering/atmos/upper)
"vNg" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/decal/cleanable/blood/old,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/turret_protected/aisat/uppernorth)
-"vNk" = (
-/obj/effect/turf_decal/trimline/yellow/filled/line{
- dir = 8
- },
-/obj/machinery/firealarm/directional/west,
-/turf/open/floor/iron,
-/area/station/engineering/main)
"vNB" = (
/obj/machinery/vending/tool,
/obj/effect/decal/cleanable/dirt,
@@ -62296,14 +63246,6 @@
},
/turf/open/floor/iron,
/area/station/commons/fitness/recreation)
-"vRP" = (
-/obj/machinery/door/airlock/maintenance_hatch,
-/obj/effect/mapping_helpers/airlock/access/any/science/general,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating,
-/area/station/maintenance/department/science)
"vRZ" = (
/obj/effect/turf_decal/siding/red{
dir = 4
@@ -62379,13 +63321,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/department/cargo)
-"vTp" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/duct,
-/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
-/area/station/medical/coldroom)
"vTt" = (
/obj/structure/marker_beacon/burgundy,
/turf/open/floor/fakebasalt,
@@ -62420,11 +63355,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/service/janitor)
-"vUb" = (
-/obj/machinery/portable_atmospherics/canister/oxygen,
-/obj/effect/turf_decal/bot,
-/turf/open/floor/iron/large,
-/area/station/engineering/atmos/storage/gas)
"vUh" = (
/turf/open/floor/engine,
/area/station/engineering/supermatter)
@@ -62460,12 +63390,6 @@
/obj/structure/cable,
/turf/open/floor/carpet,
/area/station/medical/psychology)
-"vUr" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos/storage/gas)
"vUJ" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -62559,6 +63483,10 @@
},
/turf/open/floor/engine,
/area/station/hallway/secondary/entry)
+"vVU" = (
+/obj/effect/spawner/random/vending/colavend,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/upper)
"vVW" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/door/airlock/maintenance,
@@ -62566,10 +63494,6 @@
/obj/effect/mapping_helpers/airlock/abandoned,
/turf/open/floor/plating,
/area/station/maintenance/department/cargo)
-"vWh" = (
-/obj/structure/lattice/catwalk,
-/turf/open/openspace,
-/area/station/engineering/atmospherics_engine)
"vWo" = (
/obj/structure/disposalpipe/segment,
/obj/structure/cable,
@@ -62608,6 +63532,16 @@
/obj/item/wrench,
/turf/open/misc/asteroid,
/area/station/maintenance/department/science)
+"vWU" = (
+/obj/machinery/light_switch/directional/north,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/upper)
"vWY" = (
/obj/effect/turf_decal/siding,
/obj/structure/table,
@@ -62632,15 +63566,6 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/iron,
/area/station/service/cafeteria)
-"vXG" = (
-/obj/effect/turf_decal/tile/yellow{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/simple/green/visible,
-/turf/open/floor/iron/dark/corner{
- dir = 1
- },
-/area/station/engineering/atmos/upper)
"vXS" = (
/obj/structure/broken_flooring/side,
/obj/effect/decal/cleanable/dirt/dust,
@@ -62813,6 +63738,14 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/white,
/area/station/medical/chemistry/minisat)
+"wbe" = (
+/obj/effect/turf_decal/trimline/yellow/filled/corner{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/engineering/main)
"wbf" = (
/obj/effect/turf_decal/tile/dark_blue/half/contrasted,
/turf/open/floor/iron/dark,
@@ -62978,16 +63911,6 @@
/obj/structure/cable,
/turf/open/space/basic,
/area/station/solars/port/aft)
-"wex" = (
-/obj/structure/railing/corner{
- dir = 4
- },
-/obj/machinery/light/small/dim/directional/south,
-/obj/effect/turf_decal/tile/yellow,
-/turf/open/floor/iron/dark/corner{
- dir = 8
- },
-/area/station/engineering/atmos/storage/gas)
"weB" = (
/obj/structure/railing/corner{
dir = 8
@@ -63086,14 +64009,6 @@
/obj/machinery/air_sensor/ordnance_burn_chamber,
/turf/open/floor/engine/vacuum,
/area/station/science/ordnance/burnchamber)
-"wgK" = (
-/obj/effect/turf_decal/box/corners{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"whn" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/spawner/random/trash/mess,
@@ -63248,6 +64163,16 @@
},
/turf/open/floor/iron/white,
/area/station/medical/chemistry/minisat)
+"wkx" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/sorting/mail/flip{
+ dir = 4
+ },
+/obj/effect/mapping_helpers/mail_sorting/engineering/atmospherics,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"wkA" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -63383,12 +64308,6 @@
},
/turf/open/floor/iron,
/area/station/security/brig)
-"wmj" = (
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/iron/dark/corner{
- dir = 1
- },
-/area/station/engineering/atmos/storage/gas)
"wmr" = (
/obj/effect/turf_decal/stripes,
/turf/open/floor/iron/dark,
@@ -63452,14 +64371,6 @@
"wnY" = (
/turf/open/floor/carpet/executive,
/area/station/command/corporate_showroom)
-"woe" = (
-/obj/structure/tank_dispenser{
- pixel_x = -1
- },
-/obj/effect/turf_decal/stripes/line,
-/obj/item/radio/intercom/directional/west,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos/storage/gas)
"woo" = (
/obj/effect/turf_decal/stripes,
/obj/machinery/portable_atmospherics/canister,
@@ -63597,6 +64508,14 @@
/obj/machinery/light/small/dim/directional/north,
/turf/open/floor/iron/white/smooth_large,
/area/station/science/robotics/lab)
+"wqP" = (
+/obj/machinery/shower/directional/south{
+ name = "emergency shower"
+ },
+/obj/effect/turf_decal/box,
+/obj/structure/fluff/shower_drain,
+/turf/open/floor/iron/dark/small,
+/area/station/engineering/atmos)
"wqW" = (
/obj/effect/mapping_helpers/apc/full_charge,
/obj/effect/mapping_helpers/apc/cell_5k,
@@ -63619,14 +64538,6 @@
},
/turf/open/floor/iron/white,
/area/station/security/prison/safe)
-"wrQ" = (
-/obj/machinery/atmospherics/components/unary/portables_connector/visible{
- dir = 8
- },
-/obj/machinery/portable_atmospherics/canister,
-/obj/machinery/light/directional/east,
-/turf/open/floor/iron/dark/textured,
-/area/station/engineering/atmos)
"wrU" = (
/obj/effect/turf_decal/trimline/blue/filled/line{
dir = 8
@@ -63661,6 +64572,15 @@
dir = 8
},
/area/station/service/chapel)
+"wsF" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/engineering/lobby)
"wsI" = (
/obj/effect/turf_decal/tile/brown/half/contrasted{
dir = 1
@@ -63704,14 +64624,6 @@
},
/turf/open/floor/catwalk_floor/iron_white,
/area/station/science/ordnance/testlab)
-"wtr" = (
-/obj/machinery/door/airlock/maintenance_hatch,
-/obj/effect/mapping_helpers/airlock/access/all/science/general,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron/white/smooth_large,
-/area/station/maintenance/department/science)
"wts" = (
/obj/effect/turf_decal/tile/neutral/opposingcorners{
dir = 1
@@ -63738,6 +64650,16 @@
},
/turf/open/floor/iron/dark/side,
/area/station/maintenance/radshelter/medical)
+"wtC" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/item/radio/intercom/directional/east,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/project)
"wtF" = (
/obj/structure/lattice/catwalk,
/obj/machinery/atmospherics/pipe/heat_exchanging/manifold,
@@ -63835,21 +64757,21 @@
/obj/effect/mapping_helpers/mail_sorting/service/hydroponics,
/turf/open/floor/wood/tile,
/area/station/service/bar)
+"wvm" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/upper)
"wvs" = (
/obj/structure/chair/sofa/bench,
/obj/effect/landmark/start/prisoner,
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/security/prison)
-"wvt" = (
-/obj/machinery/door/airlock/maintenance_hatch,
-/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance,
-/obj/machinery/door/poddoor/shutters{
- id = "boutique";
- name = "Countertheft Shutters"
- },
-/turf/open/floor/wood/parquet,
-/area/station/maintenance/department/medical/central)
"wvC" = (
/obj/machinery/vending/wardrobe/medi_wardrobe,
/obj/effect/turf_decal/tile/blue/fourcorners,
@@ -64101,6 +65023,13 @@
/obj/structure/cable,
/turf/open/floor/iron/white/smooth_edge,
/area/station/science/research)
+"wAA" = (
+/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/station/engineering/atmos/mix)
"wAB" = (
/obj/structure/chair/stool/bar/directional/west,
/obj/effect/turf_decal/siding/wood{
@@ -64200,15 +65129,6 @@
/obj/machinery/camera/autoname/directional/east,
/turf/open/floor/iron,
/area/station/service/hydroponics)
-"wBU" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"wBV" = (
/obj/effect/decal/cleanable/dirt,
/mob/living/carbon/human/species/monkey/angry,
@@ -64260,6 +65180,10 @@
/obj/effect/spawner/random/trash/mopbucket,
/turf/open/floor/plating,
/area/station/maintenance/central/lesser)
+"wCF" = (
+/obj/effect/turf_decal/stripes/line,
+/turf/closed/wall,
+/area/station/maintenance/department/medical/central)
"wCG" = (
/obj/machinery/light/directional/north,
/obj/effect/turf_decal/trimline/yellow/filled/line{
@@ -64325,14 +65249,6 @@
},
/turf/open/floor/catwalk_floor/iron_white,
/area/station/science/lab)
-"wDe" = (
-/obj/effect/turf_decal/siding/white{
- dir = 1
- },
-/obj/structure/closet/crate/freezer/blood,
-/obj/machinery/firealarm/directional/west,
-/turf/open/floor/iron/kitchen_coldroom,
-/area/station/medical/coldroom)
"wDo" = (
/obj/structure/cable,
/obj/effect/landmark/event_spawn,
@@ -64386,11 +65302,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark,
/area/station/security/execution/education)
-"wDP" = (
-/obj/effect/turf_decal/siding/thinplating_new,
-/obj/effect/landmark/event_spawn,
-/turf/open/floor/glass/reinforced,
-/area/station/engineering/atmos/upper)
"wDW" = (
/obj/machinery/modular_computer/preset/id{
dir = 1
@@ -64520,13 +65431,6 @@
},
/turf/open/floor/iron/dark/corner,
/area/station/engineering/atmos)
-"wFC" = (
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/iron,
-/area/station/engineering/atmos/storage/gas)
"wFG" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible,
/obj/effect/turf_decal/stripes{
@@ -64567,6 +65471,14 @@
/obj/structure/table/wood,
/turf/open/floor/carpet,
/area/station/commons/dorms)
+"wGE" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/turf/open/floor/iron,
+/area/station/engineering/main)
"wGZ" = (
/obj/machinery/atmospherics/pipe/smart/manifold/general/visible{
dir = 8
@@ -64612,6 +65524,13 @@
"wHJ" = (
/turf/closed/wall/r_wall,
/area/station/ai_monitored/turret_protected/aisat_interior)
+"wHN" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/machinery/camera/autoname/directional/south,
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/project)
"wIn" = (
/obj/structure/table/optable,
/obj/machinery/camera/autoname/directional/west{
@@ -64621,6 +65540,14 @@
/obj/item/radio/intercom/directional/north,
/turf/open/floor/iron/white,
/area/station/medical/surgery)
+"wIo" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/engineering/main)
"wIr" = (
/obj/effect/turf_decal/tile/dark_red/opposingcorners,
/obj/structure/cable,
@@ -64676,6 +65603,19 @@
},
/turf/open/floor/iron/dark,
/area/station/medical/chemistry/minisat)
+"wJn" = (
+/obj/structure/cable,
+/obj/machinery/door/airlock/maintenance,
+/obj/effect/mapping_helpers/airlock/autoname,
+/obj/effect/mapping_helpers/airlock/abandoned,
+/obj/effect/mapping_helpers/airlock/access/any/security/maintenance,
+/obj/effect/turf_decal/siding/wood{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/wood,
+/area/station/maintenance/central/greater)
"wJy" = (
/turf/closed/wall,
/area/station/medical/storage)
@@ -64693,16 +65633,6 @@
/obj/effect/spawner/random/entertainment/deck,
/turf/open/floor/wood,
/area/station/commons/lounge)
-"wKE" = (
-/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
-/obj/effect/mapping_helpers/airlock/unres,
-/obj/structure/disposalpipe/segment,
-/obj/machinery/door/airlock/maintenance_hatch,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/plating,
-/area/station/maintenance/department/engine)
"wKO" = (
/turf/open/floor/glass,
/area/station/maintenance/department/medical)
@@ -64789,6 +65719,15 @@
},
/turf/open/floor/iron/dark,
/area/station/medical/chemistry/minisat)
+"wMm" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"wMn" = (
/obj/structure/table,
/obj/item/storage/box/prisoner{
@@ -64879,6 +65818,22 @@
/obj/effect/spawner/random/structure/crate,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
+"wNt" = (
+/obj/machinery/airalarm/directional/north,
+/obj/structure/cable,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/structure/railing/corner{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/upper)
"wNK" = (
/obj/structure/closet/emcloset,
/obj/effect/turf_decal/stripes,
@@ -64890,19 +65845,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/commons/storage/primary)
-"wNN" = (
-/obj/structure/cable,
-/obj/effect/landmark/start/atmospheric_technician,
-/obj/effect/landmark/event_spawn,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/turf/open/floor/iron/dark/corner{
- dir = 8
- },
-/area/station/engineering/atmos/storage/gas)
"wNZ" = (
/obj/machinery/light/small/directional/west,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
@@ -64991,6 +65933,15 @@
/obj/effect/landmark/atmospheric_sanity/ignore_area,
/turf/closed/wall/r_wall,
/area/station/ai_monitored/turret_protected/ai_upload_foyer)
+"wPD" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/cable,
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/mix)
"wPU" = (
/obj/machinery/light/small/directional/west,
/turf/open/misc/asteroid,
@@ -65034,6 +65985,18 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/wood,
/area/station/service/theater)
+"wQQ" = (
+/obj/machinery/light/small/dim/directional/east,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/checker{
+ dir = 4
+ },
+/area/station/engineering/atmos/project)
"wQW" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/neutral,
@@ -65095,6 +66058,13 @@
"wSc" = (
/turf/open/openspace,
/area/station/security/prison)
+"wSe" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/trimline/yellow/filled/corner,
+/turf/open/floor/iron,
+/area/station/engineering/lobby)
"wSf" = (
/turf/open/floor/iron/white,
/area/station/medical/exam_room)
@@ -65175,31 +66145,10 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
/area/station/security/prison)
-"wUg" = (
-/obj/machinery/atmospherics/components/unary/portables_connector/visible{
- dir = 8
- },
-/obj/machinery/portable_atmospherics/canister,
-/turf/open/floor/iron/dark/textured,
-/area/station/engineering/atmos)
"wUH" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/white,
/area/station/medical/chemistry/minisat)
-"wUK" = (
-/obj/machinery/disposal/bin,
-/obj/effect/turf_decal/tile/yellow{
- dir = 4
- },
-/obj/effect/turf_decal/tile/yellow{
- dir = 8
- },
-/obj/structure/disposalpipe/trunk,
-/obj/machinery/light/dim/directional/north,
-/turf/open/floor/iron/dark/corner{
- dir = 1
- },
-/area/station/engineering/atmos/storage/gas)
"wUM" = (
/obj/machinery/nuclearbomb/beer,
/obj/machinery/airalarm/directional/north,
@@ -65233,6 +66182,17 @@
},
/turf/open/floor/wood,
/area/station/service/theater)
+"wVl" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/machinery/camera/autoname/directional/south,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/obj/structure/extinguisher_cabinet/directional/south,
+/turf/open/floor/iron/dark/corner,
+/area/station/engineering/atmos/upper)
"wVz" = (
/obj/machinery/power/apc/auto_name/directional/west,
/obj/effect/decal/cleanable/dirt/dust,
@@ -65259,6 +66219,9 @@
/obj/effect/mapping_helpers/airlock/access/all/science/general,
/turf/open/floor/iron/white,
/area/station/science/research)
+"wVS" = (
+/turf/open/misc/asteroid,
+/area/station/maintenance/department/medical)
"wWk" = (
/obj/effect/turf_decal/stripes{
dir = 1
@@ -65295,12 +66258,6 @@
},
/turf/open/floor/wood/parquet,
/area/station/medical/psychology)
-"wWv" = (
-/obj/machinery/door/airlock/maintenance_hatch,
-/obj/effect/mapping_helpers/airlock/access/all/supply/general,
-/obj/effect/decal/cleanable/dirt/dust,
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical/central)
"wWy" = (
/obj/machinery/power/terminal{
dir = 8
@@ -65328,10 +66285,6 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/iron,
/area/station/cargo/miningoffice)
-"wWJ" = (
-/obj/effect/turf_decal/sand/plating,
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical)
"wWY" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/decal/cleanable/blood/old,
@@ -65356,6 +66309,13 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/cargo/warehouse/upper)
+"wXK" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/obj/structure/closet/secure_closet/atmospherics,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos)
"wXO" = (
/obj/structure/cable,
/obj/effect/mapping_helpers/broken_floor,
@@ -65512,17 +66472,6 @@
/obj/machinery/telecomms/message_server/preset,
/turf/open/floor/circuit/green/telecomms/mainframe,
/area/station/tcommsat/server)
-"xad" = (
-/obj/machinery/door/airlock/maintenance_hatch,
-/obj/effect/mapping_helpers/airlock/access/all/science/robotics,
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/maintenance/port/lesser)
"xao" = (
/obj/structure/railing{
dir = 5
@@ -65596,6 +66545,16 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/command)
+"xaK" = (
+/obj/effect/turf_decal/tile/dark_blue,
+/obj/structure/disposalpipe/segment{
+ dir = 1
+ },
+/obj/structure/railing{
+ dir = 9
+ },
+/turf/open/floor/iron,
+/area/station/hallway/secondary/command)
"xaM" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 8
@@ -65799,6 +66758,17 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/plating,
/area/station/hallway/secondary/command)
+"xer" = (
+/obj/machinery/airalarm/directional/west,
+/obj/machinery/portable_atmospherics/canister/nitrogen,
+/obj/effect/turf_decal/box,
+/turf/open/floor/iron/dark/textured,
+/area/station/engineering/atmos/mix)
+"xex" = (
+/obj/effect/turf_decal/sand/plating,
+/obj/structure/barricade/wooden,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical)
"xey" = (
/obj/machinery/camera/autoname/directional/west,
/obj/effect/turf_decal/tile/red/half/contrasted{
@@ -65888,14 +66858,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/closed/wall/r_wall,
/area/station/science/ordnance/burnchamber)
-"xfS" = (
-/obj/structure/sign/departments/aisat/directional/east,
-/obj/effect/turf_decal/tile/dark_blue/anticorner/contrasted{
- dir = 4
- },
-/obj/machinery/photobooth,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/command)
"xgn" = (
/obj/structure/mannequin/skeleton{
starting_items = list()
@@ -65944,6 +66906,19 @@
"xhy" = (
/turf/open/floor/wood/parquet,
/area/station/service/theater)
+"xhG" = (
+/obj/structure/table,
+/obj/item/hfr_box/corner,
+/obj/item/hfr_box/corner,
+/obj/item/hfr_box/corner,
+/obj/item/hfr_box/corner,
+/obj/item/hfr_box/core,
+/obj/machinery/light_switch/directional/south,
+/obj/effect/turf_decal/stripes{
+ dir = 6
+ },
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmospherics_engine)
"xhJ" = (
/turf/closed/wall/r_wall,
/area/station/command/heads_quarters/cmo)
@@ -66227,13 +67202,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white,
/area/station/medical/chemistry)
-"xmH" = (
-/obj/structure/cable,
-/obj/structure/disposalpipe/trunk/multiz/down{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos/upper)
"xmM" = (
/obj/structure/closet/secure_closet/freezer/fridge,
/obj/machinery/power/apc/auto_name/directional/west,
@@ -66343,16 +67311,6 @@
/obj/machinery/camera/autoname/directional/east,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"xoR" = (
-/obj/effect/turf_decal/trimline/yellow/filled/line{
- dir = 9
- },
-/obj/structure/table,
-/obj/item/stack/rods/twentyfive,
-/obj/item/stack/cable_coil,
-/obj/machinery/camera/autoname/directional/north,
-/turf/open/floor/iron,
-/area/station/engineering/main)
"xoT" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -66468,6 +67426,15 @@
/obj/structure/closet/crate/freezer,
/turf/open/floor/plating,
/area/station/maintenance/department/science)
+"xry" = (
+/obj/effect/turf_decal/tile/dark_blue,
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/railing,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/command)
"xrG" = (
/obj/structure/disposalpipe/segment,
/obj/effect/turf_decal/stripes/asteroid/line,
@@ -66579,6 +67546,13 @@
/obj/machinery/light/directional/north,
/turf/open/floor/engine,
/area/station/medical/chemistry)
+"xte" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/effect/mapping_helpers/damaged_window{
+ integrity_damage_max = 0.5
+ },
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical/central)
"xtp" = (
/obj/effect/turf_decal/tile/red/anticorner/contrasted{
dir = 4
@@ -66589,6 +67563,9 @@
/obj/structure/cable/multilayer/multiz,
/turf/open/floor/iron,
/area/station/security)
+"xts" = (
+/turf/open/floor/glass/reinforced,
+/area/station/engineering/atmos/project)
"xtA" = (
/obj/effect/turf_decal/tile/neutral/diagonal_centre,
/obj/structure/cable,
@@ -66634,6 +67611,17 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/fore)
+"xuz" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/requests_console/auto_name/directional/east,
+/obj/effect/mapping_helpers/requests_console/ore_update,
+/obj/effect/mapping_helpers/requests_console/assistance,
+/obj/effect/mapping_helpers/requests_console/supplies,
+/turf/open/floor/iron,
+/area/station/engineering/lobby)
"xuD" = (
/obj/structure/cable,
/obj/machinery/button/door/directional/south{
@@ -66677,18 +67665,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/primary/fore)
-"xuZ" = (
-/obj/structure/cable,
-/obj/effect/turf_decal/tile/yellow,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/iron/dark/corner{
- dir = 8
- },
-/area/station/engineering/atmos/storage/gas)
"xvg" = (
/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{
dir = 4
@@ -66784,12 +67760,23 @@
/obj/structure/cable/layer1,
/turf/open/floor/engine,
/area/station/engineering/supermatter/room)
+"xwN" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/sand/plating,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical)
"xwO" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/structure/disposalpipe/segment,
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/department/medical/central)
+"xwT" = (
+/obj/effect/turf_decal/sand/plating,
+/obj/machinery/door/airlock/maintenance_hatch,
+/obj/effect/mapping_helpers/airlock/access/all/medical/general,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical)
"xxe" = (
/obj/structure/disposalpipe/segment,
/obj/effect/decal/cleanable/dirt,
@@ -66880,6 +67867,17 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark,
/area/station/science/ordnance)
+"xxZ" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/mix)
"xyG" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/machinery/power/apc/auto_name/directional/south,
@@ -67354,19 +68352,6 @@
/obj/item/storage/box/monkeycubes,
/turf/open/floor/iron/white/textured_large,
/area/station/science/xenobiology)
-"xGX" = (
-/obj/machinery/pdapainter{
- pixel_y = 2
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/machinery/airalarm/directional/south,
-/obj/item/storage/box/stickers{
- pixel_y = 16
- },
-/turf/open/floor/iron/dark,
-/area/station/command/heads_quarters/hop)
"xGY" = (
/obj/item/radio/intercom/directional/south,
/turf/open/floor/engine,
@@ -67404,12 +68389,6 @@
"xHY" = (
/turf/open/floor/iron/white,
/area/station/medical/medbay/lobby)
-"xIh" = (
-/obj/effect/turf_decal/siding/thinplating_new{
- dir = 4
- },
-/turf/open/floor/glass/reinforced,
-/area/station/engineering/atmos/upper)
"xIl" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/effect/turf_decal/siding/purple{
@@ -67528,19 +68507,6 @@
"xKo" = (
/turf/closed/wall,
/area/station/maintenance/port/greater)
-"xKp" = (
-/obj/structure/closet/preopen{
- icon_state = "bio";
- name = "level 3 biohazard gear closet"
- },
-/obj/effect/turf_decal/tile/green/anticorner/contrasted{
- dir = 8
- },
-/obj/item/radio/intercom/directional/west,
-/obj/effect/mapping_helpers/broken_floor,
-/obj/item/tank/internals/oxygen,
-/turf/open/floor/iron/white/textured,
-/area/station/medical/treatment_center)
"xKx" = (
/mob/living/basic/mothroach,
/turf/open/misc/asteroid,
@@ -67672,6 +68638,14 @@
/obj/effect/turf_decal/tile/red/half/contrasted,
/turf/open/floor/iron,
/area/station/hallway/primary/fore)
+"xNw" = (
+/obj/machinery/door/airlock/maintenance_hatch,
+/obj/effect/mapping_helpers/airlock/access/all/science/general,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron/white/smooth_large,
+/area/station/maintenance/department/science)
"xNy" = (
/obj/effect/turf_decal/tile/red{
dir = 1
@@ -67887,6 +68861,15 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central)
+"xRV" = (
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/structure/cable,
+/turf/open/floor/iron/dark/corner{
+ dir = 1
+ },
+/area/station/engineering/atmos/mix)
"xSE" = (
/obj/machinery/door/poddoor/lift/preopen{
transport_linked_id = "cargo"
@@ -67935,12 +68918,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/cargo/storage)
-"xTP" = (
-/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
- dir = 5
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos/upper)
"xTZ" = (
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/wood/tile,
@@ -68004,14 +68981,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/white/smooth_large,
/area/station/science/research)
-"xVk" = (
-/obj/effect/turf_decal/tile/yellow{
- dir = 8
- },
-/turf/open/floor/iron/dark/corner{
- dir = 1
- },
-/area/station/engineering/atmos/upper)
"xVt" = (
/obj/structure/window/reinforced/spawner/directional/north,
/turf/open/floor/engine,
@@ -68085,6 +69054,13 @@
},
/turf/open/floor/iron,
/area/station/command/gateway)
+"xWP" = (
+/obj/machinery/door/airlock/maintenance,
+/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/turf/open/floor/plating,
+/area/station/maintenance/port/greater)
"xWQ" = (
/obj/structure/cable,
/obj/effect/landmark/start/bitrunner,
@@ -68189,6 +69165,13 @@
/obj/effect/spawner/random/engineering/flashlight,
/turf/open/floor/wood/parquet,
/area/station/cargo/boutique)
+"xYh" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"xYn" = (
/obj/machinery/door/airlock/engineering{
name = "Engineer AI Satellite Access"
@@ -68512,12 +69495,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/secondary/command)
-"ydX" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/iron,
-/area/station/engineering/atmospherics_engine)
"yec" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 8
@@ -68608,11 +69585,6 @@
/obj/machinery/camera/autoname/directional/west,
/turf/open/floor/iron,
/area/station/command/gateway)
-"ygc" = (
-/obj/machinery/door/airlock/maintenance_hatch,
-/obj/effect/mapping_helpers/airlock/access/all/supply/qm,
-/turf/open/floor/plating,
-/area/station/maintenance/department/medical)
"ygh" = (
/obj/structure/disposaloutlet{
dir = 4
@@ -68723,6 +69695,30 @@
},
/turf/open/floor/iron/dark,
/area/station/security/warden)
+"yhJ" = (
+/obj/structure/table,
+/obj/item/storage/box/monkeycubes{
+ pixel_x = 4
+ },
+/obj/item/storage/box/monkeycubes{
+ pixel_x = 6;
+ pixel_y = 9
+ },
+/obj/item/storage/pill_bottle/mutadone{
+ pixel_x = -9
+ },
+/obj/machinery/airalarm/directional/north,
+/obj/effect/turf_decal/siding/purple/corner{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/item/flesh_shears{
+ pixel_y = 10;
+ pixel_x = -5
+ },
+/turf/open/floor/iron/white/textured,
+/area/station/science/genetics)
"yhV" = (
/obj/effect/turf_decal/siding/purple,
/obj/effect/turf_decal/stripes/line{
@@ -68914,13 +69910,11 @@
dir = 8
},
/area/station/command/meeting_room)
-"ylQ" = (
-/obj/effect/turf_decal/siding/thinplating_new{
- dir = 10
- },
-/obj/machinery/camera/autoname/directional/south,
-/turf/open/floor/glass/reinforced,
-/area/station/engineering/atmos/upper)
+"ylI" = (
+/obj/effect/turf_decal/sand/plating,
+/obj/item/rack_parts,
+/turf/open/floor/plating,
+/area/station/maintenance/department/medical)
"ylR" = (
/obj/structure/table,
/obj/item/aicard,
@@ -77576,7 +78570,7 @@ cLf
cLf
rGO
rGO
-nMk
+sKL
rGO
nMk
rGO
@@ -77833,7 +78827,7 @@ cLf
rGO
opZ
opZ
-fYX
+opZ
urS
opZ
opZ
@@ -78347,7 +79341,7 @@ cLf
opZ
opZ
opZ
-fYX
+opZ
rGO
opZ
opZ
@@ -78861,7 +79855,7 @@ dUc
opZ
opZ
opZ
-fYX
+opZ
rGO
opZ
opZ
@@ -80963,9 +81957,9 @@ awi
fpK
ilk
rnk
-alW
-rvo
-xKp
+tbx
+jCj
+bxR
rnk
dnO
rnk
@@ -81220,9 +82214,9 @@ ina
fpK
hoD
rnk
-qxE
-lAs
-lbw
+tys
+aDO
+doM
rnk
dnO
rnk
@@ -81478,7 +82472,7 @@ rnk
rnk
rnk
dKw
-uvl
+sqG
dKw
rnk
fjC
@@ -81725,7 +82719,7 @@ tRf
lLk
lLk
lLk
-wWv
+hCM
koZ
mPX
szK
@@ -81964,7 +82958,7 @@ fZg
bVs
ycz
bVs
-cAv
+dgx
uAW
xfN
icM
@@ -81988,7 +82982,7 @@ iFU
bSX
qPN
xwO
-mHG
+sIR
ecy
sme
rCz
@@ -82011,9 +83005,9 @@ xOQ
wwj
hvP
fma
-eCd
-dHU
-wDe
+vbA
+vDx
+lZD
rnk
bAr
rnk
@@ -82267,10 +83261,10 @@ gdf
rnb
tTl
jOH
-rYs
-vTp
-vTp
-iej
+pTW
+dik
+dik
+plD
rnk
gtK
stE
@@ -82525,9 +83519,9 @@ amK
ckH
sMO
fma
-eOZ
-rIH
-nTA
+oLx
+icB
+tKG
rnk
gtK
vlR
@@ -82718,7 +83712,7 @@ hMa
cpB
eSS
eSS
-abw
+nGr
eSS
esl
ggY
@@ -82775,15 +83769,15 @@ fvo
jPO
ojS
kvW
-rCD
+kXn
xaC
dKw
dKw
dKw
dKw
rnk
-vqC
-hXo
+wCF
+bAa
rnk
rnk
gtK
@@ -83032,7 +84026,7 @@ fvo
pwn
isy
hSB
-cnd
+qPl
uPg
bui
yit
@@ -83531,9 +84525,9 @@ vXS
rnk
rnk
rnk
-vrN
+hJN
rkL
-mUz
+uLG
uAt
ehs
wkK
@@ -83783,7 +84777,7 @@ mhz
kTC
nnL
ylf
-cOf
+xte
bfc
tiI
rnk
@@ -86355,7 +87349,7 @@ fXn
fXn
cQm
huK
-wvt
+lqZ
oUd
rnk
mrr
@@ -86897,7 +87891,7 @@ xuK
uNd
mTs
hLw
-gTY
+jFs
gvk
pEZ
qaV
@@ -87616,7 +88610,7 @@ iPp
aSZ
jwb
tzs
-fXC
+skS
xoT
ycG
kib
@@ -90229,7 +91223,7 @@ prW
tOm
jLr
rnk
-srq
+uHk
rnk
rnk
kic
@@ -93501,9 +94495,9 @@ axD
axD
axD
axD
-qmJ
+rrO
jxq
-kDY
+gMO
axD
axD
dUc
@@ -93758,7 +94752,7 @@ hrM
aGz
ien
csW
-rjO
+kLu
toJ
dGh
jqu
@@ -93802,7 +94796,7 @@ mMT
mMT
twW
pTn
-pMV
+qnX
mMT
hwk
hRB
@@ -94060,7 +95054,7 @@ uZg
byb
fBA
nlz
-rbt
+lsK
cXL
enu
tGt
@@ -94528,11 +95522,11 @@ cLf
uuN
uuN
axD
-hWd
-fQk
+qYc
+cFF
ruc
jcW
-pvp
+mAW
axD
eKR
sgz
@@ -94828,7 +95822,7 @@ bcu
pPy
mMT
mMT
-sUI
+amu
mMT
mMT
mMT
@@ -95046,8 +96040,8 @@ eYO
mrq
eBK
bQc
-ptX
-jXC
+cad
+bus
fCY
loC
ejb
@@ -95059,7 +96053,7 @@ sRP
qgn
wsS
eXM
-xGX
+fZd
sgz
dFM
lUp
@@ -95307,7 +96301,7 @@ nlQ
nlQ
lQD
sgz
-uWg
+eqY
cdX
pLO
sFB
@@ -95827,11 +96821,11 @@ dhl
fbC
qms
auM
-hvt
-iwm
-aBy
-mhG
-jDT
+pvh
+nxP
+uVg
+rPZ
+gOw
uDE
ahw
nvK
@@ -96084,11 +97078,11 @@ nAx
kaz
dbJ
mMH
-sPS
-jww
-btw
-btw
-btw
+xry
+cUB
+xaK
+fpO
+fpO
iow
cEf
oMr
@@ -96344,7 +97338,7 @@ rEp
qgd
xaI
bzE
-epx
+dEV
teT
fpm
cas
@@ -97117,7 +98111,7 @@ vOe
vOe
pBu
juw
-xfS
+bde
dLx
qGk
kmu
@@ -99946,7 +100940,7 @@ utM
utM
utM
swP
-aLz
+sGb
tuA
sGs
wOi
@@ -101796,7 +102790,7 @@ iin
iin
iin
rtL
-wKE
+ocg
gxM
cmZ
osX
@@ -104548,7 +105542,7 @@ wze
aby
hGZ
wZz
-cdo
+nrm
wZz
ipR
kYu
@@ -104594,7 +105588,7 @@ azv
nMI
kAw
pyi
-szp
+kTI
hRd
sBm
bAE
@@ -105113,7 +106107,7 @@ jOq
jZV
sgu
tlp
-aXA
+jYw
ajQ
nMI
cLf
@@ -105594,7 +106588,7 @@ vxX
vfJ
oBP
raz
-wtr
+xNw
rrq
wFb
irJ
@@ -105614,7 +106608,7 @@ xOU
nMI
nMI
nMI
-xad
+mUH
nMI
nMI
nMI
@@ -106640,7 +107634,7 @@ lhx
vVk
kcB
wMZ
-rXT
+feq
kNk
bwQ
mEs
@@ -106672,7 +107666,7 @@ hUw
qjw
mUg
gTV
-piu
+aBf
gEJ
jEc
sJo
@@ -107445,13 +108439,13 @@ msV
eyg
dUi
myg
-sCf
-svf
-svf
+gfj
+jxd
+jxd
svf
svf
pTJ
-rfd
+iIk
ulc
dbn
uFb
@@ -107702,10 +108696,10 @@ gTV
eyg
wpn
cFc
-tlY
-vEZ
-nPM
-tQC
+svf
+svf
+cRQ
+wSe
fQO
eqp
ruZ
@@ -107953,16 +108947,16 @@ duo
jMa
dpU
fQp
-pve
-lKE
+oSv
+wsF
gsM
tFW
mZc
-cFc
-ifc
-ruZ
-ruZ
-ruZ
+aSF
+xuz
+aBo
+moA
+hWP
ruZ
ruZ
ruZ
@@ -108210,18 +109204,18 @@ pUt
dHL
dpU
bnK
-lED
-tLa
+bbc
ocB
ocB
-hrA
-enL
-aOb
+czb
+czb
+gPQ
+aWD
ruZ
+xDn
+aWD
+aWD
heP
-apK
-apK
-apK
bTt
svK
ulc
@@ -108469,16 +109463,16 @@ dpU
jco
oss
vEZ
-fEu
+cxv
+vEZ
vEZ
-ine
hmz
-bLS
-ruZ
-bcA
-ruZ
-ruZ
+aWD
+fWo
+qcQ
+kRS
ruZ
+soV
ruZ
ugJ
mIY
@@ -108721,24 +109715,24 @@ eLV
sbf
cbJ
giD
-uMq
-uMq
-uMq
-scd
-uMq
-uMq
+fTX
+fTX
+fTX
+dcL
+fTX
+fTX
+hfp
+fTX
+fTX
aWD
-xDn
+epE
+hnu
+jvu
aWD
-aWD
-aWD
-wuS
-aWD
-chV
-rDD
+soV
ruZ
ruZ
-tUV
+ilX
ruZ
ruZ
chV
@@ -108978,21 +109972,21 @@ arB
pvX
pvX
rJD
-rhB
-woe
-pjY
-xuZ
-jFf
-uMq
-lBB
-qcQ
-gpJ
+hfp
+lwc
+gMb
+mWk
+wXK
+kWq
+hcP
+qdE
+fIF
aWD
-xoR
-huP
-dBX
-ahl
-hQm
+tMD
+nRu
+cCj
+aWD
+nwA
aWD
rZb
rJb
@@ -109235,28 +110229,28 @@ jak
tnp
mSN
oQp
-rhB
-rXU
-gLQ
-xuZ
-vpf
-uMq
-epE
-hnu
-neM
-kmB
-roc
-btl
-lyy
-rhS
-sqw
+hfp
+rXi
+szd
+vym
+oEu
+oEu
+oEu
+uvY
+vvs
+aWD
+aWD
+gfy
+aWD
+aWD
+wuS
aWD
iTa
wWy
jzJ
aWD
-cNM
-rhS
+nsj
+ugV
jeY
dCM
btl
@@ -109489,35 +110483,35 @@ rpS
rpS
wGZ
dow
-sgw
+bzC
bzC
oAO
-rhB
-gUe
-ueK
-xuZ
-vpf
-uMq
-tMD
-lSm
-cCj
+hfp
+rNV
+dgn
+iyY
+hQv
+otP
+cqY
+omk
+pxl
aWD
-jJp
-btl
-oAc
-moU
-ggP
-eaX
-kVV
+msa
+aHO
+pbe
+dBb
+cyj
+bPC
+xfi
mjf
sNU
-aer
+nVs
xfi
wBH
-ggQ
+rhS
mLN
btl
-kIS
+wIo
ryC
mnU
lpe
@@ -109746,21 +110740,21 @@ wfN
gVx
cLs
bND
-cYa
+rbU
bND
-fvW
-uMq
-wUK
-wmj
-gCY
-kNb
-uMq
-aWD
-oAn
-aWD
+eCe
+fTX
+iQH
+xYh
+wkx
+gfE
+wqP
+raD
+fTX
+fTX
aWD
cNM
-mCb
+wGE
xCf
urc
xCf
@@ -110004,20 +110998,20 @@ cKo
gza
hFF
lfn
-oYM
-nqR
-knK
-vji
-wFC
-wNN
-nZI
-mdw
-aWD
-cXn
-vNk
-oHA
-xfi
-jtS
+gHD
+umz
+pcw
+mfE
+nwa
+kPL
+gfE
+wqP
+raD
+uhl
+iOT
+jBI
+wbe
+efa
rhS
rhS
equ
@@ -110028,9 +111022,9 @@ dAe
rhS
rhS
rhS
-rhS
-gaN
nHr
+gaN
+rhS
sqw
ryC
kqC
@@ -110252,29 +111246,29 @@ jSu
cnS
rwF
fCG
-wgK
-uTU
+lHE
+aVG
fTX
-wUg
-wrQ
-tbv
+fvB
+eWp
+uSY
fTX
-htx
-hUr
-wBU
-aKA
-uMq
-fIG
-dmW
-rxU
-rat
-wex
-aWD
-eFM
-xCf
-xCf
-xCf
-cYB
+ioc
+glg
+dbL
+iHQ
+fTX
+aRq
+ejN
+ulz
+vdS
+rwS
+lyT
+fTX
+uJp
+rhS
+rhS
+efa
rhS
rhS
rhS
@@ -110509,29 +111503,29 @@ oEZ
rFZ
bND
mjR
-bND
-vcZ
+jBx
+rbd
fTX
fTX
fTX
fTX
fTX
-aDJ
-hUr
-wBU
-mzJ
-uMq
-vlX
-vUr
-vUr
-vUr
-eus
-aWD
-qWG
-vas
-fMW
-cfJ
+eUz
+glg
+dbL
+iHQ
+fTX
+fxe
+gQa
+eqW
+aFt
+qje
+ppy
+khI
+eZz
ybD
+cfJ
+vyS
ybD
ybD
ybD
@@ -110766,26 +111760,26 @@ jSu
cnS
gvR
bND
-bND
-dAo
+hKI
+lkT
fTX
-deX
-rAW
-pSH
+gWy
+rnp
+gWy
fTX
-ciF
-hUr
-wBU
+cYk
+glg
+dbL
dYx
-uMq
-vqB
-sJh
-rJy
-vUb
-uMq
-aWD
-mkL
-qHp
+fTX
+fTX
+nju
+sUi
+hMX
+fTX
+fTX
+fTX
+uFC
uFC
uFC
jnY
@@ -111023,26 +112017,26 @@ nqK
cnS
bND
bND
-lNr
-bND
-ecF
-dWB
+sAl
+rwS
+unt
+vck
+vck
vck
-nhS
vck
flQ
-hRp
-wBU
-diM
-uMq
-vqB
-sJh
-rJy
-vUb
-nZH
+wMm
+dbL
+iHQ
+aoM
+fTX
+uVj
+uVj
+uVj
+fTX
+oae
+uFC
uFC
-jnY
-oUb
uFC
lNk
sJG
@@ -111283,24 +112277,24 @@ bND
bND
gvR
bND
-eYM
+bND
+fIZ
fIZ
-oYX
umT
mjP
jZN
-uFL
-azs
-uMq
-vqB
-sJh
-rJy
-vUb
-uMq
+imW
+pUI
+iuM
+kUX
+eNh
+jDj
+ulw
+kUX
+bzi
uFC
boT
djU
-wFG
lLU
utV
cPG
@@ -111540,25 +112534,25 @@ bND
trz
bND
bND
-qQW
-mzb
-kBN
+kWs
+bND
+bND
mVf
kUX
lXI
mRu
eeo
kUX
-mRu
-mRu
-mRu
-mRu
kUX
+eNh
+jDj
+ulw
+kUX
+uFC
uFC
jsL
kpn
nPW
-nPW
auj
cPG
oDn
@@ -111810,13 +112804,13 @@ jfo
jfo
jfo
jfo
+qqw
xxi
uFC
eBZ
kpn
pxu
pxu
-pxu
oyV
axQ
yho
@@ -112067,11 +113061,11 @@ kGZ
kGZ
kGZ
tbk
+kGZ
rkp
uFC
boT
kAh
-wCm
qWs
utV
gea
@@ -112324,8 +113318,8 @@ pdR
kzk
qRF
kGZ
-cPx
-uFC
+qyd
+xhG
uFC
uFC
uFC
@@ -112583,7 +113577,7 @@ cEh
kGZ
woo
kUX
-vxX
+uFC
vxX
uFC
cUD
@@ -113055,7 +114049,7 @@ aku
xAd
upd
upd
-ndE
+iJI
mkV
dcc
uvx
@@ -113866,7 +114860,7 @@ nLd
nLd
nLd
owL
-fpg
+mkt
bBr
dUc
dUc
@@ -121556,7 +122550,7 @@ jQS
mbA
jQS
tMz
-inz
+bwv
fUp
jQS
poF
@@ -146747,10 +147741,10 @@ xtB
xRj
hSM
kYT
-vLs
-aCv
-vLs
-aCv
+oIW
+iPg
+oIW
+iPg
qoN
qoN
kGS
@@ -147004,12 +147998,12 @@ fLe
qlE
hXL
kYT
-cGs
-wWJ
-wWJ
-aCv
-hvw
-fXo
+dPn
+rLm
+rLm
+iPg
+tHb
+hRt
fnh
eOA
jSE
@@ -147260,14 +148254,14 @@ oOV
fLe
xRj
dWl
-ygc
-wWJ
-wWJ
-wWJ
-fvF
-duU
-hmA
-nJD
+fxd
+rLm
+rLm
+rLm
+ejd
+xwN
+hGm
+ipd
hyL
kJW
kYT
@@ -147521,10 +148515,10 @@ kYT
qoN
qoN
qoN
-aCv
-wWJ
+iPg
+rLm
qoN
-aCv
+iPg
ygt
dXH
kYT
@@ -147779,7 +148773,7 @@ wOU
wOU
kYT
qoN
-wWJ
+rLm
qoN
bGk
bGk
@@ -148036,7 +149030,7 @@ fxF
fxF
kYT
qoN
-taj
+xex
qoN
bGk
mqc
@@ -148292,8 +149286,8 @@ tMu
fxF
fxF
kYT
-wWJ
-wWJ
+rLm
+rLm
qoN
bGk
sHo
@@ -148311,7 +149305,7 @@ bVY
lgA
nDF
fnh
-mhc
+ibf
fnh
fnh
fnh
@@ -148549,7 +149543,7 @@ bHg
mYd
uUP
kYT
-wWJ
+rLm
qoN
qoN
bGk
@@ -148806,7 +149800,7 @@ eqv
udi
oTW
kYT
-wWJ
+rLm
kYT
bGk
bGk
@@ -149041,7 +150035,7 @@ vxX
vxX
poi
xeh
-jir
+noC
sBb
pic
gli
@@ -149063,7 +150057,7 @@ wOU
wOU
wOU
kYT
-taj
+xex
kYT
ogL
cPZ
@@ -149320,7 +150314,7 @@ wOU
vxX
vxX
qoN
-wWJ
+rLm
kYT
auB
waT
@@ -149577,7 +150571,7 @@ wOU
vxX
vxX
qoN
-wWJ
+rLm
kYT
xtb
fwJ
@@ -149834,7 +150828,7 @@ wOU
vxX
vxX
qoN
-wWJ
+rLm
kYT
auB
auB
@@ -150091,7 +151085,7 @@ epK
fnh
qoN
qoN
-taj
+xex
kYT
jEu
oYC
@@ -150347,8 +151341,8 @@ xMY
aDW
fnh
qoN
-rNJ
-rNJ
+wVS
+wVS
kYT
kYT
bGk
@@ -150602,11 +151596,11 @@ gBu
pWL
kra
kra
-nGv
-bgY
-bgY
-bgY
-bgY
+vgm
+uhh
+uhh
+uhh
+uhh
qoN
fnh
wnL
@@ -150861,9 +151855,9 @@ jpx
aLE
fnh
qoN
-rNJ
-koX
-bgY
+wVS
+nxi
+uhh
qoN
fnh
igq
@@ -151117,10 +152111,10 @@ iKn
gcD
msE
fnh
-aCv
-cGs
-vFq
-dog
+iPg
+dPn
+pcm
+rkv
qoN
fnh
evQ
@@ -151375,9 +152369,9 @@ xeA
otY
fnh
qoN
-rNJ
-blM
-dog
+wVS
+mPZ
+rkv
qoN
fnh
evQ
@@ -151633,8 +152627,8 @@ otY
fnh
qoN
qoN
-rNJ
-kpx
+wVS
+foE
qoN
fnh
gWX
@@ -151890,9 +152884,9 @@ vOu
fnh
qoN
qoN
-rNJ
-kpx
-qcU
+wVS
+foE
+big
fnh
jbG
ubo
@@ -152146,11 +153140,11 @@ vxX
vxX
vxX
qoN
-rNJ
-rNJ
-kpx
-rNJ
-eSL
+wVS
+wVS
+foE
+wVS
+xwT
mDT
cyw
uSN
@@ -152403,9 +153397,9 @@ fnh
fnh
fnh
fnh
-qcU
-kpx
-kpx
+big
+foE
+foE
qoN
fnh
sxa
@@ -152656,13 +153650,13 @@ vxX
vxX
vxX
fnh
-bmu
-tMP
-sHa
-pSV
-kpx
-bzu
-qcU
+vfZ
+jlN
+cIl
+lSg
+foE
+bvf
+big
qoN
fnh
igq
@@ -152913,13 +153907,13 @@ vxX
vxX
vxX
fnh
-bmu
-bMl
-uJA
+vfZ
+ohs
+ylI
fnh
qoN
-rNJ
-doZ
+wVS
+mUu
qoN
vxX
vxX
@@ -153175,9 +154169,9 @@ fnh
fnh
fnh
qoN
-aCv
-tBL
-aCv
+iPg
+vBv
+iPg
lDQ
lDQ
lDQ
@@ -155985,7 +156979,7 @@ gYW
gYW
gYW
wjI
-oTe
+qib
aLN
aLN
aLN
@@ -156242,7 +157236,7 @@ jVk
fuk
tFf
xiM
-oTe
+qib
aLN
aLN
aLN
@@ -156499,7 +157493,7 @@ gYW
gYW
gYW
wjI
-oTe
+qib
aLN
aLN
aLN
@@ -156751,7 +157745,7 @@ jCD
gYW
gYW
gYW
-eiZ
+wJn
gYW
bXD
gYW
@@ -157273,7 +158267,7 @@ vFg
gYW
gYW
gYW
-nzk
+jNI
jJb
jJb
jJb
@@ -157530,7 +158524,7 @@ wjI
wjI
wjI
eHU
-nzk
+jNI
dRq
bfN
uhi
@@ -157787,7 +158781,7 @@ wPn
gYW
cjp
wjI
-nzk
+jNI
qAh
mwx
ktr
@@ -158044,7 +159038,7 @@ sbp
wPn
xJd
xiM
-nzk
+jNI
pDs
wFZ
uhi
@@ -158301,7 +159295,7 @@ gYW
gYW
sKs
jBh
-nzk
+jNI
lIp
jAR
tZL
@@ -158558,11 +159552,11 @@ tAa
gYW
gYW
wjI
-nzk
-nzk
-nzk
-nzk
-nzk
+jNI
+jNI
+jNI
+jNI
+jNI
rMj
jIK
sDd
@@ -161865,7 +162859,7 @@ lFG
oDK
qIJ
fHX
-qwd
+dcp
ppb
jwL
nDR
@@ -161904,7 +162898,7 @@ uSe
cjp
wjI
wjI
-azV
+aVb
hPk
mnP
xFT
@@ -163705,7 +164699,7 @@ tAa
aWJ
dTe
dTe
-roB
+kJK
iGa
fKo
xUy
@@ -170084,7 +171078,7 @@ kWb
lWW
kBh
upw
-pRm
+uQh
kWb
lWW
lWW
@@ -171130,7 +172124,7 @@ uif
fYe
lJq
xeJ
-vRP
+hNq
bWi
bWi
iHH
@@ -172221,7 +173215,7 @@ dFB
vUO
xnl
nfP
-ixc
+cxC
cvT
cKc
dsJ
@@ -172713,7 +173707,7 @@ bkk
bkk
bkk
bkk
-fcK
+syI
bkk
bkk
bkk
@@ -172966,14 +173960,14 @@ qic
xKo
joo
bkk
-ost
-bMG
-vXG
-jjX
-ugo
-uvH
-uhW
-eyg
+xer
+oHc
+pvK
+lwd
+vkf
+iTg
+rYI
+gAo
eyg
isT
isT
@@ -173223,14 +174217,14 @@ oxB
xKo
joo
bkk
-ksg
-ktL
-ktL
-dKI
-anN
-fRB
-opq
-iZa
+pwo
+hgg
+gGg
+iyV
+hwt
+wAA
+lZR
+gAo
dUi
dUi
dUi
@@ -173480,14 +174474,14 @@ vFM
uqr
joo
bkk
-mxL
-xTP
-jgs
-jws
-anN
-uPR
-uWX
-iZa
+gsH
+pbk
+snp
+nPX
+hwt
+nQK
+nVX
+gAo
lyN
lyN
lyN
@@ -173701,7 +174695,7 @@ fYe
lJq
jmY
obA
-gOB
+yhJ
yiW
gFg
pQz
@@ -173737,14 +174731,14 @@ xKo
xKo
lVx
bkk
-rAZ
-glC
-ktL
-jvn
-anN
-anN
-vNd
-iZa
+sYA
+mqn
+cIz
+rgK
+hwt
+gGg
+gMF
+gAo
dRs
lyN
lyN
@@ -173755,11 +174749,11 @@ fqs
tCb
fjt
gij
-cVn
-thI
-pFF
-pFF
-pFF
+uTP
+iEr
+ppY
+ppY
+ppY
iwk
pzC
eUW
@@ -173994,14 +174988,14 @@ dDG
lVx
cie
bkk
-cMW
-tZp
-aaY
-aaY
-aaY
-aaY
-qHl
-iZa
+tCf
+buV
+buV
+ejj
+wPD
+ejj
+nrB
+gAo
pSb
qJs
jHn
@@ -174012,18 +175006,18 @@ aqu
nvw
aWD
wCG
-alv
+lON
guO
rhS
-kyE
+rhS
rhS
bWl
-rhS
-alv
-rhS
-nHr
-lYp
-pah
+guO
+oXJ
+ybD
+bfE
+dqQ
+jfQ
aWD
eNj
uYG
@@ -174251,28 +175245,28 @@ bkk
bkk
bkk
bkk
-ewM
-ewM
-ewM
-ewM
-ewM
-ewM
-hqj
+gAo
+gAo
+rDH
+rDH
+mYS
+rDH
+iZa
iZa
iZa
uyj
-dUi
-dUi
-heO
-dUi
+iZa
+iZa
+iZa
+iZa
+iZa
+iZa
aWD
-aWD
-aWD
-vzC
-aWD
-mog
-mog
-fFb
+cNM
+lON
+rhS
+oNj
+ceh
ybD
cSd
ybD
@@ -174504,31 +175498,31 @@ ent
cIN
lVx
bkk
-axv
-kHU
-kHU
-rCT
-kHU
-kHU
-kHU
-kHU
-kHU
-kHU
-ouG
-fst
-dBp
-bPH
-dUi
-lFJ
-oow
-lFJ
-aWD
-mRU
-sCp
-sCp
-aWD
-mog
-iNj
+doj
+xRV
+pie
+caJ
+eOl
+rLp
+vId
+egg
+xRV
+htQ
+iZa
+iBq
+qNO
+qJp
+nEM
+bOJ
+cwI
+lIR
+hcF
+jcN
+ebh
+avN
+lON
+oNj
+qHp
wtH
wtH
jNL
@@ -174760,31 +175754,31 @@ vxX
gMk
vWx
dor
-bkk
-hzg
-mhh
-mhh
-mhh
-mhh
-mhh
-mhh
-mhh
-mhh
-mhh
-fsu
-fze
-lMj
-ylQ
-dUi
-oow
-kQz
-oow
-aWD
-rQb
-mog
-sCp
-aWD
-aWD
+xWP
+eLN
+utE
+duE
+xxZ
+xxZ
+xxZ
+xxZ
+iBc
+qSM
+gWp
+ovD
+jRH
+cXu
+anN
+ktL
+ktL
+ktL
+ktL
+ozf
+iZa
+qWG
+nHr
+rhS
+sqw
wtH
wtH
rsw
@@ -175018,31 +176012,31 @@ gMk
cIN
lVx
bkk
-hzg
-mhh
-mhh
-mhh
-mhh
-mhh
-mhh
-mhh
-mhh
-mhh
-fsu
-nmr
-ixY
-mhA
-dUi
-lFJ
-oow
-lFJ
-aWD
-mRU
-mog
-sCp
-sCp
-sCp
-wje
+kYo
+gGg
+gGg
+oFp
+oFp
+oFp
+oFp
+gGg
+gGg
+beB
+iZa
+hXA
+cCJ
+anN
+vCg
+vCg
+uIj
+sfo
+wvm
+noQ
+eZz
+mDf
+ybD
+qHp
+wtH
anX
mGP
jjI
@@ -175275,34 +176269,34 @@ xKo
xKo
bjy
bkk
-hzg
-mhh
-mhh
-mhh
-mhh
-mhh
-mhh
-mhh
-mhh
-mhh
-fsu
-shb
-ixY
-iEB
-dUi
-dUi
-dUi
+ndA
+gGg
+oFp
+oFp
+oFp
+oFp
+oFp
+oFp
+gGg
+jEB
+aKk
+kLe
+uZV
+anN
+ktL
+vCg
+vVU
+eue
+iZa
aWD
aWD
-lww
-mog
-mog
-mog
-sCp
-wje
+aWD
+aWD
+aWD
+wtH
uca
eVA
-mYb
+tjU
oZC
aKj
wje
@@ -175532,34 +176526,34 @@ wlR
lNe
lVx
bkk
-hzg
-mhh
-mhh
-mhh
-mhh
-mhh
-mhh
-mhh
-mhh
-mhh
-qMX
-xmH
-ixY
-wDP
-xVk
-lfR
+aCu
+sTJ
+oFp
+oFp
+oFp
+oFp
+oFp
+oFp
+gGg
+rdf
iZa
-aWF
-elz
-mog
-mog
-mog
+kDB
+cuQ
+sJj
+exp
+gDo
+nsZ
+hdl
+ewM
mog
sCp
+sCp
+sCp
+mog
wje
cSC
jPb
-iBH
+fWQ
eVA
qqh
wje
@@ -175789,30 +176783,30 @@ jBG
oEN
aCL
bkk
-hzg
-mhh
-mhh
-mhh
-mhh
-mhh
-mhh
-mhh
-mhh
-mhh
-csH
-nmr
-nZw
-rsd
-rlU
-dTz
-iZa
-pFZ
-nKO
-mog
-mog
-mog
+tlA
+unr
+gGg
+oFp
+oFp
+oFp
+oFp
+gGg
+rgK
+kiY
+ovD
+txb
+gbz
+aeX
+csJ
+cyX
+fxn
+rIZ
+ewM
+sCp
+sCp
mog
sCp
+sCp
wje
vno
lAE
@@ -176042,34 +177036,34 @@ gMk
vxX
vPt
woL
-iNv
+oAp
xKo
tpz
bkk
-hzg
-mhh
-mhh
-mhh
-mhh
-mhh
-mhh
-mhh
-mhh
-mhh
-rry
-rZX
-kjv
-fwV
-vkN
-qdV
+ttq
+jef
+ejj
+ejj
+eSA
+nvP
+qfU
+ejj
+ejj
+rre
iZa
-qMw
-aJz
+fWz
+qdV
+qdV
+qdV
+sJv
+uTz
+hYM
+ewM
+mog
mog
mog
mog
mog
-sCp
wje
wtH
kjR
@@ -176276,7 +177270,7 @@ cYs
obA
obA
obA
-lWd
+ldM
vfJ
jxa
jxa
@@ -176303,25 +177297,25 @@ uab
qhG
qhG
qhG
-hcU
-qhG
+qhG
+qLt
qhG
qhG
iZa
+iZa
ovD
ovD
ovD
-ovD
-ovD
iZa
-lMj
-ksR
-ksR
-kIx
-nAa
iZa
-aWD
-aWD
+kUM
+qdV
+qdV
+qdV
+sJv
+vtD
+eiw
+iZa
uFC
uFC
tel
@@ -176559,11 +177553,11 @@ ohk
uab
qhG
awM
-eqX
-efQ
-drK
-unH
-sKn
+leh
+hkC
+rNZ
+bur
+uQa
ovD
btZ
djW
@@ -176571,14 +177565,14 @@ oas
muw
dLW
iZa
-dhH
-pMG
-pMG
-grb
-peW
+wNt
+oJP
+oJP
+oJP
+ecV
+wVl
+iZa
iZa
-vxX
-vxX
uFC
xlG
tGb
@@ -176820,7 +177814,7 @@ qpt
rbw
rbw
cZf
-bDk
+hlN
ovD
mio
jgs
@@ -176828,14 +177822,14 @@ nep
pMG
pCF
iZa
-kDI
-xIh
-xIh
-rsd
-cti
+vWU
+pMG
+pMG
+pMG
+bwi
+hXi
iZa
vxX
-vxX
uFC
xlG
tGb
@@ -177077,22 +178071,22 @@ fUL
kwh
ylm
vEE
-dSN
+huO
iZa
-cvX
-uuq
-rlH
+vcj
+vCg
+tkt
uIj
jgs
-adP
-aaY
-aaY
-aaY
-aaY
-cCQ
+lwe
+lIH
+seZ
+ajp
+kDD
+iUA
+fWL
iZa
vxX
-vxX
uFC
xlG
tGb
@@ -177334,21 +178328,21 @@ diZ
fvq
psi
smn
-nUS
-qhG
-sqA
-kUX
-mRu
-mRu
-mRu
-kUX
-mRu
-mRu
-mRu
-mRu
-mRu
-kUX
-vxX
+vpt
+ljh
+uhd
+ljh
+nSA
+nSA
+nSA
+ljh
+ljh
+nSA
+pnJ
+nSA
+ljh
+ljh
+ljh
vxX
uFC
xlG
@@ -177591,20 +178585,20 @@ ipu
qhG
evO
sIQ
-usm
-qhG
-ydX
-hrS
-vWh
-eES
-eES
-eES
-eES
-eES
-eES
-eES
-vWh
-kUX
+iOd
+ljh
+mCc
+mVt
+psN
+psN
+psN
+iYc
+jnM
+psN
+ekK
+mVt
+gnJ
+ljh
vxX
vxX
uFC
@@ -177830,7 +178824,7 @@ sab
sdn
iFN
aXl
-fyJ
+lZx
aXl
iFN
vxX
@@ -177848,20 +178842,20 @@ tNK
vkp
qgD
smn
-rbw
-btj
-dVW
-sNc
-vWh
-eES
-eES
-eES
-eES
-eES
-eES
-eES
-vWh
-kUX
+mHo
+owf
+wQQ
+wtC
+dSo
+aRa
+eZI
+xts
+xts
+xts
+bbE
+uVT
+lEC
+ljh
vxX
vxX
uFC
@@ -178106,19 +179100,19 @@ qhG
qhG
sjR
xmZ
-qhG
-qhG
-qhG
-vWh
-eES
-eES
-eES
-eES
-eES
-eES
-eES
-vWh
-kUX
+ljh
+ljh
+ljh
+eoW
+vfH
+xts
+xts
+xts
+xts
+xts
+umY
+wHN
+ljh
vxX
vxX
uFC
@@ -178365,17 +179359,17 @@ smn
keJ
keJ
qdl
-qhG
-vWh
-eES
-eES
-eES
-eES
-eES
-eES
-eES
-mKJ
-kUX
+ljh
+kCI
+vfH
+xts
+xts
+mEB
+xts
+xts
+umY
+vlH
+ljh
fYe
vxX
uFC
@@ -178622,17 +179616,17 @@ stS
bDk
bqz
tXf
-qhG
-vWh
-eES
-eES
-eES
-eES
-eES
-eES
-eES
-vWh
-kUX
+ljh
+uKN
+vfH
+xts
+xts
+xts
+xts
+xts
+umY
+tcj
+ljh
fYe
fYe
uFC
@@ -178879,17 +179873,17 @@ mra
rhi
bDk
eju
-qhG
-vWh
-eES
-eES
-eES
-eES
-eES
-eES
-eES
-vWh
-kUX
+ljh
+cCZ
+vfH
+eZI
+xts
+xts
+xts
+eZI
+rVC
+lEC
+ljh
fYe
fYe
uFC
@@ -179136,17 +180130,17 @@ vwh
nUS
bDk
eJi
-qhG
-vWh
-eES
-eES
-eES
-eES
-eES
-eES
-eES
-mkX
-kUX
+ljh
+gTM
+vfH
+pjz
+sEX
+mrc
+pmM
+aZp
+aZp
+sVp
+ljh
hen
hen
uFC
@@ -179393,17 +180387,17 @@ ofx
tEu
bDk
eJi
-qhG
-vWh
-vWh
-vWh
-vWh
-vWh
-vWh
-vWh
-jAE
-hRE
-kUX
+ljh
+lZt
+cbD
+uWw
+ljh
+lgB
+ljh
+ldR
+cKW
+iiH
+ljh
hen
hen
uFC
@@ -179650,17 +180644,17 @@ llW
llW
llW
feQ
-qhG
-kUX
-kUX
-kUX
-kUX
-kUX
-kUX
-kUX
-kUX
-kUX
-kUX
+ljh
+ljh
+ljh
+ljh
+ljh
+jLB
+ljh
+ljh
+ljh
+ljh
+ljh
hen
fYe
uFC
@@ -179910,11 +180904,11 @@ vbd
fYe
vxX
vxX
-vxX
-vxX
-vxX
-vxX
-vxX
+hhX
+dnD
+iri
+coS
+hhX
vxX
vxX
vxX
@@ -180167,11 +181161,11 @@ uLR
tAo
vxX
vxX
-vxX
-vxX
-vxX
-vxX
-vxX
+hhX
+akH
+mxt
+cue
+hhX
vxX
vxX
vxX
@@ -180425,8 +181419,8 @@ fYe
fYe
vxX
vxX
-vxX
-vxX
+hhX
+mxt
hhX
hhX
vxX
@@ -180683,7 +181677,7 @@ uVI
mUQ
hhX
hhX
-hhX
+mxt
hhX
hhX
vxX
@@ -182485,10 +183479,10 @@ hhX
hhX
hhX
hhX
-hhX
-hhX
-hhX
-hhX
+cLf
+cLf
+cLf
+cLf
hhX
hhX
hhX
@@ -182742,10 +183736,10 @@ hhX
hhX
hhX
hhX
-hhX
-hhX
-hhX
-hhX
+cLf
+cLf
+cLf
+cLf
hhX
hhX
hhX
@@ -182999,10 +183993,10 @@ hhX
hhX
hhX
hhX
-hhX
-hhX
-hhX
-hhX
+cLf
+cLf
+cLf
+cLf
hhX
hhX
hhX
@@ -187092,7 +188086,7 @@ cWL
tMz
jQS
wmO
-kZW
+ipU
jgA
jQS
tMz
@@ -188123,7 +189117,7 @@ rxC
awy
jpe
wnA
-trg
+qsB
jQS
jQS
jQS
diff --git a/_maps/map_files/CTF/classic.dmm b/_maps/minigame/CTF/classic.dmm
similarity index 100%
rename from _maps/map_files/CTF/classic.dmm
rename to _maps/minigame/CTF/classic.dmm
diff --git a/_maps/map_files/CTF/cruiser.dmm b/_maps/minigame/CTF/cruiser.dmm
similarity index 100%
rename from _maps/map_files/CTF/cruiser.dmm
rename to _maps/minigame/CTF/cruiser.dmm
diff --git a/_maps/map_files/CTF/downtown.dmm b/_maps/minigame/CTF/downtown.dmm
similarity index 100%
rename from _maps/map_files/CTF/downtown.dmm
rename to _maps/minigame/CTF/downtown.dmm
diff --git a/_maps/map_files/CTF/fourSide.dmm b/_maps/minigame/CTF/fourSide.dmm
similarity index 100%
rename from _maps/map_files/CTF/fourSide.dmm
rename to _maps/minigame/CTF/fourSide.dmm
diff --git a/_maps/map_files/CTF/limbo.dmm b/_maps/minigame/CTF/limbo.dmm
similarity index 100%
rename from _maps/map_files/CTF/limbo.dmm
rename to _maps/minigame/CTF/limbo.dmm
diff --git a/_maps/map_files/CTF/turbine.dmm b/_maps/minigame/CTF/turbine.dmm
similarity index 100%
rename from _maps/map_files/CTF/turbine.dmm
rename to _maps/minigame/CTF/turbine.dmm
diff --git a/_maps/map_files/Basketball/ash_gladiators.dmm b/_maps/minigame/basketball/ash_gladiators.dmm
similarity index 100%
rename from _maps/map_files/Basketball/ash_gladiators.dmm
rename to _maps/minigame/basketball/ash_gladiators.dmm
diff --git a/_maps/map_files/Basketball/ass_blast_usa.dmm b/_maps/minigame/basketball/ass_blast_usa.dmm
similarity index 100%
rename from _maps/map_files/Basketball/ass_blast_usa.dmm
rename to _maps/minigame/basketball/ass_blast_usa.dmm
diff --git a/_maps/map_files/Basketball/beach_bums.dmm b/_maps/minigame/basketball/beach_bums.dmm
similarity index 100%
rename from _maps/map_files/Basketball/beach_bums.dmm
rename to _maps/minigame/basketball/beach_bums.dmm
diff --git a/_maps/map_files/Basketball/greytide_worldwide.dmm b/_maps/minigame/basketball/greytide_worldwide.dmm
similarity index 100%
rename from _maps/map_files/Basketball/greytide_worldwide.dmm
rename to _maps/minigame/basketball/greytide_worldwide.dmm
diff --git a/_maps/map_files/Basketball/lusty_xenomorphs.dmm b/_maps/minigame/basketball/lusty_xenomorphs.dmm
similarity index 100%
rename from _maps/map_files/Basketball/lusty_xenomorphs.dmm
rename to _maps/minigame/basketball/lusty_xenomorphs.dmm
diff --git a/_maps/map_files/Basketball/soviet_bear.dmm b/_maps/minigame/basketball/soviet_bear.dmm
similarity index 100%
rename from _maps/map_files/Basketball/soviet_bear.dmm
rename to _maps/minigame/basketball/soviet_bear.dmm
diff --git a/_maps/map_files/Basketball/space_surfers.dmm b/_maps/minigame/basketball/space_surfers.dmm
similarity index 100%
rename from _maps/map_files/Basketball/space_surfers.dmm
rename to _maps/minigame/basketball/space_surfers.dmm
diff --git a/_maps/map_files/Basketball/stadium.dmm b/_maps/minigame/basketball/stadium.dmm
similarity index 100%
rename from _maps/map_files/Basketball/stadium.dmm
rename to _maps/minigame/basketball/stadium.dmm
diff --git a/_maps/deathmatch/OSHA_Violator.dmm b/_maps/minigame/deathmatch/OSHA_Violator.dmm
similarity index 99%
rename from _maps/deathmatch/OSHA_Violator.dmm
rename to _maps/minigame/deathmatch/OSHA_Violator.dmm
index 7d30951a4f0..114bb695c47 100644
--- a/_maps/deathmatch/OSHA_Violator.dmm
+++ b/_maps/minigame/deathmatch/OSHA_Violator.dmm
@@ -764,7 +764,7 @@
/area/deathmatch)
"Js" = (
/obj/structure/table/reinforced,
-/obj/item/reagent_containers/pill/patch/aiuri,
+/obj/item/reagent_containers/applicator/patch/aiuri,
/turf/open/indestructible,
/area/deathmatch)
"JF" = (
diff --git a/_maps/deathmatch/arena_station.dmm b/_maps/minigame/deathmatch/arena_station.dmm
similarity index 99%
rename from _maps/deathmatch/arena_station.dmm
rename to _maps/minigame/deathmatch/arena_station.dmm
index 8009387c502..1e2b1b57be7 100644
--- a/_maps/deathmatch/arena_station.dmm
+++ b/_maps/minigame/deathmatch/arena_station.dmm
@@ -476,7 +476,7 @@
/area/deathmatch)
"rX" = (
/obj/structure/table/glass,
-/obj/item/reagent_containers/pill/patch/synthflesh,
+/obj/item/reagent_containers/applicator/patch/synthflesh,
/turf/open/indestructible/white,
/area/deathmatch)
"sk" = (
diff --git a/_maps/deathmatch/backalley.dmm b/_maps/minigame/deathmatch/backalley.dmm
similarity index 100%
rename from _maps/deathmatch/backalley.dmm
rename to _maps/minigame/deathmatch/backalley.dmm
diff --git a/_maps/deathmatch/finaldestination.dmm b/_maps/minigame/deathmatch/finaldestination.dmm
similarity index 100%
rename from _maps/deathmatch/finaldestination.dmm
rename to _maps/minigame/deathmatch/finaldestination.dmm
diff --git a/_maps/deathmatch/instagib.dmm b/_maps/minigame/deathmatch/instagib.dmm
similarity index 100%
rename from _maps/deathmatch/instagib.dmm
rename to _maps/minigame/deathmatch/instagib.dmm
diff --git a/_maps/deathmatch/lattice_battles.dmm b/_maps/minigame/deathmatch/lattice_battles.dmm
similarity index 100%
rename from _maps/deathmatch/lattice_battles.dmm
rename to _maps/minigame/deathmatch/lattice_battles.dmm
diff --git a/_maps/deathmatch/maint_mania.dmm b/_maps/minigame/deathmatch/maint_mania.dmm
similarity index 98%
rename from _maps/deathmatch/maint_mania.dmm
rename to _maps/minigame/deathmatch/maint_mania.dmm
index 5b23ac38feb..914006c3cb8 100644
--- a/_maps/deathmatch/maint_mania.dmm
+++ b/_maps/minigame/deathmatch/maint_mania.dmm
@@ -47,7 +47,7 @@
/turf/closed/indestructible/fakedoor,
/area/deathmatch)
"ih" = (
-/obj/item/reagent_containers/pill/maintenance,
+/obj/item/reagent_containers/applicator/pill/maintenance,
/turf/open/indestructible,
/area/deathmatch)
"iC" = (
@@ -132,7 +132,7 @@
/area/deathmatch)
"qK" = (
/obj/effect/decal/cleanable/dirt,
-/obj/item/reagent_containers/pill/maintenance,
+/obj/item/reagent_containers/applicator/pill/maintenance,
/turf/open/indestructible,
/area/deathmatch)
"sk" = (
@@ -235,7 +235,7 @@
/area/deathmatch)
"Ew" = (
/obj/effect/decal/cleanable/dirt/dust,
-/obj/item/reagent_containers/pill/maintenance,
+/obj/item/reagent_containers/applicator/pill/maintenance,
/turf/open/indestructible,
/area/deathmatch)
"EK" = (
@@ -254,7 +254,7 @@
/area/deathmatch)
"Fp" = (
/obj/structure/rack,
-/obj/item/reagent_containers/pill/maintenance,
+/obj/item/reagent_containers/applicator/pill/maintenance,
/obj/item/spear,
/turf/open/indestructible,
/area/deathmatch)
@@ -289,7 +289,7 @@
/turf/open/indestructible,
/area/deathmatch)
"Hp" = (
-/obj/item/reagent_containers/pill/maintenance,
+/obj/item/reagent_containers/applicator/pill/maintenance,
/obj/structure/sign/poster/random/directional/north,
/obj/structure/table/reinforced,
/turf/open/indestructible,
diff --git a/_maps/deathmatch/meat_tower.dmm b/_maps/minigame/deathmatch/meat_tower.dmm
similarity index 100%
rename from _maps/deathmatch/meat_tower.dmm
rename to _maps/minigame/deathmatch/meat_tower.dmm
diff --git a/_maps/deathmatch/mech_madness.dmm b/_maps/minigame/deathmatch/mech_madness.dmm
similarity index 98%
rename from _maps/deathmatch/mech_madness.dmm
rename to _maps/minigame/deathmatch/mech_madness.dmm
index 3f804d2ee54..fa1d99fb222 100644
--- a/_maps/deathmatch/mech_madness.dmm
+++ b/_maps/minigame/deathmatch/mech_madness.dmm
@@ -469,7 +469,7 @@
/turf/open/floor/light/colour_cycle/dancefloor_a,
/area/deathmatch)
"cB" = (
-/obj/item/reagent_containers/pill/stimulant,
+/obj/item/reagent_containers/applicator/pill/stimulant,
/turf/open/floor/light/colour_cycle/dancefloor_b,
/area/deathmatch)
"cC" = (
@@ -515,7 +515,7 @@
/turf/open/floor/engine,
/area/deathmatch)
"cM" = (
-/obj/item/reagent_containers/pill/happinesspsych,
+/obj/item/reagent_containers/applicator/pill/happinesspsych,
/turf/open/floor/light/colour_cycle/dancefloor_b,
/area/deathmatch)
"cN" = (
@@ -533,11 +533,11 @@
/turf/open/floor/noslip,
/area/deathmatch)
"cQ" = (
-/obj/item/reagent_containers/pill/lsd,
+/obj/item/reagent_containers/applicator/pill/lsd,
/turf/open/floor/light/colour_cycle/dancefloor_a,
/area/deathmatch)
"cR" = (
-/obj/item/reagent_containers/pill/probital,
+/obj/item/reagent_containers/applicator/pill/probital,
/turf/open/floor/light/colour_cycle/dancefloor_b,
/area/deathmatch)
"cS" = (
diff --git a/_maps/deathmatch/meta_brig.dmm b/_maps/minigame/deathmatch/meta_brig.dmm
similarity index 100%
rename from _maps/deathmatch/meta_brig.dmm
rename to _maps/minigame/deathmatch/meta_brig.dmm
diff --git a/_maps/deathmatch/ragecage.dmm b/_maps/minigame/deathmatch/ragecage.dmm
similarity index 100%
rename from _maps/deathmatch/ragecage.dmm
rename to _maps/minigame/deathmatch/ragecage.dmm
diff --git a/_maps/deathmatch/ragin_mages.dmm b/_maps/minigame/deathmatch/ragin_mages.dmm
similarity index 100%
rename from _maps/deathmatch/ragin_mages.dmm
rename to _maps/minigame/deathmatch/ragin_mages.dmm
diff --git a/_maps/deathmatch/ragnarok.dmm b/_maps/minigame/deathmatch/ragnarok.dmm
similarity index 100%
rename from _maps/deathmatch/ragnarok.dmm
rename to _maps/minigame/deathmatch/ragnarok.dmm
diff --git a/_maps/deathmatch/secu_ring.dmm b/_maps/minigame/deathmatch/secu_ring.dmm
similarity index 100%
rename from _maps/deathmatch/secu_ring.dmm
rename to _maps/minigame/deathmatch/secu_ring.dmm
diff --git a/_maps/deathmatch/shooting_range.dmm b/_maps/minigame/deathmatch/shooting_range.dmm
similarity index 100%
rename from _maps/deathmatch/shooting_range.dmm
rename to _maps/minigame/deathmatch/shooting_range.dmm
diff --git a/_maps/deathmatch/sniper_elite.dmm b/_maps/minigame/deathmatch/sniper_elite.dmm
similarity index 100%
rename from _maps/deathmatch/sniper_elite.dmm
rename to _maps/minigame/deathmatch/sniper_elite.dmm
diff --git a/_maps/deathmatch/species_warfare.dmm b/_maps/minigame/deathmatch/species_warfare.dmm
similarity index 100%
rename from _maps/deathmatch/species_warfare.dmm
rename to _maps/minigame/deathmatch/species_warfare.dmm
diff --git a/_maps/deathmatch/sunrise.dmm b/_maps/minigame/deathmatch/sunrise.dmm
similarity index 100%
rename from _maps/deathmatch/sunrise.dmm
rename to _maps/minigame/deathmatch/sunrise.dmm
diff --git a/_maps/deathmatch/train.dmm b/_maps/minigame/deathmatch/train.dmm
similarity index 100%
rename from _maps/deathmatch/train.dmm
rename to _maps/minigame/deathmatch/train.dmm
diff --git a/_maps/deathmatch/underground_arena.dmm b/_maps/minigame/deathmatch/underground_arena.dmm
similarity index 100%
rename from _maps/deathmatch/underground_arena.dmm
rename to _maps/minigame/deathmatch/underground_arena.dmm
diff --git a/_maps/map_files/Mafia/mafia_ayylmao.dmm b/_maps/minigame/mafia/mafia_ayylmao.dmm
similarity index 100%
rename from _maps/map_files/Mafia/mafia_ayylmao.dmm
rename to _maps/minigame/mafia/mafia_ayylmao.dmm
diff --git a/_maps/map_files/Mafia/mafia_ball.dmm b/_maps/minigame/mafia/mafia_ball.dmm
similarity index 100%
rename from _maps/map_files/Mafia/mafia_ball.dmm
rename to _maps/minigame/mafia/mafia_ball.dmm
diff --git a/_maps/map_files/Mafia/mafia_gothic.dmm b/_maps/minigame/mafia/mafia_gothic.dmm
similarity index 100%
rename from _maps/map_files/Mafia/mafia_gothic.dmm
rename to _maps/minigame/mafia/mafia_gothic.dmm
diff --git a/_maps/map_files/Mafia/mafia_lavaland.dmm b/_maps/minigame/mafia/mafia_lavaland.dmm
similarity index 100%
rename from _maps/map_files/Mafia/mafia_lavaland.dmm
rename to _maps/minigame/mafia/mafia_lavaland.dmm
diff --git a/_maps/map_files/Mafia/mafia_snow.dmm b/_maps/minigame/mafia/mafia_snow.dmm
similarity index 100%
rename from _maps/map_files/Mafia/mafia_snow.dmm
rename to _maps/minigame/mafia/mafia_snow.dmm
diff --git a/_maps/map_files/Mafia/mafia_spiderclan.dmm b/_maps/minigame/mafia/mafia_spiderclan.dmm
similarity index 100%
rename from _maps/map_files/Mafia/mafia_spiderclan.dmm
rename to _maps/minigame/mafia/mafia_spiderclan.dmm
diff --git a/_maps/map_files/Mafia/mafia_syndie.dmm b/_maps/minigame/mafia/mafia_syndie.dmm
similarity index 100%
rename from _maps/map_files/Mafia/mafia_syndie.dmm
rename to _maps/minigame/mafia/mafia_syndie.dmm
diff --git a/_maps/map_files/Mafia/mafia_unit_test.dmm b/_maps/minigame/mafia/mafia_unit_test.dmm
similarity index 100%
rename from _maps/map_files/Mafia/mafia_unit_test.dmm
rename to _maps/minigame/mafia/mafia_unit_test.dmm
diff --git a/_maps/shuttles/emergency_humpback.dmm b/_maps/shuttles/emergency_humpback.dmm
index 89ab755acbf..d93055c1e83 100644
--- a/_maps/shuttles/emergency_humpback.dmm
+++ b/_maps/shuttles/emergency_humpback.dmm
@@ -484,9 +484,9 @@
"CA" = (
/obj/effect/spawner/random/structure/crate_loot,
/obj/effect/spawner/random/maintenance/seven,
-/obj/item/reagent_containers/pill/maintenance,
-/obj/item/reagent_containers/pill/maintenance,
-/obj/item/reagent_containers/pill/maintenance,
+/obj/item/reagent_containers/applicator/pill/maintenance,
+/obj/item/reagent_containers/applicator/pill/maintenance,
+/obj/item/reagent_containers/applicator/pill/maintenance,
/turf/open/floor/mineral/plastitanium,
/area/shuttle/escape)
"CH" = (
diff --git a/_maps/shuttles/emergency_luxury.dmm b/_maps/shuttles/emergency_luxury.dmm
index 1e1ae99d2ea..01a873d8731 100644
--- a/_maps/shuttles/emergency_luxury.dmm
+++ b/_maps/shuttles/emergency_luxury.dmm
@@ -44,14 +44,14 @@
/obj/effect/turf_decal/delivery,
/obj/effect/decal/cleanable/dirt,
/obj/structure/closet/crate/medical,
-/obj/item/reagent_containers/pill/maintenance,
-/obj/item/reagent_containers/pill/maintenance,
-/obj/item/reagent_containers/pill/maintenance,
-/obj/item/reagent_containers/pill/maintenance,
-/obj/item/reagent_containers/pill/maintenance,
-/obj/item/reagent_containers/pill/maintenance,
-/obj/item/reagent_containers/pill/maintenance,
-/obj/item/reagent_containers/pill/maintenance,
+/obj/item/reagent_containers/applicator/pill/maintenance,
+/obj/item/reagent_containers/applicator/pill/maintenance,
+/obj/item/reagent_containers/applicator/pill/maintenance,
+/obj/item/reagent_containers/applicator/pill/maintenance,
+/obj/item/reagent_containers/applicator/pill/maintenance,
+/obj/item/reagent_containers/applicator/pill/maintenance,
+/obj/item/reagent_containers/applicator/pill/maintenance,
+/obj/item/reagent_containers/applicator/pill/maintenance,
/turf/open/floor/iron,
/area/shuttle/escape)
"dN" = (
diff --git a/_maps/shuttles/emergency_shadow.dmm b/_maps/shuttles/emergency_shadow.dmm
index f5c2cd049f1..731ad7bd2dd 100644
--- a/_maps/shuttles/emergency_shadow.dmm
+++ b/_maps/shuttles/emergency_shadow.dmm
@@ -901,7 +901,7 @@
},
/obj/item/kirbyplants/organic/plant21,
/obj/structure/sign/warning/hot_temp/directional/west,
-/obj/item/reagent_containers/pill/maintenance,
+/obj/item/reagent_containers/applicator/pill/maintenance,
/turf/open/floor/iron/dark/textured_large,
/area/shuttle/escape)
"Oi" = (
diff --git a/_maps/shuttles/emergency_wawa.dmm b/_maps/shuttles/emergency_wawa.dmm
index 458ffa8a179..46d2a986938 100644
--- a/_maps/shuttles/emergency_wawa.dmm
+++ b/_maps/shuttles/emergency_wawa.dmm
@@ -710,7 +710,7 @@
/area/shuttle/escape)
"Oi" = (
/obj/effect/decal/cleanable/dirt/dust,
-/obj/item/reagent_containers/pill/maintenance,
+/obj/item/reagent_containers/applicator/pill/maintenance,
/turf/open/floor/plating,
/area/shuttle/escape)
"Oq" = (
diff --git a/_maps/shuttles/hunter_mi13_foodtruck.dmm b/_maps/shuttles/hunter_mi13_foodtruck.dmm
index 155aacf820a..81ecb083c62 100644
--- a/_maps/shuttles/hunter_mi13_foodtruck.dmm
+++ b/_maps/shuttles/hunter_mi13_foodtruck.dmm
@@ -99,17 +99,6 @@
/obj/structure/sign/poster/official/high_class_martini/directional/north,
/turf/open/floor/circuit/red/off,
/area/shuttle/hunter/mi13_foodtruck)
-"dC" = (
-/obj/structure/table/reinforced/plastitaniumglass,
-/obj/item/binoculars{
- pixel_y = 10
- },
-/obj/item/storage/box/zipties{
- pixel_y = -4;
- pixel_x = 4
- },
-/turf/open/floor/circuit/red/off,
-/area/shuttle/hunter/mi13_foodtruck)
"dJ" = (
/obj/machinery/computer/records/security/syndie,
/turf/open/floor/circuit/red/off,
@@ -146,6 +135,17 @@
},
/turf/open/floor/mineral/plastitanium,
/area/shuttle/hunter/mi13_foodtruck)
+"fw" = (
+/obj/structure/table/reinforced/plastitaniumglass,
+/obj/item/binoculars{
+ pixel_y = 10
+ },
+/obj/item/storage/box/zipties{
+ pixel_y = -4;
+ pixel_x = 4
+ },
+/turf/open/floor/circuit/red/off,
+/area/shuttle/hunter/mi13_foodtruck)
"gc" = (
/obj/structure/closet/crate/cardboard/mothic,
/obj/item/storage/box/mothic_rations{
@@ -331,6 +331,26 @@
/obj/structure/sign/poster/ripped/directional/south,
/turf/open/floor/mineral/titanium,
/area/shuttle/hunter/mi13_foodtruck)
+"on" = (
+/obj/structure/table/reinforced/plastitaniumglass,
+/obj/item/reagent_containers/syringe{
+ pixel_y = -3;
+ pixel_x = -5
+ },
+/obj/item/reagent_containers/dropper{
+ pixel_y = 6;
+ pixel_x = -3
+ },
+/obj/item/reagent_containers/cup/beaker/large{
+ pixel_y = 6;
+ pixel_x = 8
+ },
+/obj/item/reagent_containers/applicator/pill/cyanide{
+ pixel_y = -6;
+ pixel_x = 10
+ },
+/turf/open/floor/circuit/red/off,
+/area/shuttle/hunter/mi13_foodtruck)
"oA" = (
/obj/structure/railing{
dir = 8
@@ -544,6 +564,25 @@
},
/turf/open/floor/mineral/titanium,
/area/shuttle/hunter/mi13_foodtruck)
+"AR" = (
+/obj/structure/table/reinforced/plastitaniumglass,
+/obj/item/reagent_containers/cup/glass/mug/tea{
+ pixel_x = 8;
+ pixel_y = 9
+ },
+/obj/item/reagent_containers/cup/beaker{
+ pixel_x = 8
+ },
+/obj/item/reagent_containers/cup/beaker{
+ pixel_x = -5;
+ pixel_y = 3
+ },
+/obj/item/reagent_containers/applicator/pill/cyanide{
+ pixel_y = -9;
+ pixel_x = -2
+ },
+/turf/open/floor/circuit/red/off,
+/area/shuttle/hunter/mi13_foodtruck)
"Bn" = (
/obj/machinery/computer/crew/syndie,
/turf/open/floor/circuit/red,
@@ -613,25 +652,6 @@
/obj/effect/mapping_helpers/airalarm/syndicate_access,
/turf/open/floor/mineral/plastitanium,
/area/shuttle/hunter/mi13_foodtruck)
-"KV" = (
-/obj/structure/table/reinforced/plastitaniumglass,
-/obj/item/reagent_containers/cup/glass/mug/tea{
- pixel_x = 8;
- pixel_y = 9
- },
-/obj/item/reagent_containers/cup/beaker{
- pixel_x = 8
- },
-/obj/item/reagent_containers/cup/beaker{
- pixel_x = -5;
- pixel_y = 3
- },
-/obj/item/reagent_containers/pill/cyanide{
- pixel_y = -9;
- pixel_x = -2
- },
-/turf/open/floor/circuit/red/off,
-/area/shuttle/hunter/mi13_foodtruck)
"Lm" = (
/obj/machinery/vending/dinnerware,
/obj/machinery/airalarm/directional/east,
@@ -736,26 +756,6 @@
},
/turf/open/floor/circuit/red/off,
/area/shuttle/hunter/mi13_foodtruck)
-"Yi" = (
-/obj/structure/table/reinforced/plastitaniumglass,
-/obj/item/reagent_containers/syringe{
- pixel_y = -3;
- pixel_x = -5
- },
-/obj/item/reagent_containers/dropper{
- pixel_y = 6;
- pixel_x = -3
- },
-/obj/item/reagent_containers/cup/beaker/large{
- pixel_y = 6;
- pixel_x = 8
- },
-/obj/item/reagent_containers/pill/cyanide{
- pixel_y = -6;
- pixel_x = 10
- },
-/turf/open/floor/circuit/red/off,
-/area/shuttle/hunter/mi13_foodtruck)
"YW" = (
/obj/structure/table/reinforced,
/obj/structure/railing{
@@ -962,9 +962,9 @@ cm
Am
ku
lX
-KV
-Yi
-dC
+AR
+on
+fw
kj
af
ku
diff --git a/_maps/shuttles/whiteship_tram.dmm b/_maps/shuttles/whiteship_tram.dmm
index 7666e2c70ac..9e2e244343e 100644
--- a/_maps/shuttles/whiteship_tram.dmm
+++ b/_maps/shuttles/whiteship_tram.dmm
@@ -1108,12 +1108,12 @@
/turf/open/floor/iron/smooth_large,
/area/shuttle/abandoned/engine)
"CS" = (
-/obj/item/reagent_containers/pill/happy,
-/obj/item/reagent_containers/pill/aranesp{
+/obj/item/reagent_containers/applicator/pill/happy,
+/obj/item/reagent_containers/applicator/pill/aranesp{
pixel_x = 5;
pixel_y = 10
},
-/obj/item/reagent_containers/pill/zoom{
+/obj/item/reagent_containers/applicator/pill/zoom{
pixel_x = -4;
pixel_y = -6
},
@@ -1219,7 +1219,7 @@
/area/shuttle/abandoned/bridge)
"IC" = (
/obj/structure/cable,
-/obj/item/reagent_containers/pill/psicodine{
+/obj/item/reagent_containers/applicator/pill/psicodine{
pixel_x = 17;
pixel_y = 4
},
diff --git a/_maps/virtual_domains/beach_bar.dmm b/_maps/virtual_domains/beach_bar.dmm
index 0b3a037c463..ba12436e048 100644
--- a/_maps/virtual_domains/beach_bar.dmm
+++ b/_maps/virtual_domains/beach_bar.dmm
@@ -65,9 +65,9 @@
/area/virtual_domain/fullbright)
"cb" = (
/obj/structure/table/wood,
-/obj/item/reagent_containers/pill/lsd,
-/obj/item/reagent_containers/pill/lsd,
-/obj/item/reagent_containers/pill/lsd,
+/obj/item/reagent_containers/applicator/pill/lsd,
+/obj/item/reagent_containers/applicator/pill/lsd,
+/obj/item/reagent_containers/applicator/pill/lsd,
/turf/open/floor/wood,
/area/virtual_domain/fullbright)
"cv" = (
@@ -127,7 +127,7 @@
/area/virtual_domain/fullbright)
"fc" = (
/obj/structure/table/wood,
-/obj/item/reagent_containers/pill/happy,
+/obj/item/reagent_containers/applicator/pill/happy,
/obj/item/toy/figure/bartender{
pixel_x = -8;
pixel_y = -1
@@ -417,9 +417,9 @@
/area/virtual_domain/fullbright)
"vN" = (
/obj/structure/table/wood,
-/obj/item/reagent_containers/pill/morphine,
-/obj/item/reagent_containers/pill/morphine,
-/obj/item/reagent_containers/pill/morphine,
+/obj/item/reagent_containers/applicator/pill/morphine,
+/obj/item/reagent_containers/applicator/pill/morphine,
+/obj/item/reagent_containers/applicator/pill/morphine,
/turf/open/floor/wood,
/area/virtual_domain/fullbright)
"vT" = (
@@ -496,9 +496,9 @@
/area/virtual_domain/fullbright)
"ya" = (
/obj/structure/table/wood,
-/obj/item/reagent_containers/pill/zoom,
-/obj/item/reagent_containers/pill/zoom,
-/obj/item/reagent_containers/pill/zoom,
+/obj/item/reagent_containers/applicator/pill/zoom,
+/obj/item/reagent_containers/applicator/pill/zoom,
+/obj/item/reagent_containers/applicator/pill/zoom,
/turf/open/floor/wood,
/area/virtual_domain/fullbright)
"yi" = (
@@ -1116,7 +1116,7 @@
/area/virtual_domain/fullbright)
"Zt" = (
/obj/structure/table/wood,
-/obj/item/reagent_containers/pill/morphine,
+/obj/item/reagent_containers/applicator/pill/morphine,
/obj/item/storage/fancy/donut_box,
/turf/open/floor/wood,
/area/virtual_domain/fullbright)
diff --git a/code/__DEFINES/_bitfields.dm b/code/__DEFINES/_bitfields.dm
index 19a962fbffe..4bf587c7101 100644
--- a/code/__DEFINES/_bitfields.dm
+++ b/code/__DEFINES/_bitfields.dm
@@ -1,4 +1,8 @@
-#define DEFINE_BITFIELD(_variable, _flags) /datum/bitfield/##_variable { \
+#define DEFINE_BITFIELD(_variable, _flags) \
+/* Important note: This exists to throw a compile time warning if more then one bitfield with the same name is defined */ \
+/* This is required to avoid dupes in vv, and any consumers of our bitfield metainfo procs */ \
+GLOBAL_REAL_VAR(_bitfield_##_variable); \
+/datum/bitfield/##_variable { \
flags = ##_flags; \
variable = #_variable; \
}
diff --git a/code/__DEFINES/_flags.dm b/code/__DEFINES/_flags.dm
index 3d6f57cf4ec..e8939d425ce 100644
--- a/code/__DEFINES/_flags.dm
+++ b/code/__DEFINES/_flags.dm
@@ -197,9 +197,10 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204
#define PHASING (1<<4)
/// The mob is walking on the ceiling. Or is generally just, upside down.
#define UPSIDE_DOWN (1<<5)
-
/// Combination flag for movetypes which, for all intents and purposes, mean the mob is not touching the ground
#define MOVETYPES_NOT_TOUCHING_GROUND (FLYING|FLOATING|UPSIDE_DOWN)
+/// Trait source for stuff movetypes applies
+#define SOURCE_MOVETYPES "movetypes"
//Fire and Acid stuff, for resistance_flags
#define LAVA_PROOF (1<<0)
diff --git a/code/__DEFINES/admin.dm b/code/__DEFINES/admin.dm
index 5a569a52fd9..676a182c5c0 100644
--- a/code/__DEFINES/admin.dm
+++ b/code/__DEFINES/admin.dm
@@ -181,3 +181,11 @@ GLOBAL_VAR_INIT(ghost_role_flags, ALL)
/// Used in logging uses of admin verbs (and sometimes some non-admin or debug verbs) to the blackbox
/// Only pass it a string key, the verb being used.
#define BLACKBOX_LOG_ADMIN_VERB(the_verb) SSblackbox.record_feedback("tally", "admin_verb", 1, the_verb)
+
+// Smite flags
+/// Plays sfx and adds an overlay to the target
+#define SMITE_DIVINE (1<<0)
+/// Adds a delay before the effect is applied
+#define SMITE_DELAY (1<<1)
+/// Stuns the target for a short duration, ignores stun immunity
+#define SMITE_STUN (1<<2)
diff --git a/code/__DEFINES/atmospherics/atmos_helpers.dm b/code/__DEFINES/atmospherics/atmos_helpers.dm
index d5bcbf51471..ce3e2f40a68 100644
--- a/code/__DEFINES/atmospherics/atmos_helpers.dm
+++ b/code/__DEFINES/atmospherics/atmos_helpers.dm
@@ -6,26 +6,49 @@
//Helpers
///Moves the icon of the device based on the piping layer and on the direction
#define PIPING_LAYER_SHIFT(T, PipingLayer) \
- if(T.dir & (NORTH|SOUTH)) { \
- T.pixel_x = (PipingLayer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_P_X;\
- } \
- if(T.dir & (EAST|WEST)) { \
- T.pixel_y = (PipingLayer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_P_Y;\
+ if(T.layer > -1) { \
+ if(T.dir & (NORTH|SOUTH)) { \
+ T.pixel_x = (PipingLayer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_P_X;\
+ } \
+ if(T.dir & (EAST|WEST)) { \
+ T.pixel_y = (PipingLayer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_P_Y;\
+ } \
+ } else { \
+ if(T.dir & (NORTH|SOUTH)) { \
+ T.pixel_w = (PipingLayer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_P_X;\
+ } \
+ if(T.dir & (EAST|WEST)) { \
+ T.pixel_z = (PipingLayer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_P_Y;\
+ } \
}
///Moves the icon of the device based on the piping layer and on the direction, the shift amount is dictated by more_shift
#define PIPING_FORWARD_SHIFT(T, PipingLayer, more_shift) \
- if(T.dir & (NORTH|SOUTH)) { \
- T.pixel_y += more_shift * (PipingLayer - PIPING_LAYER_DEFAULT);\
- } \
- if(T.dir & (EAST|WEST)) { \
- T.pixel_x += more_shift * (PipingLayer - PIPING_LAYER_DEFAULT);\
+ if(T.layer > -1) { \
+ if(T.dir & (NORTH|SOUTH)) { \
+ T.pixel_y += more_shift * (PipingLayer - PIPING_LAYER_DEFAULT);\
+ } \
+ if(T.dir & (EAST|WEST)) { \
+ T.pixel_x += more_shift * (PipingLayer - PIPING_LAYER_DEFAULT);\
+ } \
+ } else { \
+ if(T.dir & (NORTH|SOUTH)) { \
+ T.pixel_z += more_shift * (PipingLayer - PIPING_LAYER_DEFAULT);\
+ } \
+ if(T.dir & (EAST|WEST)) { \
+ T.pixel_w += more_shift * (PipingLayer - PIPING_LAYER_DEFAULT);\
+ } \
}
///Moves the icon of the device based on the piping layer on both x and y
#define PIPING_LAYER_DOUBLE_SHIFT(T, PipingLayer) \
- T.pixel_x = (PipingLayer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_P_X;\
- T.pixel_y = (PipingLayer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_P_Y;
+ if(T.layer > -1) { \
+ T.pixel_x = (PipingLayer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_P_X;\
+ T.pixel_y = (PipingLayer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_P_Y; \
+ } else { \
+ T.pixel_w = (PipingLayer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_P_X;\
+ T.pixel_z = (PipingLayer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_P_Y; \
+ }
///Calculate the thermal energy of the selected gas (J)
#define THERMAL_ENERGY(gas) (gas.temperature * gas.heat_capacity())
diff --git a/code/__DEFINES/atmospherics/atmos_piping.dm b/code/__DEFINES/atmospherics/atmos_piping.dm
index 6b6631a56fd..188798f95d2 100644
--- a/code/__DEFINES/atmospherics/atmos_piping.dm
+++ b/code/__DEFINES/atmospherics/atmos_piping.dm
@@ -72,6 +72,9 @@
/// Additional information of the tank.
#define TANK_RESULTS_MISC 2
+/// Color used by omni-color pipes
+#define ATMOS_COLOR_OMNI COLOR_VERY_LIGHT_GRAY
+
//MULTIPIPES
//IF YOU EVER CHANGE THESE CHANGE SPRITES TO MATCH.
//layer = initial(layer) + piping_layer / 1000 in atmospherics/update_icon() to determine order of pipe overlap
diff --git a/code/__DEFINES/bodyparts.dm b/code/__DEFINES/bodyparts.dm
index 3b4e39467a9..751d65ea150 100644
--- a/code/__DEFINES/bodyparts.dm
+++ b/code/__DEFINES/bodyparts.dm
@@ -14,6 +14,7 @@
#define LIMB_MAX_HP_ALIEN_LARVA 50 //Used by the weird larva chest and head. Did you know they have those?
#define LIMB_MAX_HP_ALIEN_LIMBS 100 //Used by xenomorph limbs.
#define LIMB_MAX_HP_ALIEN_CORE 500 //Used by xenomorph chests and heads
+#define LIMB_ALIEN_BURN_DAMAGE_MULTIPLIER 2 //Used by xenomorphs and their larvae
/// Limb Body Damage Coefficient
/// A multiplication of the burn and brute damage that the limb's stored damage contributes to its attached mob's overall wellbeing.
@@ -45,7 +46,11 @@
#define AUGGED_HEAD_EMP_GLITCH_DURATION 6 SECONDS
// Color priorities for bodyparts
+/// Abductor team recoloring priority
+#define LIMB_COLOR_AYYLMAO 5
+/// Hulk effect color priority
#define LIMB_COLOR_HULK 10
+/// Carp infusion color priority
#define LIMB_COLOR_CARP_INFUSION 20
#define LIMB_COLOR_CS_SOURCE_SUICIDE 30
/// Base priority for atom colors, gets atom priorities added to it
diff --git a/code/__DEFINES/cargo.dm b/code/__DEFINES/cargo.dm
index e9fdda29368..f17c56482ec 100644
--- a/code/__DEFINES/cargo.dm
+++ b/code/__DEFINES/cargo.dm
@@ -13,6 +13,9 @@
#define SUPPLYPOD_X_OFFSET -16
+///DO NOT GO ANY LOWER THAN X1.4 the "CARGO_CRATE_VALUE" value if using regular crates, or infinite profit will be possible! This is also unit tested against.
+#define CARGO_MINIMUM_COST CARGO_CRATE_VALUE * 1.4
+
/// The baseline unit for cargo crates. Adjusting this will change the cost of all in-game shuttles, crate export values, bounty rewards, and all supply pack import values, as they use this as their unit of measurement.
#define CARGO_CRATE_VALUE 200
@@ -29,6 +32,12 @@
/// Universal Scanner mode for using the price tagger.
#define SCAN_PRICE_TAG 3
+// Defines for use with `export_item_and_contents()`, aka the export code that sells the items.
+/// Default export define, these are things that are sold to centcom.
+#define EXPORT_MARKET_STATION "supply"
+/// Export market for pirates.
+#define EXPORT_MARKET_PIRACY "piracy"
+
///Used by coupons to define that they're cursed
#define COUPON_OMEN "omen"
diff --git a/code/__DEFINES/colors.dm b/code/__DEFINES/colors.dm
index 8541654d1eb..7408294770e 100644
--- a/code/__DEFINES/colors.dm
+++ b/code/__DEFINES/colors.dm
@@ -487,5 +487,16 @@ GLOBAL_LIST_INIT(heretic_path_to_color, list(
#define EYE_COLOR_ATOM_COLOR_PRIORITY 2
#define EYE_COLOR_SPECIES_PRIORITY 10
#define EYE_COLOR_WEED_PRIORITY 20
-#define EYE_COLOR_LUMINESCENT_PRIORITY 30
-#define EYE_COLOR_CULT_PRIORITY 40
+#define EYE_COLOR_HUD_PRIORITY 30
+#define EYE_COLOR_LUMINESCENT_PRIORITY 40
+#define EYE_COLOR_CULT_PRIORITY 50
+
+// Client color priorities
+
+#define CLIENT_COLOR_GLASSES_PRIORITY 1 // Lowest there is, used by glasses
+#define CLIENT_COLOR_HELMET_PRIORITY 2 // Same but for helmets
+#define CLIENT_COLOR_ORGAN_PRIORITY 3 // For heads and organs
+#define CLIENT_COLOR_FILTER_PRIORITY 4 // Filters which should go ontop of previous ones
+#define CLIENT_COLOR_TEMPORARY_PRIORITY 5 // Temporary flashing effects
+#define CLIENT_COLOR_IMPORTANT_PRIORITY 6 // Gameplay important hints signifying antag status or near-death, should be always shown
+#define CLIENT_COLOR_OVERRIDE_PRIORITY 7 // For effects that are meant to mask all others for technical reasons
diff --git a/code/__DEFINES/combat.dm b/code/__DEFINES/combat.dm
index 387c68ed267..4b9d76d6394 100644
--- a/code/__DEFINES/combat.dm
+++ b/code/__DEFINES/combat.dm
@@ -320,6 +320,11 @@ GLOBAL_LIST_INIT(leg_zones, list(BODY_ZONE_R_LEG, BODY_ZONE_L_LEG))
/// Martial arts attack happened and succeeded, do not allow a check for a regular attack.
#define MARTIAL_ATTACK_SUCCESS COMPONENT_CANCEL_ATTACK_CHAIN
+/// Get the active martial art of a mob.
+#define GET_ACTIVE_MARTIAL_ART(goku) (LAZYACCESS(goku.martial_arts, 1))
+/// Get what martial art will be used after cycling through the active martial art.
+#define GET_NEXT_MARTIAL_ART(goku) (LAZYACCESS(goku.martial_arts, 2))
+
/// IF an object is weak against armor, this is the value that any present armor is multiplied by
#define ARMOR_WEAKENED_MULTIPLIER 2
/// Armor can't block more than this as a percentage
diff --git a/code/__DEFINES/construction/material.dm b/code/__DEFINES/construction/material.dm
index 9ebf3b20c3b..423c1c1075b 100644
--- a/code/__DEFINES/construction/material.dm
+++ b/code/__DEFINES/construction/material.dm
@@ -47,6 +47,8 @@
#define MATCONTAINER_ANY_INTENT (1<<2)
///If the user won't receive a warning when attacking the container with an unallowed item.
#define MATCONTAINER_SILENT (1<<3)
+///Alloys won't be disassembled in its components when inserted.
+#define MATCONTAINER_ACCEPT_ALLOYS (1<<4)
/// Whether a material's mechanical effects should apply to the atom. This is necessary for other flags to work.
#define MATERIAL_EFFECTS (1<<0)
diff --git a/code/__DEFINES/cooldowns.dm b/code/__DEFINES/cooldowns.dm
index bd6310575c3..87a65232532 100644
--- a/code/__DEFINES/cooldowns.dm
+++ b/code/__DEFINES/cooldowns.dm
@@ -59,9 +59,6 @@
// mob cooldowns
#define COOLDOWN_YAWN_PROPAGATION "yawn_propagation_cooldown"
-// admin verb cooldowns
-#define COOLDOWN_INTERNET_SOUND "internet_sound"
-
//Shared cooldowns for actions
#define MOB_SHARED_COOLDOWN_1 (1<<0)
#define MOB_SHARED_COOLDOWN_2 (1<<1)
@@ -124,3 +121,23 @@
return; \
} \
cd_source.cd_index += (cd_increment); \
+
+/*
+ * Same as the above cooldown system, but uses REALTIMEOFDAY
+ * Primarily only used for times that need to be tracked with the client, such as sound or animations
+*/
+
+#define CLIENT_COOLDOWN_DECLARE(cd_index) var/##cd_index = 0
+
+#define CLIENT_STATIC_COOLDOWN_DECLARE(cd_index) var/static/##cd_index = 0
+
+#define CLIENT_COOLDOWN_START(cd_source, cd_index, cd_time) (cd_source.cd_index = REALTIMEOFDAY + (cd_time))
+
+//Returns true if the cooldown has run its course, false otherwise
+#define CLIENT_COOLDOWN_FINISHED(cd_source, cd_index) (cd_source.cd_index <= REALTIMEOFDAY)
+
+#define CLIENT_COOLDOWN_RESET(cd_source, cd_index) cd_source.cd_index = 0
+
+#define CLIENT_COOLDOWN_STARTED(cd_source, cd_index) (cd_source.cd_index != 0)
+
+#define CLIENT_COOLDOWN_TIMELEFT(cd_source, cd_index) (max(0, cd_source.cd_index - REALTIMEOFDAY))
diff --git a/code/__DEFINES/dcs/declarations.dm b/code/__DEFINES/dcs/declarations.dm
index 04b31f4e185..95ad093f995 100644
--- a/code/__DEFINES/dcs/declarations.dm
+++ b/code/__DEFINES/dcs/declarations.dm
@@ -4,6 +4,8 @@
#define COMPONENT_INCOMPATIBLE 1
/// Returned in PostTransfer to prevent transfer, similar to `COMPONENT_INCOMPATIBLE`
#define COMPONENT_NOTRANSFER 2
+/// Deletes the component silently. This is for valid, non-error cases where you still want to execute some of the component's logic.
+#define COMPONENT_REDUNDANT 3
/// Return value to cancel attaching
#define ELEMENT_INCOMPATIBLE 1
diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.dm b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.dm
index 1497960d194..4ea49e9010d 100644
--- a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.dm
+++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.dm
@@ -151,3 +151,12 @@
/// From /datum/component/tether/UnregisterFromParent()
#define COMSIG_ATOM_TETHER_SNAPPED "atom_tether_snapped"
+
+/// From /atom/proc/update_atom_colour() : (color_changed)
+#define COMSIG_ATOM_COLOR_UPDATED "atom_color_updated"
+ /// Cancels update_appearance call in case you are somehow forced to call it manually to prevent dupe calls
+ #define COMPONENT_CANCEL_COLOR_APPEARANCE_UPDATE (1<<0)
+
+/// From /obj/item/organ/stomach/on_life() : (obj/item/organ/stomach/stomach, mob/living/carbon/owner, seconds_per_tick)
+#define COMSIG_ATOM_STOMACH_DIGESTED "atom_stomach_digested"
+ #define COMPONENT_CANCEL_DIGESTION (1<<0)
diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_carbon.dm b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_carbon.dm
index bea25d51566..8913498e2ec 100644
--- a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_carbon.dm
+++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_carbon.dm
@@ -84,8 +84,10 @@
#define COMSIG_CARBON_GAIN_ADDICTION "carbon_gain_addiction"
///Called when a carbon is no longer addicted (source = what addiction datum was lost, addicted_mind = mind of the freed carbon)
#define COMSIG_CARBON_LOSE_ADDICTION "carbon_lose_addiction"
-///Called when a carbon gets a brain trauma (source = carbon, trauma = what trauma was added) - this is before on_gain()
+///Called when a carbon gets a brain trauma (source = carbon, trauma = what trauma was added, resilience = the resilience of the trauma given, if set differently from the default) - this is before on_gain()
#define COMSIG_CARBON_GAIN_TRAUMA "carbon_gain_trauma"
+ /// Return if you want to prevent the carbon from gaining the brain trauma.
+ #define COMSIG_CARBON_BLOCK_TRAUMA (1 << 0)
///Called when a carbon loses a brain trauma (source = carbon, trauma = what trauma was removed)
#define COMSIG_CARBON_LOSE_TRAUMA "carbon_lose_trauma"
///Called when a carbon's health hud is updated. (source = carbon, shown_health_amount)
@@ -112,6 +114,8 @@
#define COMSIG_CARBON_APPLY_OVERLAY "carbon_apply_overlay"
///Called from remove_overlay(cache_index, overlay)
#define COMSIG_CARBON_REMOVE_OVERLAY "carbon_remove_overlay"
+///Called when a carbon checks their mood
+#define COMSIG_CARBON_MOOD_CHECK "carbon_mod_check"
// /mob/living/carbon/human signals
@@ -173,3 +177,10 @@
#define COMSIG_MUTATION_GAINED "mutation_gained"
///Called from on_losing(mob/living/carbon/human/owner)
#define COMSIG_MUTATION_LOST "mutation_lost"
+
+/// Called from /datum/species/proc/harm(): (mob/living/carbon/human/attacker, damage, attack_type, obj/item/bodypart/affecting, final_armor_block, kicking)
+#define COMSIG_HUMAN_GOT_PUNCHED "human_got_punched"
+
+/// Called at the very end of human character setup
+/// At this point all quirks are assigned and the mob has a mind / client
+#define COMSIG_HUMAN_CHARACTER_SETUP_FINISHED "human_character_setup_finished"
diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm
index b687ef5ace2..5871b3c1e6e 100644
--- a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm
+++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm
@@ -263,7 +263,7 @@
/// Sent from a 'contract chain' button on a mob chain
#define COMSIG_MOB_CHAIN_CONTRACT "living_chain_contracted"
-/// Sent from `obj/item/reagent_containers/pill/on_consumption`: (obj/item/reagent_containers/pill/pill, mob/feeder)
+/// Sent from `obj/item/reagent_containers/applicator/pill/on_consumption`: (obj/item/reagent_containers/applicator/pill/pill, mob/feeder)
#define COMSIG_LIVING_PILL_CONSUMED "living_pill_consumed"
/// Sent from a mob to their loc when starting to remove cuffs on itself
@@ -309,3 +309,16 @@
#define COMSIG_LIVING_ATTACK_ATOM "living_attack_atom"
/// From /mob/living/proc/stop_leaning()
#define COMSIG_LIVING_STOPPED_LEANING "living_stopped_leaning"
+
+/// When a living mob is table slamming another mob: (mob/living/slammed, obj/structure/table/slammed_table)
+#define COMSIG_LIVING_TABLE_SLAMMING "living_table_slamming"
+/// When a living mob is table slamming another mob, neck grab (so a limb slam): (mob/living/slammed, obj/structure/table/slammed_table)
+#define COMSIG_LIVING_TABLE_LIMB_SLAMMING "living_table_limb_slamming"
+
+/// From /mob/living/get_examine_name(mob/user) : (mob/examined, visible_name, list/name_override)
+/// Allows mobs to override how they perceive others when examining
+#define COMSIG_LIVING_PERCEIVE_EXAMINE_NAME "living_perceive_examine_name"
+ #define COMPONENT_EXAMINE_NAME_OVERRIDEN (1<<0)
+
+/// From /obj/item/book/bible/attack() : (mob/living/user, obj/item/book/bible/bible, bless_result)
+#define COMSIG_LIVING_BLESSED "living_blessed"
diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm
index b40b0320d0f..4eef914e51b 100644
--- a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm
+++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm
@@ -15,7 +15,7 @@
#define COMSIG_MOB_REAGENT_CHECK "mob_reagent_check"
///stops the reagent check call
#define COMSIG_MOB_STOP_REAGENT_CHECK (1<<0)
-///from base of mob/clickon(): (atom/A, params)
+///from base of mob/clickon(): (atom/A, list/modifiers)
#define COMSIG_MOB_CLICKON "mob_clickon"
///from base of mob/MiddleClickOn(): (atom/A)
#define COMSIG_MOB_MIDDLECLICKON "mob_middleclickon"
diff --git a/code/__DEFINES/dcs/signals/signals_mod.dm b/code/__DEFINES/dcs/signals/signals_mod.dm
index 70c434adae3..6cc6832beb6 100644
--- a/code/__DEFINES/dcs/signals/signals_mod.dm
+++ b/code/__DEFINES/dcs/signals/signals_mod.dm
@@ -48,3 +48,5 @@
#define COMSIG_MODULE_GENERATE_WORN_OVERLAY "mod_module_generate_worn_overlay"
/// Called when the MOD control unit fetches its visor icon
#define COMSIG_MOD_GET_VISOR_OVERLAY "mod_get_visor_overlay"
+/// Called when the MOD control unit updates its parts speed
+#define COMSIG_MOD_UPDATE_SPEED "mod_update_speed"
diff --git a/code/__DEFINES/dcs/signals/signals_object.dm b/code/__DEFINES/dcs/signals/signals_object.dm
index b275ddad696..e9f99214ca8 100644
--- a/code/__DEFINES/dcs/signals/signals_object.dm
+++ b/code/__DEFINES/dcs/signals/signals_object.dm
@@ -191,6 +191,8 @@
#define COMSIG_ITEM_ATTACK_EFFECT "item_effect_attacked"
/// Called by /obj/item/proc/worn_overlays(list/overlays, mutable_appearance/standing, isinhands, icon_file)
#define COMSIG_ITEM_GET_WORN_OVERLAYS "item_get_worn_overlays"
+/// Called by /obj/item/proc/separate_worn_overlays(list/overlays, mutable_appearance/standing, mutable_appearance/draw_target, isinhands, icon_file)
+#define COMSIG_ITEM_GET_SEPARATE_WORN_OVERLAYS "item_get_separate_worn_overlays"
///from base of [/obj/item/proc/tool_check_callback]: (mob/living/user)
#define COMSIG_TOOL_IN_USE "tool_in_use"
diff --git a/code/__DEFINES/economy.dm b/code/__DEFINES/economy.dm
index 356ceb2301a..a1108ba7fb0 100644
--- a/code/__DEFINES/economy.dm
+++ b/code/__DEFINES/economy.dm
@@ -81,5 +81,3 @@
#define MARKET_TREND_STABLE 0
#define MARKET_EVENT_PROBABILITY 8 //Probability of a market event firing, in percent. Fires once per material, every stock market tick.
-
-#define MARKET_PROFIT_MODIFIER 0.8 //We don't make every sale a 1-1 of the actual buy price value, like with real life taxes and to encourage more smart trades
diff --git a/code/__DEFINES/fov.dm b/code/__DEFINES/fov.dm
index 164dd1ead99..40d678aadec 100644
--- a/code/__DEFINES/fov.dm
+++ b/code/__DEFINES/fov.dm
@@ -2,6 +2,9 @@
#define FOV_90_DEGREES 90
#define FOV_180_DEGREES 180
#define FOV_270_DEGREES 270
+#define FOV_REVERSE_90_DEGRESS -90
+#define FOV_REVERSE_180_DEGRESS -180
+#define FOV_REVERSE_270_DEGRESS -270
/// Base mask dimensions. They're like a client's view, only change them if you modify the mask to different dimensions.
#define BASE_FOV_MASK_X_DIMENSION 15
diff --git a/code/__DEFINES/icon_smoothing.dm b/code/__DEFINES/icon_smoothing.dm
index 3bfdd3f185c..9f5e664d05c 100644
--- a/code/__DEFINES/icon_smoothing.dm
+++ b/code/__DEFINES/icon_smoothing.dm
@@ -1,28 +1,25 @@
/* smoothing_flags */
-/// Smoothing system in where adjacencies are calculated and used to build an image by mounting each corner at runtime.
-#define SMOOTH_CORNERS (1<<0)
/// Smoothing system in where adjacencies are calculated and used to select a pre-baked icon_state, encoded by bitmasking.
-#define SMOOTH_BITMASK (1<<1)
+#define SMOOTH_BITMASK (1<<0)
/// Limits SMOOTH_BITMASK to only cardinal directions, for use with cardinal smoothing
-#define SMOOTH_BITMASK_CARDINALS (1<<2)
+#define SMOOTH_BITMASK_CARDINALS (1<<1)
/// Atom has diagonal corners, with underlays under them.
-#define SMOOTH_DIAGONAL_CORNERS (1<<3)
+#define SMOOTH_DIAGONAL_CORNERS (1<<2)
/// Atom will smooth with the borders of the map.
-#define SMOOTH_BORDER (1<<4)
+#define SMOOTH_BORDER (1<<3)
/// Atom is currently queued to smooth.
-#define SMOOTH_QUEUED (1<<5)
+#define SMOOTH_QUEUED (1<<4)
/// Smooths with objects, and will thus need to scan turfs for contents.
-#define SMOOTH_OBJ (1<<6)
+#define SMOOTH_OBJ (1<<5)
/// Uses directional object smoothing, so we care not only about something being on the right turf, but also its direction
/// Changes the meaning of smoothing_junction, instead of representing the directions we are smoothing in
/// it represents the sides of our directional border object that have a neighbor
-/// Is incompatible with SMOOTH_CORNERS because border objects don't have corners
-#define SMOOTH_BORDER_OBJECT (1<<7)
+/// Is incompatible with SMOOTH_DIAGONAL_CORNERS because border objects don't have corners
+#define SMOOTH_BORDER_OBJECT (1<<6)
-#define USES_SMOOTHING (SMOOTH_CORNERS|SMOOTH_BITMASK|SMOOTH_BITMASK_CARDINALS)
+#define USES_SMOOTHING (SMOOTH_BITMASK|SMOOTH_BITMASK_CARDINALS)
DEFINE_BITFIELD(smoothing_flags, list(
- "SMOOTH_CORNERS" = SMOOTH_CORNERS,
"SMOOTH_BITMASK" = SMOOTH_BITMASK,
"SMOOTH_BITMASK_CARDINALS" = SMOOTH_BITMASK_CARDINALS,
"SMOOTH_DIAGONAL_CORNERS" = SMOOTH_DIAGONAL_CORNERS,
@@ -225,31 +222,36 @@ DEFINE_BITFIELD(smoothing_junction, list(
#define SMOOTH_GROUP_WATER S_OBJ(76) ///obj/effect/abstract/liquid_turf
//SKYRAT EDIT END
-
-#define SMOOTH_GROUP_GRAV_FIELD S_OBJ(69)
-#define SMOOTH_GROUP_GIRDER S_OBJ(75)
+#define SMOOTH_GROUP_GRAV_FIELD S_OBJ(75)
+#define SMOOTH_GROUP_GIRDER S_OBJ(76)
+#define SMOOTH_GROUP_TEST_WALL S_OBJ(77) // I'm a lazy bum who doesn't want to increment all of these up by 1 ~Lemon
/// Performs the work to set smoothing_groups and canSmoothWith.
/// An inlined function used in both turf/Initialize and atom/Initialize.
#define SETUP_SMOOTHING(...) \
if (smoothing_groups) { \
- if (PERFORM_ALL_TESTS(focus_only/sorted_smoothing_groups)) { \
- ASSERT_SORTED_SMOOTHING_GROUPS(smoothing_groups); \
- } \
- SET_SMOOTHING_GROUPS(smoothing_groups); \
+ PARSE_SMOOTHING_GROUPS(smoothing_groups, smoothing_groups); \
} \
-\
if (canSmoothWith) { \
- if (PERFORM_ALL_TESTS(focus_only/sorted_smoothing_groups)) { \
- ASSERT_SORTED_SMOOTHING_GROUPS(canSmoothWith); \
- } \
- /* S_OBJ is always negative, and we are guaranteed to be sorted. */ \
- if (canSmoothWith[1] == "-") { \
- smoothing_flags |= SMOOTH_OBJ; \
- } \
- SET_SMOOTHING_GROUPS(canSmoothWith); \
+ PARSE_CAN_SMOOTH_WITH(canSmoothWith, canSmoothWith, smoothing_flags); \
}
+#define PARSE_SMOOTHING_GROUPS(parse_from, set_into) \
+ if (PERFORM_ALL_TESTS(focus_only/sorted_smoothing_groups)) { \
+ ASSERT_SORTED_SMOOTHING_GROUPS(smoothing_groups); \
+ } \
+ SET_SMOOTHING_GROUPS(parse_from, set_into);
+
+#define PARSE_CAN_SMOOTH_WITH(parse_from, set_into, set_flags_into) \
+ if (PERFORM_ALL_TESTS(focus_only/sorted_smoothing_groups)) { \
+ ASSERT_SORTED_SMOOTHING_GROUPS(canSmoothWith); \
+ } \
+ /* S_OBJ is always negative, and we are guaranteed to be sorted. */ \
+ if (canSmoothWith[1] == "-") { \
+ set_flags_into |= SMOOTH_OBJ; \
+ } \
+ SET_SMOOTHING_GROUPS(parse_from, set_into);
+
/// Given a smoothing groups variable, will set out to the actual numbers inside it
#define UNWRAP_SMOOTHING_GROUPS(smoothing_groups, out) \
json_decode("\[[##smoothing_groups]0\]"); \
diff --git a/code/__DEFINES/id_cards.dm b/code/__DEFINES/id_cards.dm
index 1e6838f5be4..2d1ab875610 100644
--- a/code/__DEFINES/id_cards.dm
+++ b/code/__DEFINES/id_cards.dm
@@ -18,6 +18,12 @@
WILDCARD_NAME_COMMAND = list(limit = 2, usage = list()), \
WILDCARD_NAME_PRV_COMMAND = list(limit = 1, usage = list()) \
)
+/// The Platinum card, an in between of silver and gold, which can have infinite common but is still limited in command
+#define WILDCARD_LIMIT_PLATINUM list( \
+ WILDCARD_NAME_COMMON = list(limit = -1, usage = list()), \
+ WILDCARD_NAME_COMMAND = list(limit = 2, usage = list()), \
+ WILDCARD_NAME_PRV_COMMAND = list(limit = 1, usage = list()) \
+)
/// Wildcard slot define for Captain gold cards. Can hold infinite of any Captain level wildcard.
#define WILDCARD_LIMIT_GOLD list(WILDCARD_NAME_CAPTAIN = list(limit = -1, usage = list()))
/// Wildcard slot define for select Syndicate-affiliated cards. Can hold infinite of any Syndicate level wildcard. Syndicate includes all station accesses.
diff --git a/code/__DEFINES/inventory.dm b/code/__DEFINES/inventory.dm
index 2fada01dd9a..39d37af8970 100644
--- a/code/__DEFINES/inventory.dm
+++ b/code/__DEFINES/inventory.dm
@@ -148,9 +148,9 @@ DEFINE_BITFIELD(no_equip_flags, list(
//defines for the index of hands
#define LEFT_HANDS 1
#define RIGHT_HANDS 2
-/// Checks if the value is "left" - same as ISEVEN, but used primarily for hand or foot index contexts
+/// Checks if the value is "right" - same as ISEVEN, but used primarily for hand or foot index contexts
#define IS_RIGHT_INDEX(value) (value % 2 == 0)
-/// Checks if the value is "right" - same as ISODD, but used primarily for hand or foot index contexts
+/// Checks if the value is "left" - same as ISODD, but used primarily for hand or foot index contexts
#define IS_LEFT_INDEX(value) (value % 2 != 0)
//flags for female outfits: How much the game can safely "take off" the uniform without it looking weird
@@ -357,3 +357,5 @@ GLOBAL_LIST_INIT(tool_items, list(
#define LOCATION_HEAD "on your head"
/// String for items placed in the neck slot.
#define LOCATION_NECK "around your neck"
+/// String for items placed in the id slot
+#define LOCATION_ID "in your ID slot"
diff --git a/code/__DEFINES/layers.dm b/code/__DEFINES/layers.dm
index 6509cf73fb2..1a6a61c0e72 100644
--- a/code/__DEFINES/layers.dm
+++ b/code/__DEFINES/layers.dm
@@ -40,12 +40,15 @@
#define POINT_PLANE 5
//---------- LIGHTING -------------
-///Normal 1 per turf dynamic lighting underlays
+/// Normal 1 per turf dynamic lighting underlays
#define LIGHTING_PLANE 10
-///Lighting objects that are "free floating"
+/// Lighting objects that are "free floating"
#define O_LIGHTING_VISUAL_PLANE 11
-#define O_LIGHTING_VISUAL_RENDER_TARGET "O_LIGHT_VISUAL_PLANE"
+#define O_LIGHTING_VISUAL_RENDER_TARGET "*O_LIGHT_VISUAL_PLANE"
+
+// Render plate used by overlay lighting to mask turf lights
+#define TURF_LIGHTING_PLATE 12
/// This plane masks out lighting to create an "emissive" effect, ie for glowing lights in otherwise dark areas.
#define EMISSIVE_RENDER_PLATE 14
@@ -149,13 +152,14 @@
#define LATTICE_LAYER (8 + TOPDOWN_LAYER)
#define DISPOSAL_PIPE_LAYER (9 + TOPDOWN_LAYER)
#define WIRE_LAYER (10 + TOPDOWN_LAYER)
-#define GLASS_FLOOR_LAYER (11 + TOPDOWN_LAYER)
-#define TRAM_RAIL_LAYER (12 + TOPDOWN_LAYER)
-#define ABOVE_OPEN_TURF_LAYER (13 + TOPDOWN_LAYER)
+#define BELOW_CATWALK_LAYER (11 + TOPDOWN_LAYER)
+#define GLASS_FLOOR_LAYER (12 + TOPDOWN_LAYER)
///catwalk overlay of /turf/open/floor/plating/catwalk_floor
-#define CATWALK_LAYER (14 + TOPDOWN_LAYER)
-#define LOWER_RUNE_LAYER (15 + TOPDOWN_LAYER)
-#define RUNE_LAYER (16 + TOPDOWN_LAYER)
+#define CATWALK_LAYER (13 + TOPDOWN_LAYER)
+#define TRAM_RAIL_LAYER (14 + TOPDOWN_LAYER)
+#define ABOVE_OPEN_TURF_LAYER (15 + TOPDOWN_LAYER)
+#define LOWER_RUNE_LAYER (16 + TOPDOWN_LAYER)
+#define RUNE_LAYER (17 + TOPDOWN_LAYER)
#define CLEANABLE_FLOOR_OBJECT_LAYER (21 + TOPDOWN_LAYER)
//Placeholders in case the game plane and possibly other things between it and the floor plane are ever made into topdown planes
@@ -306,6 +310,11 @@
/// Layer for light overlays
#define LIGHT_DEBUG_LAYER 6
+/// Layer for pathfinding arrows
+#define PATH_ARROW_DEBUG_LAYER 7
+/// Layer for pathfinding overlays
+#define PATH_DEBUG_LAYER 8
+
///Layer for lobby menu collapse button
#define LOBBY_BELOW_MENU_LAYER 2
///Layer for lobby menu background image and main buttons (Join/Ready, Observe, Character Prefs)
diff --git a/code/__DEFINES/library.dm b/code/__DEFINES/library.dm
index 0c84434578d..abf205fd297 100644
--- a/code/__DEFINES/library.dm
+++ b/code/__DEFINES/library.dm
@@ -7,3 +7,12 @@
#define CHECKOUTS_PER_PAGE 17
///How many inventory items should we load per page?
#define INVENTORY_PER_PAGE 19
+
+// Book categories, used in SQL so don't change randomly
+#define BOOK_CATEGORY_FICTION "Fiction"
+#define BOOK_CATEGORY_NONFICTION "Non-fiction"
+#define BOOK_CATEGORY_RELIGION "Religion"
+#define BOOK_CATEGORY_ADULT "Adult"
+#define BOOK_CATEGORY_REFERENCE "Reference"
+/// If making a book of this category it will be randomly selected from all categories
+#define BOOK_CATEGORY_RANDOM "Random"
diff --git a/code/__DEFINES/lighting.dm b/code/__DEFINES/lighting.dm
index d52aa951a69..fdce0fde2f5 100644
--- a/code/__DEFINES/lighting.dm
+++ b/code/__DEFINES/lighting.dm
@@ -57,6 +57,9 @@
/// The amount of lumcount on a tile for it to be considered dark (used to determine reading and nyctophobia)
#define LIGHTING_TILE_IS_DARK 0.2
+/// Weight of overlay lighting, in percentage of contribution towards total light
+#define OVERLAY_LIGHTING_WEIGHT 0.4
+
//code assumes higher numbers override lower numbers.
#define LIGHTING_NO_UPDATE 0
#define LIGHTING_VIS_UPDATE 1
diff --git a/code/__DEFINES/machines.dm b/code/__DEFINES/machines.dm
index dc7dfac3fd0..43edb92cf36 100644
--- a/code/__DEFINES/machines.dm
+++ b/code/__DEFINES/machines.dm
@@ -55,6 +55,9 @@
/// We are getting this door open if it has not been physically held shut somehow. Play a special sound to signify this level of opening.
#define BYPASS_DOOR_CHECKS 2
+/// Damage dealth to an airlock when prie
+#define AIRLOCK_PRY_DAMAGE 25
+
//used in design to specify which machine can build it
//Note: More than one of these can be added to a design but imprinter and lathe designs are incompatible.
#define IMPRINTER (1<<0) //For circuits. Uses glass/chemicals.
diff --git a/code/__DEFINES/mining.dm b/code/__DEFINES/mining.dm
index d0fa97062b1..7a122679dc1 100644
--- a/code/__DEFINES/mining.dm
+++ b/code/__DEFINES/mining.dm
@@ -18,6 +18,14 @@
/// Small vents, giving small boulders.
#define SMALL_VENT_TYPE "small"
+//gibtonite strength
+/// Gibtonite was deactivated right before it could explode
+#define GIBTONITE_QUALITY_HIGH 3
+/// Gibtonite was deactivated a few seconds before it could explode
+#define GIBTONITE_QUALITY_MEDIUM 2
+/// Gibtonite was deactivated right after it was struck.
+#define GIBTONITE_QUALITY_LOW 1
+
// Timers for the ore vents to perform wave defense.
/// Duration for wave defense for a small vent.
#define WAVE_DURATION_SMALL 60 SECONDS
diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm
index 8de8628ee31..694e90fbce0 100644
--- a/code/__DEFINES/mobs.dm
+++ b/code/__DEFINES/mobs.dm
@@ -252,54 +252,6 @@
#define SCREWYHUD_DEAD 2
#define SCREWYHUD_HEALTHY 3
-//Threshold levels for beauty for humans
-#define BEAUTY_LEVEL_HORRID -66
-#define BEAUTY_LEVEL_BAD -33
-#define BEAUTY_LEVEL_DECENT 33
-#define BEAUTY_LEVEL_GOOD 66
-#define BEAUTY_LEVEL_GREAT 100
-
-//Moods levels for humans
-#define MOOD_HAPPY4 15
-#define MOOD_HAPPY3 10
-#define MOOD_HAPPY2 6
-#define MOOD_HAPPY1 2
-#define MOOD_NEUTRAL 0
-#define MOOD_SAD1 -3
-#define MOOD_SAD2 -7
-#define MOOD_SAD3 -15
-#define MOOD_SAD4 -20
-
-//Moods levels for humans
-#define MOOD_LEVEL_HAPPY4 9
-#define MOOD_LEVEL_HAPPY3 8
-#define MOOD_LEVEL_HAPPY2 7
-#define MOOD_LEVEL_HAPPY1 6
-#define MOOD_LEVEL_NEUTRAL 5
-#define MOOD_LEVEL_SAD1 4
-#define MOOD_LEVEL_SAD2 3
-#define MOOD_LEVEL_SAD3 2
-#define MOOD_LEVEL_SAD4 1
-
-//Sanity values for humans
-#define SANITY_MAXIMUM 150
-#define SANITY_GREAT 125
-#define SANITY_NEUTRAL 100
-#define SANITY_DISTURBED 75
-#define SANITY_UNSTABLE 50
-#define SANITY_CRAZY 25
-#define SANITY_INSANE 0
-
-//Sanity levels for humans
-#define SANITY_LEVEL_GREAT 1
-#define SANITY_LEVEL_NEUTRAL 2
-#define SANITY_LEVEL_DISTURBED 3
-#define SANITY_LEVEL_UNSTABLE 4
-#define SANITY_LEVEL_CRAZY 5
-#define SANITY_LEVEL_INSANE 6
-/// Equal to the highest sanity level
-#define SANITY_LEVEL_MAX SANITY_LEVEL_INSANE
-
//Nutrition levels for humans
#define NUTRITION_LEVEL_FAT 600
#define NUTRITION_LEVEL_FULL 550
@@ -332,7 +284,6 @@
#define ETHEREAL_CHARGE_OVERLOAD (2.5 * STANDARD_ETHEREAL_CHARGE)
#define ETHEREAL_CHARGE_DANGEROUS (3 * STANDARD_ETHEREAL_CHARGE)
-
#define CRYSTALIZE_COOLDOWN_LENGTH (120 SECONDS)
#define CRYSTALIZE_PRE_WAIT_TIME (40 SECONDS)
#define CRYSTALIZE_DISARM_WAIT_TIME (120 SECONDS)
diff --git a/code/__DEFINES/mood.dm b/code/__DEFINES/mood.dm
index 161f253b04c..60fadb031c1 100644
--- a/code/__DEFINES/mood.dm
+++ b/code/__DEFINES/mood.dm
@@ -1 +1,77 @@
-#define MOOD_CATEGORY_LEGION_CORE "regenerative core"
+// Threshold levels for beauty for humans
+#define BEAUTY_LEVEL_HORRID -66
+#define BEAUTY_LEVEL_BAD -33
+#define BEAUTY_LEVEL_DECENT 33
+#define BEAUTY_LEVEL_GOOD 66
+#define BEAUTY_LEVEL_GREAT 100
+
+// Moods levels for humans
+#define MOOD_HAPPY4 15
+#define MOOD_HAPPY3 10
+#define MOOD_HAPPY2 6
+#define MOOD_HAPPY1 2
+#define MOOD_NEUTRAL 0
+#define MOOD_SAD1 -3
+#define MOOD_SAD2 -7
+#define MOOD_SAD3 -15
+#define MOOD_SAD4 -20
+
+// Moods levels for humans
+#define MOOD_LEVEL_HAPPY4 9
+#define MOOD_LEVEL_HAPPY3 8
+#define MOOD_LEVEL_HAPPY2 7
+#define MOOD_LEVEL_HAPPY1 6
+#define MOOD_LEVEL_NEUTRAL 5
+#define MOOD_LEVEL_SAD1 4
+#define MOOD_LEVEL_SAD2 3
+#define MOOD_LEVEL_SAD3 2
+#define MOOD_LEVEL_SAD4 1
+
+// Sanity values for humans
+#define SANITY_MAXIMUM 150
+#define SANITY_GREAT 125
+#define SANITY_NEUTRAL 100
+#define SANITY_DISTURBED 75
+#define SANITY_UNSTABLE 50
+#define SANITY_CRAZY 25
+#define SANITY_INSANE 0
+
+// Sanity levels for humans
+#define SANITY_LEVEL_GREAT 1
+#define SANITY_LEVEL_NEUTRAL 2
+#define SANITY_LEVEL_DISTURBED 3
+#define SANITY_LEVEL_UNSTABLE 4
+#define SANITY_LEVEL_CRAZY 5
+#define SANITY_LEVEL_INSANE 6
+/// Equal to the highest sanity level
+#define SANITY_LEVEL_MAX SANITY_LEVEL_INSANE
+
+// Group types for terror handlers
+#define TERROR_HANDLER_SOURCE "source"
+#define TERROR_HANDLER_EFFECT "effect"
+
+// Default cooldown for terror messages, to not get spammy
+#define TERROR_MESSAGE_CD 30 SECONDS
+
+// Values for terror buildup effects
+/// Initial value for effects that apply the component from spooking you
+#define TERROR_BUILDUP_INITIAL 100
+/// How much terror is removed per second when we're not afraid
+#define TERROR_BUILDUP_PASSIVE_DECREASE 15
+/// Level at which minor effects start kicking in
+#define TERROR_BUILDUP_FEAR 150
+/// Level at which major effects start kicking in
+#define TERROR_BUILDUP_TERROR 300
+/// Level at which we're having a full on panic attack
+#define TERROR_BUILDUP_PANIC 500
+/// Maximum amount of terror that passive sources can stack
+#define TERROR_BUILDUP_PASSIVE_MAXIMUM 600
+/// Your heart gives out at this level, should always be higher than TERROR_BUILDUP_PASSIVE_MAXIMUM
+#define TERROR_BUILDUP_HEART_ATTACK 800
+/// Maximum amount of terror that can be held at once
+#define TERROR_BUILDUP_MAXIMUM 1000
+
+/// How much terror panic attacks grant
+#define PANIC_ATTACK_TERROR_AMOUNT 50
+/// How much terror being hugged reduces, or increases if its done by a nightmare or someone you're afraid of
+#define HUG_TERROR_AMOUNT 90
diff --git a/code/__DEFINES/path.dm b/code/__DEFINES/path.dm
index 6a930699041..d98893ffd7b 100644
--- a/code/__DEFINES/path.dm
+++ b/code/__DEFINES/path.dm
@@ -9,7 +9,8 @@
* If you really want to optimize things, optimize this, cuz this gets called a lot.
* We do early next.density check despite it being already checked in LinkBlockedWithAccess for short-circuit performance
*/
-#define CAN_STEP(cur_turf, next, simulated_only, pass_info, avoid) (next && !next.density && !(simulated_only && SSpathfinder.space_type_cache[next.type]) && !cur_turf.LinkBlockedWithAccess(next, pass_info) && (next != avoid))
+#define CAN_STEP(cur_turf, next, simulated_only, pass_info, avoid) \
+ (next && !next.density && !(simulated_only && SSpathfinder.space_type_cache[next.type]) && (next != avoid) && !cur_turf.LinkBlockedWithAccess(next, pass_info))
#define DIAGONAL_DO_NOTHING NONE
#define DIAGONAL_REMOVE_ALL 1
diff --git a/code/__DEFINES/preferences.dm b/code/__DEFINES/preferences.dm
index 7401e83f69a..8bcb12389f2 100644
--- a/code/__DEFINES/preferences.dm
+++ b/code/__DEFINES/preferences.dm
@@ -81,8 +81,6 @@
#define DEFAULT_CYBORG_NAME "Default Cyborg Name"
// Choose grid or list TGUI layouts for UI's, when possible.
-/// Default layout will be used. It can be either a grid or a list
-#define TGUI_LAYOUT_DEFAULT "default"
/// Force grid layout, even if default is a list.
#define TGUI_LAYOUT_GRID "grid"
/// Force list layout, even if default is a grid.
@@ -166,3 +164,8 @@
#define INFO_RESKIN "reskin"
/// Handles which layer the item will be on, for accessories
#define INFO_LAYER "layer"
+
+// Lipstick styles
+#define UPPER_LIP "Upper"
+#define MIDDLE_LIP "Middle"
+#define LOWER_LIP "Lower"
diff --git a/code/__DEFINES/reagents.dm b/code/__DEFINES/reagents.dm
index c9f32feca78..ada4f150725 100644
--- a/code/__DEFINES/reagents.dm
+++ b/code/__DEFINES/reagents.dm
@@ -241,3 +241,13 @@
#define GRENADE_WIRED 2
/// Grenade is ready to be finished
#define GRENADE_READY 3
+
+/// Maximum amount of layers a pill can hold, aka maximum number of seconds a pill takes to dissolve
+#define PILL_MAX_LAYERS 60
+/// Maximum amount of layers above which you cannot taste the pill's contents
+#define PILL_MAX_TASTE_LAYERS 20
+/// Maximum amount of layers that a ChemMaster can produce
+#define PILL_MAX_PRINTABLE_LAYERS 30
+
+/// Cooldown between patch reagent messages
+#define PATCH_MESSAGE_COOLDOWN 10 SECONDS
diff --git a/code/__DEFINES/religion.dm b/code/__DEFINES/religion.dm
index 3074dae2987..a6a1810adf2 100644
--- a/code/__DEFINES/religion.dm
+++ b/code/__DEFINES/religion.dm
@@ -54,3 +54,10 @@
#define PUNISHMENT_LIGHTNING "lightningbolt"
///brands the sinner
#define PUNISHMENT_BRAND "brand"
+
+/// Failed to bless the target, beat them over the head
+#define BLESSING_FAILED "failed"
+/// Blessed unsuccessfully, no limbs to heal, robotic limbs, etc
+#define BLESSING_IGNORED "ignored"
+/// Blessed successfully by healing or whatever
+#define BLESSING_SUCCESS "success"
diff --git a/code/__DEFINES/research/techweb_nodes.dm b/code/__DEFINES/research/techweb_nodes.dm
index c44a3f4b71a..8fcd954e1a6 100644
--- a/code/__DEFINES/research/techweb_nodes.dm
+++ b/code/__DEFINES/research/techweb_nodes.dm
@@ -36,6 +36,7 @@
#define TECHWEB_NODE_CYBER_ORGANS_UPGRADED "cyber_organs_upgraded"
#define TECHWEB_NODE_CYBERNETICS "cybernetics"
#define TECHWEB_NODE_CYTOLOGY "cytology"
+#define TECHWEB_NODE_DONK_PRODUCTS "donk_products"
#define TECHWEB_NODE_ELECTRIC_WEAPONS "electric_weapons"
#define TECHWEB_NODE_ENERGY_MANIPULATION "energy_manipulation"
#define TECHWEB_NODE_EXODRONE "exodrone"
diff --git a/code/__DEFINES/shuttles.dm b/code/__DEFINES/shuttles.dm
index 8a31acfc087..fb7b57e4184 100644
--- a/code/__DEFINES/shuttles.dm
+++ b/code/__DEFINES/shuttles.dm
@@ -141,6 +141,7 @@
#define ABOVE_MAX_SHUTTLE_SIZE 1 << 2
#define CUSTOM_AREA_NOT_COMPLETELY_CONTAINED 1 << 3
#define INTERSECTS_NON_WHITELISTED_AREA 1 << 4
+#define CONTAINS_APC_OF_NON_CUSTOM_AREA 1 << 5
// Custom shuttle engine defines
#define CUSTOM_ENGINE_COEFF_MIN 0.5
diff --git a/code/__DEFINES/traits/declarations.dm b/code/__DEFINES/traits/declarations.dm
index 461aef1c703..74c0fa80141 100644
--- a/code/__DEFINES/traits/declarations.dm
+++ b/code/__DEFINES/traits/declarations.dm
@@ -216,8 +216,6 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
#define TRAIT_MAGICALLY_GIFTED "magically_gifted"
/// This object innately spawns with fantasy variables already applied (the magical component is given to it on initialize), and thus we never want to give it the component again.
#define TRAIT_INNATELY_FANTASTICAL_ITEM "innately_fantastical_item"
-#define TRAIT_DEPRESSION "depression"
-#define TRAIT_JOLLY "jolly"
#define TRAIT_NOCRITDAMAGE "no_crit"
/// Prevents shovies and some strong blows such as unarmed punches and (unreliably) tackles the owner down
#define TRAIT_BRAWLING_KNOCKDOWN_BLOCKED "brawling_knockdown_blocked"
@@ -514,6 +512,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
/// Mob has a scar on their left/right eye
#define TRAIT_RIGHT_EYE_SCAR "right_eye_scar"
#define TRAIT_LEFT_EYE_SCAR "left_eye_scar"
+/// Mob has their face visually, but not physically, covered
+#define TRAIT_FACE_COVERED "face_covered"
/// Trait added when a revenant is visible.
#define TRAIT_REVENANT_REVEALED "revenant_revealed"
@@ -892,7 +892,6 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
#define TRAIT_SELF_AWARE "self_aware"
#define TRAIT_FREERUNNING "freerunning"
#define TRAIT_SKITTISH "skittish"
-#define TRAIT_PROSOPAGNOSIA "prosopagnosia"
#define TRAIT_TAGGER "tagger"
#define TRAIT_PHOTOGRAPHER "photographer"
#define TRAIT_MUSICIAN "musician"
@@ -1179,6 +1178,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
///The entity has AI 'access', so is either an AI, has an access wand, or is an admin ghost AI. Used to block off regular Silicons from things.
///This is put on the mob, it is used on the client for Admins but they are the exception as they use `isAdminGhostAI`.
#define TRAIT_AI_ACCESS "ai_access_trait"
+///The entity is able to receive a tracking button in chat
+#define TRAIT_CAN_GET_AI_TRACKING_MESSAGE "can_get_ai_tracking_message"
///Used by wearable_client_colour to determine whether the mob wants to have the colours of the screen affected by worn items (some still do regardless).
#define TRAIT_SEE_WORN_COLOURS "see_worn_colour"
@@ -1464,4 +1465,13 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
///Trait given to heretic summons, making them immune to heretic spells
#define TRAIT_HERETIC_SUMMON "heretic_summon"
+///trait given to mobs that are difficult to tame through mounting
+#define TRAIT_MOB_DIFFICULT_TO_MOUNT "difficult_to_mount"
+
+///trait given to mobs that are easy to tame through mounting
+#define TRAIT_MOB_EASY_TO_MOUNT "easy_to_mount"
+
+/// Prevents items from being speed potion-ed, but allows their speed to be altered in other ways
+#define TRAIT_NO_SPEED_POTION "no_speed_potion"
+
// END TRAIT DEFINES
diff --git a/code/__DEFINES/wires.dm b/code/__DEFINES/wires.dm
index 57f51c50cd8..960fbbd7b14 100644
--- a/code/__DEFINES/wires.dm
+++ b/code/__DEFINES/wires.dm
@@ -44,8 +44,7 @@
#define WIRE_BEACON "Beacon"
#define WIRE_BOLTLIGHT "Bolt Lights"
#define WIRE_BOLTS "Bolts"
-#define WIRE_BOOM "Boom Wire 1"
-#define WIRE_BOOM2 "Boom Wire 2"
+#define WIRE_BOOM "Boom Wire"
#define WIRE_CAMERA "Camera"
#define WIRE_CONTRABAND "Contraband"
#define WIRE_DELAY "Delay"
@@ -96,6 +95,8 @@
#define WIRE_OVERCLOCK "Overclock"
#define WIRE_EQUIPMENT "Equipment"
#define WIRE_ENVIRONMENT "Environment"
+#define WIRE_LOOP_MODE "Loop mode"
+#define WIRE_REPLAY_MODE "Replay mode"
// Wire states for the AI
#define AI_WIRE_NORMAL 0
diff --git a/code/__HELPERS/_lists.dm b/code/__HELPERS/_lists.dm
index cee1a46c134..d1c6e6bb7d6 100644
--- a/code/__HELPERS/_lists.dm
+++ b/code/__HELPERS/_lists.dm
@@ -96,6 +96,15 @@
LAZYINITLIST(lazy_list); \
LAZYINITLIST(lazy_list[key]); \
lazy_list[key] |= value;
+/// Calls Insert on the lazy list if it exists, otherwise initializes it with the value
+#define LAZYINSERT(lazylist, index, value) \
+ if (!lazylist) { \
+ lazylist = list(value); \
+ } else if (index == 0 && index > length(lazylist)) { \
+ lazylist += value; \
+ } else { \
+ lazylist.Insert(index, value); \
+ }
///Ensures the length of a list is at least I, prefilling it with V if needed. if V is a proc call, it is repeated for each new index so that list() can just make a new list for each item.
#define LISTASSERTLEN(L, I, V...) \
@@ -937,13 +946,6 @@
UNTYPED_LIST_ADD(keys, key)
return keys
-///Gets the total amount of everything in the associative list.
-/proc/assoc_value_sum(list/input)
- var/keys = 0
- for(var/key in input)
- keys += input[key]
- return keys
-
///compare two lists, returns TRUE if they are the same
/proc/compare_list(list/l,list/d)
if(!islist(l) || !islist(d))
diff --git a/code/__HELPERS/bitflag_lists.dm b/code/__HELPERS/bitflag_lists.dm
index 48e35bd6b91..f2b3139ed3f 100644
--- a/code/__HELPERS/bitflag_lists.dm
+++ b/code/__HELPERS/bitflag_lists.dm
@@ -3,18 +3,19 @@ GLOBAL_LIST_EMPTY(bitflag_lists)
/**
* System for storing bitflags past the 24 limit, making use of an associative list.
*
- * Macro converts a list of integers into an associative list of bitflag entries for quicker comparison.
- * Example: list(0, 4, 26, 32)) => list( "0" = ( (1<<0) | (1<<4) ), "1" = ( (1<<2) | (1<<8) ) )
+ * Macro converts a string of integers into an associative list of bitflag entries for quicker comparison.
+ * Example: "0, 4, 26, 32" => list( "0" = ( (1<<0) | (1<<4) ), "1" = ( (1<<2) | (1<<8) ) )
* Lists are cached into a global list of lists to avoid identical duplicates.
* This system makes value comparisons faster than pairing every element of one list with every element of the other for evaluation.
*
* Arguments:
- * * target - List of integers.
+ * * read_from - String of integers.
+ * * set_into - Variable to set equal to a list of integers
*/
-#define SET_SMOOTHING_GROUPS(target) \
+#define SET_SMOOTHING_GROUPS(read_from, set_into) \
do { \
- var/txt_signature = target; \
- if(isnull((target = GLOB.bitflag_lists[txt_signature]))) { \
+ var/txt_signature = read_from; \
+ if(isnull((set_into = GLOB.bitflag_lists[txt_signature]))) { \
var/list/new_bitflag_list = list(); \
var/list/decoded = UNWRAP_SMOOTHING_GROUPS(txt_signature, decoded); \
for(var/value in decoded) { \
@@ -23,6 +24,6 @@ GLOBAL_LIST_EMPTY(bitflag_lists)
} \
new_bitflag_list["[round(value / 24)]"] |= (1 << (value % 24)); \
}; \
- target = GLOB.bitflag_lists[txt_signature] = new_bitflag_list; \
+ set_into = GLOB.bitflag_lists[txt_signature] = new_bitflag_list; \
}; \
} while (FALSE)
diff --git a/code/__HELPERS/cmp.dm b/code/__HELPERS/cmp.dm
index 21a5f00e31b..f333318c94e 100644
--- a/code/__HELPERS/cmp.dm
+++ b/code/__HELPERS/cmp.dm
@@ -231,3 +231,7 @@
/// Orders cameras by their `c_tag` ascending
/proc/cmp_camera_ctag_asc(obj/machinery/camera/a, obj/machinery/camera/b)
return sorttext(b.c_tag, a.c_tag)
+
+/// Sorts client colors based on their priority
+/proc/cmp_client_colours(datum/client_colour/first_color, datum/client_colour/second_color)
+ return second_color.priority - first_color.priority
diff --git a/code/__HELPERS/colors.dm b/code/__HELPERS/colors.dm
index 28677669768..8e9ac7def5b 100644
--- a/code/__HELPERS/colors.dm
+++ b/code/__HELPERS/colors.dm
@@ -47,6 +47,8 @@
var/list/color = rgb2num(HTMLstring)
return rgb(255 - color[1], 255 - color[2], 255 - color[3])
+#define TEMP_COLOR_SOURCE "temp_flash"
+
///Flash a color on the passed mob
/proc/flash_color(mob_or_client, flash_color=COLOR_CULT_RED, flash_time=20)
var/mob/flashed_mob
@@ -60,11 +62,13 @@
return
var/datum/client_colour/temp/temp_color = new(flashed_mob)
- temp_color.colour = flash_color
+ temp_color.color = flash_color
temp_color.fade_in = flash_time * 0.25
temp_color.fade_out = flash_time * 0.25
QDEL_IN(temp_color, (flash_time * 0.5) + 1)
- flashed_mob.add_client_colour(temp_color)
+ flashed_mob.add_client_colour(temp_color, TEMP_COLOR_SOURCE)
+
+#undef TEMP_COLOR_SOURCE
/// Blends together two colors (passed as 3 or 4 length lists) using the screen blend mode
/// Much like multiply, screen effects the brightness of the resulting color
diff --git a/code/__HELPERS/fade_into_nothing.dm b/code/__HELPERS/fade_into_nothing.dm
new file mode 100644
index 00000000000..d8df8ced78e
--- /dev/null
+++ b/code/__HELPERS/fade_into_nothing.dm
@@ -0,0 +1,9 @@
+/// Deletes the atom with a little fading out animation after a specified time
+/atom/proc/fade_into_nothing(life_time = 5 SECONDS, fade_time = 3 SECONDS)
+ QDEL_IN(src, life_time)
+ if (life_time > fade_time && fade_time > 0)
+ addtimer(CALLBACK(src, PROC_REF(fade_into_nothing_animate), fade_time), life_time - fade_time, TIMER_DELETE_ME)
+
+/// Actually does the fade out, used by fade_into_nothing()
+/atom/proc/fade_into_nothing_animate(fade_time)
+ animate(src, alpha = 0, time = fade_time, flags = ANIMATION_PARALLEL)
diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm
index 0635a24da18..d510078414b 100644
--- a/code/__HELPERS/game.dm
+++ b/code/__HELPERS/game.dm
@@ -230,11 +230,12 @@
return atom_to_find
///Send a message in common radio when a player arrives
-/proc/announce_arrival(mob/living/carbon/human/character, rank)
+/proc/announce_arrival(mob/living/carbon/human/character, rank, announce_to_ghosts = TRUE)
if(!SSticker.IsRoundInProgress() || QDELETED(character))
return
- var/area/player_area = get_area(character)
- deadchat_broadcast(span_game(" has arrived at the station at [span_name(player_area.name)]."), span_game("[span_name(character.real_name)] ([rank])"), follow_target = character, message_type=DEADCHAT_ARRIVALRATTLE)
+ if (announce_to_ghosts)
+ var/area/player_area = get_area(character)
+ deadchat_broadcast(span_game(" has arrived at the station at [span_name(player_area.name)]."), span_game("[span_name(character.real_name)] ([rank])"), follow_target = character, message_type=DEADCHAT_ARRIVALRATTLE)
if(character.mind && (character.mind.assigned_role.job_flags & JOB_ANNOUNCE_ARRIVAL))
aas_config_announce(/datum/aas_config_entry/arrival, list("PERSON" = character.real_name,"RANK" = rank))
diff --git a/code/__HELPERS/hallucinations.dm b/code/__HELPERS/hallucinations.dm
index d3d4a2630ed..110a94e862d 100644
--- a/code/__HELPERS/hallucinations.dm
+++ b/code/__HELPERS/hallucinations.dm
@@ -1,6 +1,18 @@
/// A global list of all ongoing hallucinations, primarily for easy access to be able to stop (delete) hallucinations.
GLOBAL_LIST_EMPTY(all_ongoing_hallucinations)
+// Hallucination tiers
+/// Very common hallucinations, minor stuff that'll make you double-take but is otherwise very subtle.
+#define HALLUCINATION_TIER_COMMON 1
+/// Uncommon hallucinations, more noticeable and potentially more impactful (causing temporary stuns or stamina damage).
+#define HALLUCINATION_TIER_UNCOMMON 2
+/// Rarer hallucinations which are usually pretty obvious, but also pretty impactful.
+#define HALLUCINATION_TIER_RARE 3
+/// Hallucinations which are generally just for laughs and are obviously fake
+#define HALLUCINATION_TIER_VERYSPECIAL 4
+/// Hallucinations which are never picked, only forced
+#define HALLUCINATION_TIER_NEVER 5
+
/// What typepath of the hallucination
#define HALLUCINATION_ARG_TYPE 1
/// Where the hallucination came from, for logging
@@ -111,7 +123,7 @@ GLOBAL_LIST_EMPTY(all_ongoing_hallucinations)
to_chat(nearby_living, pick(optional_messages))
/// Global weighted list of all hallucinations that can show up randomly.
-GLOBAL_LIST_INIT(random_hallucination_weighted_list, generate_hallucination_weighted_list())
+GLOBAL_LIST_INIT_TYPED(random_hallucination_weighted_list, /list, generate_hallucination_weighted_list())
/// Generates the global weighted list of random hallucinations.
/proc/generate_hallucination_weighted_list()
@@ -124,49 +136,68 @@ GLOBAL_LIST_INIT(random_hallucination_weighted_list, generate_hallucination_weig
if(weight <= 0)
continue
- weighted_list[hallucination_type] = weight
+ LAZYSET(weighted_list["[initial(hallucination_type.hallucination_tier)]"], hallucination_type, weight)
return weighted_list
+/// Select a random hallucination from the hallucination pool
+///
+/// * tier - the tier of hallucination to select from
+/// * strict - if true, only select from the passed tier. If false, select from the passed tier and all tiers below it.
+/proc/get_random_hallucination(tier = HALLUCINATION_TIER_COMMON, strict = FALSE)
+ if(!GLOB.random_hallucination_weighted_list[tier])
+ CRASH("get_random_hallucination - No hallucinations in tier \[[tier]\].")
+
+ var/list/pool = GLOB.random_hallucination_weighted_list["[tier]"].Copy()
+ if(!strict)
+ tier -= 1
+ while(tier >= HALLUCINATION_TIER_COMMON)
+ pool += GLOB.random_hallucination_weighted_list["[tier]"]
+ tier -= 1
+
+ return pick_weight(pool)
+
/// Debug proc for getting the total weight of the random_hallucination_weighted_list
/proc/debug_hallucination_weighted_list()
var/total_weight = 0
- for(var/datum/hallucination/hallucination_type as anything in GLOB.random_hallucination_weighted_list)
- total_weight += GLOB.random_hallucination_weighted_list[hallucination_type]
+ for(var/tier in GLOB.random_hallucination_weighted_list)
+ for(var/datum/hallucination/hallucination_type as anything in GLOB.random_hallucination_weighted_list[tier])
+ total_weight += GLOB.random_hallucination_weighted_list[tier][hallucination_type]
to_chat(usr, span_boldnotice("The total weight of the hallucination weighted list is [total_weight]."))
return total_weight
ADMIN_VERB(debug_hallucination_weighted_list_per_type, R_DEBUG, "Show Hallucination Weights", "View the weight of each hallucination subtype in the random weighted list.", ADMIN_CATEGORY_DEBUG)
- var/header = "Type Weight Percent "
+ var/header = "Type Weight Tier Percent "
var/total_weight = debug_hallucination_weighted_list()
var/list/all_weights = list()
var/datum/hallucination/last_type
var/last_type_weight = 0
- for(var/datum/hallucination/hallucination_type as anything in GLOB.random_hallucination_weighted_list)
- var/this_weight = GLOB.random_hallucination_weighted_list[hallucination_type]
- // Last_type is the abstract parent of the last hallucination type we iterated over
- if(last_type)
- // If this hallucination is the same path as the last type (subtype), add it to the total of the last type weight
- if(ispath(hallucination_type, last_type))
- last_type_weight += this_weight
- continue
+ for(var/tier in GLOB.random_hallucination_weighted_list)
+ for(var/datum/hallucination/hallucination_type as anything in GLOB.random_hallucination_weighted_list[tier])
+ var/this_weight = GLOB.random_hallucination_weighted_list[tier][hallucination_type]
+ // Last_type is the abstract parent of the last hallucination type we iterated over
+ if(last_type)
+ // If this hallucination is the same path as the last type (subtype), add it to the total of the last type weight
+ if(ispath(hallucination_type, last_type))
+ last_type_weight += this_weight
+ continue
- // Otherwise we moved onto the next hallucination subtype so we can stop
+ // Otherwise we moved onto the next hallucination subtype so we can stop
+ else
+ all_weights["[last_type] [last_type_weight] / [total_weight] [initial(hallucination_type.hallucination_tier)] [round(100 * (last_type_weight / total_weight), 0.01)]% chance "] = last_type_weight
+
+ // Set last_type to the abstract parent of this hallucination
+ last_type = initial(hallucination_type.abstract_hallucination_parent)
+ // If last_type is the base hallucination it has no distinct subtypes so we can total it up immediately
+ if(last_type == /datum/hallucination)
+ all_weights["[hallucination_type] [this_weight] / [total_weight] [initial(hallucination_type.hallucination_tier)] [round(100 * (this_weight / total_weight), 0.01)]% chance "] = this_weight
+ last_type = null
+
+ // Otherwise we start the weight sum for the next entry here
else
- all_weights["[last_type] [last_type_weight] / [total_weight] [round(100 * (last_type_weight / total_weight), 0.01)]% chance "] = last_type_weight
-
- // Set last_type to the abstract parent of this hallucination
- last_type = initial(hallucination_type.abstract_hallucination_parent)
- // If last_type is the base hallucination it has no distinct subtypes so we can total it up immediately
- if(last_type == /datum/hallucination)
- all_weights["[hallucination_type] [this_weight] / [total_weight] [round(100 * (this_weight / total_weight), 0.01)]% chance "] = this_weight
- last_type = null
-
- // Otherwise we start the weight sum for the next entry here
- else
- last_type_weight = this_weight
+ last_type_weight = this_weight
// Sort by weight descending, where weight is the values (not the keys). We assoc_to_keys later to get JUST the text
sortTim(all_weights, GLOBAL_PROC_REF(cmp_numeric_dsc), associative = TRUE)
diff --git a/code/__HELPERS/icon_smoothing.dm b/code/__HELPERS/icon_smoothing.dm
index 88ca3dbe11c..958fef1b233 100644
--- a/code/__HELPERS/icon_smoothing.dm
+++ b/code/__HELPERS/icon_smoothing.dm
@@ -1,17 +1,29 @@
-//generic (by snowflake) tile smoothing code; smooth your icons with this!
+//generic (by snowflake + others) tile smoothing code; smooth your icons with this!
/*
- Each tile is divided in 4 corners, each corner has an appearance associated to it; the tile is then overlayed by these 4 appearances
- To use this, just set your atom's 'smoothing_flags' var to 1. If your atom can be moved/unanchored, set its 'can_be_unanchored' var to 1.
- If you don't want your atom's icon to smooth with anything but atoms of the same type, set the list 'canSmoothWith' to null;
+ Smoothed atoms are displayed using prebaked icon states which have been "cut" from a template to match a set of possible smoothing directions.
+ This allows for a variety of effects, such as nice wall textures, gloopy slime, carpet that makes sense, etc etc etc
+
+ To use this, just set your atom's 'smoothing_flags' var to SMOOTH_BITMASK. There are other smoothing strategies but that's all we need to worry about right now
+ If you don't want your atom's icon to smooth with anything but atoms of the same type, set the string 'canSmoothWith' to null;
Otherwise, put all the smoothing groups you want the atom icon to smooth with in 'canSmoothWith', including the group of the atom itself.
Smoothing groups are just shared flags between objects. If one of the 'canSmoothWith' of A matches one of the `smoothing_groups` of B, then A will smooth with B.
- Each atom has its own icon file with all the possible corner states. See 'smooth_wall.dmi' for a template.
+ Each atom has its own icon file with all its icon states, this file is typically generated automatically from a png/toml using hypnagoic, our external cutter.
+ See `wall.dmi' 'wall.png' and 'wall.png.toml' for an example, alongside [the icon cutter documentation](../../icons/Cutter.md)
DIAGONAL SMOOTHING INSTRUCTIONS
- To make your atom smooth diagonally you need all the proper icon states (see 'smooth_wall.dmi' for a template) and
- to add the 'SMOOTH_DIAGONAL_CORNERS' flag to the atom's smoothing_flags var (in addition to either SMOOTH_TRUE or SMOOTH_MORE).
+ To make your atom smooth diagonally you need all the proper icon states (hypnagoic does not support these currently, TODO)
+ They're constructed out of 12 "corners", 4 outer corners, 4 "outside" inner corners and 4 "inside" inner corners
+ - 5, 6, 9 and 10 get what you can think of as "outside" bars, they're corners with no inside, like below (smoothing from the POV of [X]).
+ - [X]X
+ - X
+ - 21, 38, 74, 137 get "inside" bars, still built with the same "outside" edges.
+ - [X]X
+ - X X
+ I shouldn't like, need to tell you this, ideally hypnagogic would just support it, but I haven't done that yet and I wanted to write this down for now.
+
+ Then add the 'SMOOTH_DIAGONAL_CORNERS' flag to the atom's smoothing_flags var (in addition to SMOOTH_BITMASK).
For turfs, what appears under the diagonal corners depends on the turf that was in the same position previously: if you make a wall on
a plating floor, you will see plating under the diagonal wall corner, if it was space, you will see space.
@@ -19,14 +31,15 @@
If you wish to map a diagonal wall corner with a fixed underlay, you must configure the turf's 'fixed_underlay' list var, like so:
fixed_underlay = list("icon"='icon_file.dmi', "icon_state"="iconstatename")
A non null 'fixed_underlay' list var will skip copying the previous turf appearance and always use the list. If the list is
- not set properly, the underlay will default to regular floor plating.
+ not set properly, the underlay will default to regular floor plating.
+ NOTE: a special case of this involves setting fixed_underlay to list("space" = TRUE), which will force it to draw space below the wall, no matter what
To see an example of a diagonal wall, see '/turf/closed/wall/mineral/titanium' and its subtypes.
-*/
-#define NO_ADJ_FOUND 0
-#define ADJ_FOUND 1
-#define NULLTURF_BORDER 2
+ BORDER SMOOTHING INSTRUCTIONS
+ Ok so we have code to smooth border objects together, unfortunately for you I don't remember how they're supposed to be rendered (AND WE HAVE NO CUTTER SUPPORT)
+ I'll fill this in when/if I add proper cutting for these, they're so painful to put together by hand I don't really want to even describe it to you
+*/
GLOBAL_LIST_INIT(adjacent_direction_lookup, generate_adjacent_directions())
@@ -104,66 +117,6 @@ xxx xxx xxx
(GLOB.adjacent_direction_lookup[border_obj.dir][direction + 1]) ? REVERSE_DIR(direction) : NONE \
)
-#define DEFAULT_UNDERLAY_ICON 'icons/turf/floors.dmi'
-#define DEFAULT_UNDERLAY_ICON_STATE "plating"
-
-
-///Scans all adjacent turfs to find targets to smooth with.
-/atom/proc/calculate_adjacencies()
- . = NONE
-
- if(!loc)
- return
-
- for(var/direction in GLOB.cardinals)
- switch(find_type_in_direction(direction))
- if(NULLTURF_BORDER)
- if((smoothing_flags & SMOOTH_BORDER))
- . |= direction //BYOND and smooth dirs are the same for cardinals
- if(ADJ_FOUND)
- . |= direction //BYOND and smooth dirs are the same for cardinals
-
- if(. & NORTH_JUNCTION)
- if(. & WEST_JUNCTION)
- switch(find_type_in_direction(NORTHWEST))
- if(NULLTURF_BORDER)
- if((smoothing_flags & SMOOTH_BORDER))
- . |= NORTHWEST_JUNCTION
- if(ADJ_FOUND)
- . |= NORTHWEST_JUNCTION
-
- if(. & EAST_JUNCTION)
- switch(find_type_in_direction(NORTHEAST))
- if(NULLTURF_BORDER)
- if((smoothing_flags & SMOOTH_BORDER))
- . |= NORTHEAST_JUNCTION
- if(ADJ_FOUND)
- . |= NORTHEAST_JUNCTION
-
- if(. & SOUTH_JUNCTION)
- if(. & WEST_JUNCTION)
- switch(find_type_in_direction(SOUTHWEST))
- if(NULLTURF_BORDER)
- if((smoothing_flags & SMOOTH_BORDER))
- . |= SOUTHWEST_JUNCTION
- if(ADJ_FOUND)
- . |= SOUTHWEST_JUNCTION
-
- if(. & EAST_JUNCTION)
- switch(find_type_in_direction(SOUTHEAST))
- if(NULLTURF_BORDER)
- if((smoothing_flags & SMOOTH_BORDER))
- . |= SOUTHEAST_JUNCTION
- if(ADJ_FOUND)
- . |= SOUTHEAST_JUNCTION
-
-
-/atom/movable/calculate_adjacencies()
- if(can_be_unanchored && !anchored)
- return NONE
- return ..()
-
-
///do not use, use QUEUE_SMOOTH(atom)
/atom/proc/smooth_icon()
if(QDELETED(src))
@@ -172,12 +125,7 @@ xxx xxx xxx
flags_1 |= HTML_USE_INITAL_ICON_1
if (!z)
CRASH("[type] called smooth_icon() without being on a z-level")
- if(smoothing_flags & SMOOTH_CORNERS)
- if(smoothing_flags & SMOOTH_DIAGONAL_CORNERS)
- corners_diagonal_smooth(calculate_adjacencies())
- else
- corners_cardinal_smooth(calculate_adjacencies())
- else if(smoothing_flags & (SMOOTH_BITMASK|SMOOTH_BITMASK_CARDINALS))
+ if(smoothing_flags & (SMOOTH_BITMASK|SMOOTH_BITMASK_CARDINALS))
bitmask_smooth()
else
CRASH("smooth_icon called for [src] with smoothing_flags == [smoothing_flags]")
@@ -189,157 +137,6 @@ xxx xxx xxx
. = ..()
update_appearance(~UPDATE_SMOOTHING)
-/atom/proc/corners_diagonal_smooth(adjacencies)
- switch(adjacencies)
- if(NORTH_JUNCTION|WEST_JUNCTION)
- replace_smooth_overlays("d-se","d-se-0")
- if(NORTH_JUNCTION|EAST_JUNCTION)
- replace_smooth_overlays("d-sw","d-sw-0")
- if(SOUTH_JUNCTION|WEST_JUNCTION)
- replace_smooth_overlays("d-ne","d-ne-0")
- if(SOUTH_JUNCTION|EAST_JUNCTION)
- replace_smooth_overlays("d-nw","d-nw-0")
-
- if(NORTH_JUNCTION|WEST_JUNCTION|NORTHWEST_JUNCTION)
- replace_smooth_overlays("d-se","d-se-1")
- if(NORTH_JUNCTION|EAST_JUNCTION|NORTHEAST_JUNCTION)
- replace_smooth_overlays("d-sw","d-sw-1")
- if(SOUTH_JUNCTION|WEST_JUNCTION|SOUTHWEST_JUNCTION)
- replace_smooth_overlays("d-ne","d-ne-1")
- if(SOUTH_JUNCTION|EAST_JUNCTION|SOUTHEAST_JUNCTION)
- replace_smooth_overlays("d-nw","d-nw-1")
-
- else
- corners_cardinal_smooth(adjacencies)
- return FALSE
-
- icon_state = ""
- return TRUE
-
-
-/atom/proc/corners_cardinal_smooth(adjacencies)
- var/mutable_appearance/temp_ma
-
- //NW CORNER
- var/nw = "1-i"
- if((adjacencies & NORTH_JUNCTION) && (adjacencies & WEST_JUNCTION))
- if(adjacencies & NORTHWEST_JUNCTION)
- nw = "1-f"
- else
- nw = "1-nw"
- else
- if(adjacencies & NORTH_JUNCTION)
- nw = "1-n"
- else if(adjacencies & WEST_JUNCTION)
- nw = "1-w"
- temp_ma = mutable_appearance(icon, nw)
- nw = temp_ma.appearance
-
- //NE CORNER
- var/ne = "2-i"
- if((adjacencies & NORTH_JUNCTION) && (adjacencies & EAST_JUNCTION))
- if(adjacencies & NORTHEAST_JUNCTION)
- ne = "2-f"
- else
- ne = "2-ne"
- else
- if(adjacencies & NORTH_JUNCTION)
- ne = "2-n"
- else if(adjacencies & EAST_JUNCTION)
- ne = "2-e"
- temp_ma = mutable_appearance(icon, ne)
- ne = temp_ma.appearance
-
- //SW CORNER
- var/sw = "3-i"
- if((adjacencies & SOUTH_JUNCTION) && (adjacencies & WEST_JUNCTION))
- if(adjacencies & SOUTHWEST_JUNCTION)
- sw = "3-f"
- else
- sw = "3-sw"
- else
- if(adjacencies & SOUTH_JUNCTION)
- sw = "3-s"
- else if(adjacencies & WEST_JUNCTION)
- sw = "3-w"
- temp_ma = mutable_appearance(icon, sw)
- sw = temp_ma.appearance
-
- //SE CORNER
- var/se = "4-i"
- if((adjacencies & SOUTH_JUNCTION) && (adjacencies & EAST_JUNCTION))
- if(adjacencies & SOUTHEAST_JUNCTION)
- se = "4-f"
- else
- se = "4-se"
- else
- if(adjacencies & SOUTH_JUNCTION)
- se = "4-s"
- else if(adjacencies & EAST_JUNCTION)
- se = "4-e"
- temp_ma = mutable_appearance(icon, se)
- se = temp_ma.appearance
-
- var/list/new_overlays
-
- if(top_left_corner != nw)
- cut_overlay(top_left_corner)
- top_left_corner = nw
- LAZYADD(new_overlays, nw)
-
- if(top_right_corner != ne)
- cut_overlay(top_right_corner)
- top_right_corner = ne
- LAZYADD(new_overlays, ne)
-
- if(bottom_right_corner != sw)
- cut_overlay(bottom_right_corner)
- bottom_right_corner = sw
- LAZYADD(new_overlays, sw)
-
- if(bottom_left_corner != se)
- cut_overlay(bottom_left_corner)
- bottom_left_corner = se
- LAZYADD(new_overlays, se)
-
- if(new_overlays)
- add_overlay(new_overlays)
-
-
-///Scans direction to find targets to smooth with.
-/atom/proc/find_type_in_direction(direction)
- var/turf/target_turf = get_step(src, direction)
- if(!target_turf)
- return NULLTURF_BORDER
-
- var/area/target_area = get_area(target_turf)
- var/area/source_area = get_area(src)
- if((source_area.area_limited_icon_smoothing && !istype(target_area, source_area.area_limited_icon_smoothing)) || (target_area.area_limited_icon_smoothing && !istype(source_area, target_area.area_limited_icon_smoothing)))
- return NO_ADJ_FOUND
-
- if(isnull(canSmoothWith)) //special case in which it will only smooth with itself
- if(isturf(src))
- return (type == target_turf.type) ? ADJ_FOUND : NO_ADJ_FOUND
- var/atom/matching_obj = locate(type) in target_turf
- return (matching_obj && matching_obj.type == type) ? ADJ_FOUND : NO_ADJ_FOUND
-
- if(!isnull(target_turf.smoothing_groups))
- for(var/target in canSmoothWith)
- if(!(canSmoothWith[target] & target_turf.smoothing_groups[target]))
- continue
- return ADJ_FOUND
-
- if(smoothing_flags & SMOOTH_OBJ)
- for(var/atom/movable/thing as anything in target_turf)
- if(!thing.anchored || isnull(thing.smoothing_groups))
- continue
- for(var/target in canSmoothWith)
- if(!(canSmoothWith[target] & thing.smoothing_groups[target]))
- continue
- return ADJ_FOUND
-
- return NO_ADJ_FOUND
-
/**
* Basic smoothing proc. The atom checks for adjacent directions to smooth with and changes the icon_state based on that.
*
@@ -351,6 +148,8 @@ xxx xxx xxx
// cache for sanic speed
var/canSmoothWith = src.canSmoothWith
+ var/area/home_base = get_area(src)
+ var/area_limited_icon_smoothing = home_base?.area_limited_icon_smoothing
var/smooth_border = (smoothing_flags & SMOOTH_BORDER)
var/smooth_obj = (smoothing_flags & SMOOTH_OBJ)
@@ -360,7 +159,7 @@ xxx xxx xxx
#define SEARCH_ADJ_IN_DIR(direction, direction_flag, ADJ_FOUND, WORLD_BORDER, BORDER_CHECK) \
do { \
var/turf/neighbor = get_step(src, direction); \
- if(neighbor && ##BORDER_CHECK(neighbor, direction)) { \
+ if(neighbor && ##BORDER_CHECK(neighbor, direction) && (!area_limited_icon_smoothing || istype(neighbor.loc, area_limited_icon_smoothing))) { \
var/neighbor_smoothing_groups = neighbor.smoothing_groups; \
if(neighbor_smoothing_groups) { \
for(var/target in canSmoothWith) { \
@@ -459,13 +258,16 @@ xxx xxx xxx
#undef BITMASK_FOUND
#undef SEARCH_ADJ_IN_DIR
+
+#define DEFAULT_UNDERLAY_ICON 'icons/turf/floors.dmi'
+#define DEFAULT_UNDERLAY_ICON_STATE "plating"
+
///Changes the icon state based on the new junction bitmask
/atom/proc/set_smoothed_icon_state(new_junction)
. = smoothing_junction
smoothing_junction = new_junction
icon_state = "[base_icon_state]-[smoothing_junction]"
-
/turf/closed/set_smoothed_icon_state(new_junction)
// Avoid calling ..() here to avoid setting icon_state twice, which is expensive given how hot this proc is
var/old_junction = smoothing_junction
@@ -513,6 +315,8 @@ xxx xxx xxx
return
return ..()
+#undef DEFAULT_UNDERLAY_ICON
+#undef DEFAULT_UNDERLAY_ICON_STATE
//Icon smoothing helpers
/proc/smooth_zlevel(zlevel, now = FALSE)
@@ -530,49 +334,17 @@ xxx xxx xxx
else
QUEUE_SMOOTH(movable_to_smooth)
+/atom/proc/set_can_smooth_with(canSmoothWith)
+ if(!canSmoothWith)
+ src.canSmoothWith = null
+ return
+ PARSE_CAN_SMOOTH_WITH(canSmoothWith, src.canSmoothWith, smoothing_flags)
-/atom/proc/clear_smooth_overlays()
- cut_overlay(top_left_corner)
- top_left_corner = null
- cut_overlay(top_right_corner)
- top_right_corner = null
- cut_overlay(bottom_right_corner)
- bottom_right_corner = null
- cut_overlay(bottom_left_corner)
- bottom_left_corner = null
-
-/// Internal: Takes icon states as text to replace smoothing corner overlays
-/atom/proc/replace_smooth_overlays(nw, ne, sw, se)
- clear_smooth_overlays()
- var/mutable_appearance/temp_ma
-
- temp_ma = mutable_appearance(icon, nw)
- nw = temp_ma.appearance
-
- temp_ma = mutable_appearance(icon, ne)
- ne = temp_ma.appearance
-
- temp_ma = mutable_appearance(icon, sw)
- sw = temp_ma.appearance
-
- temp_ma = mutable_appearance(icon, se)
- se = temp_ma.appearance
-
- var/list/new_overlays = list()
-
- top_left_corner = nw
- new_overlays += nw
-
- top_right_corner = ne
- new_overlays += ne
-
- bottom_left_corner = sw
- new_overlays += sw
-
- bottom_right_corner = se
- new_overlays += se
-
- add_overlay(new_overlays)
+/atom/proc/set_smoothing_groups(smoothing_groups)
+ if(!smoothing_groups)
+ src.smoothing_groups = null
+ return
+ PARSE_SMOOTHING_GROUPS(smoothing_groups, src.smoothing_groups)
/// Takes a direction, turns it into all the junctions that contain it
/proc/dir_to_all_junctions(dir)
@@ -650,15 +422,10 @@ xxx xxx xxx
/turf/closed/wall/smooth
name = "smooth wall"
icon = 'icons/turf/smooth_wall.dmi'
- icon_state = "smooth"
- smoothing_flags = SMOOTH_CORNERS|SMOOTH_DIAGONAL_CORNERS|SMOOTH_BORDER
- smoothing_groups = null
- canSmoothWith = null
+ icon_state = "smooth_wall-0"
+ base_icon_state = "smooth_wall"
+ smoothing_flags = SMOOTH_BITMASK|SMOOTH_DIAGONAL_CORNERS|SMOOTH_BORDER
+ smoothing_groups = SMOOTH_GROUP_TEST_WALL
+ canSmoothWith = SMOOTH_GROUP_TEST_WALL
-#undef NO_ADJ_FOUND
-#undef ADJ_FOUND
-#undef NULLTURF_BORDER
-
-#undef DEFAULT_UNDERLAY_ICON
-#undef DEFAULT_UNDERLAY_ICON_STATE
#undef CAN_DIAGONAL_SMOOTH
diff --git a/code/__HELPERS/icons.dm b/code/__HELPERS/icons.dm
index 2c0e5f93d21..2d19b506d8d 100644
--- a/code/__HELPERS/icons.dm
+++ b/code/__HELPERS/icons.dm
@@ -545,10 +545,10 @@ world
continue
// Find the new dimensions of the flat icon to fit the added overlay
- addX1 = min(flatX1, layer_image.pixel_x + 1)
- addX2 = max(flatX2, layer_image.pixel_x + add.Width())
- addY1 = min(flatY1, layer_image.pixel_y + 1)
- addY2 = max(flatY2, layer_image.pixel_y + add.Height())
+ addX1 = min(flatX1, layer_image.pixel_x + layer_image.pixel_w + 1)
+ addX2 = max(flatX2, layer_image.pixel_x + layer_image.pixel_w + add.Width())
+ addY1 = min(flatY1, layer_image.pixel_y + layer_image.pixel_z + 1)
+ addY2 = max(flatY2, layer_image.pixel_y + layer_image.pixel_z + add.Height())
if (
addX1 != flatX1 \
@@ -570,7 +570,7 @@ world
flatY2 = addY2
// Blend the overlay into the flattened icon
- flat.Blend(add, blendMode2iconMode(curblend), layer_image.pixel_x + 2 - flatX1, layer_image.pixel_y + 2 - flatY1)
+ flat.Blend(add, blendMode2iconMode(curblend), layer_image.pixel_x + layer_image.pixel_w + 2 - flatX1, layer_image.pixel_y + layer_image.pixel_z + 2 - flatY1)
if(appearance.alpha < 255)
@@ -1130,7 +1130,7 @@ GLOBAL_LIST_EMPTY(transformation_animation_objects)
filters -= filters[filter_index]
/**
- * Center's an image.
+ * Center's an image. Only run this on float overlays and not physical
* Requires:
* The Image
* The x dimension of the icon file used in the image
@@ -1160,8 +1160,8 @@ GLOBAL_LIST_EMPTY(transformation_animation_objects)
if(y_dimension < ICON_SIZE_Y)
y_offset *= -1
- image_to_center.pixel_x = x_offset
- image_to_center.pixel_y = y_offset
+ image_to_center.pixel_w = x_offset
+ image_to_center.pixel_z = y_offset
return image_to_center
@@ -1195,8 +1195,13 @@ GLOBAL_LIST_EMPTY(transformation_animation_objects)
if(isnull(icon_states_cache[file]))
icon_states_cache[file] = list()
- for(var/istate in icon_states(file))
- icon_states_cache[file][istate] = TRUE
+ var/file_string = "[file]"
+ if(isfile(file) && length(file_string)) // ensure that it's actually a file, and not a runtime icon
+ for(var/istate in json_decode(rustg_dmi_icon_states(file_string)))
+ icon_states_cache[file][istate] = TRUE
+ else // Otherwise, we have to use the slower BYOND proc
+ for(var/istate in icon_states(file))
+ icon_states_cache[file][istate] = TRUE
return !isnull(icon_states_cache[file][state])
@@ -1270,9 +1275,9 @@ GLOBAL_LIST_EMPTY(transformation_animation_objects)
var/height = icon_dimensions["height"]
if(width > ICON_SIZE_X)
- alert_overlay.pixel_x = -(ICON_SIZE_X / 2) * ((width - ICON_SIZE_X) / ICON_SIZE_X)
+ alert_overlay.pixel_w = -(ICON_SIZE_X / 2) * ((width - ICON_SIZE_X) / ICON_SIZE_X)
if(height > ICON_SIZE_Y)
- alert_overlay.pixel_y = -(ICON_SIZE_Y / 2) * ((height - ICON_SIZE_Y) / ICON_SIZE_Y)
+ alert_overlay.pixel_z = -(ICON_SIZE_Y / 2) * ((height - ICON_SIZE_Y) / ICON_SIZE_Y)
if(width > ICON_SIZE_X || height > ICON_SIZE_Y)
if(width >= height)
scale = ICON_SIZE_X / width
diff --git a/code/__HELPERS/lazy_templates.dm b/code/__HELPERS/lazy_templates.dm
index 10b9b6dac16..87f51d9d129 100644
--- a/code/__HELPERS/lazy_templates.dm
+++ b/code/__HELPERS/lazy_templates.dm
@@ -9,6 +9,8 @@ GLOBAL_LIST_INIT(lazy_templates, generate_lazy_template_map())
. = list()
for(var/datum/lazy_template/template as anything in subtypesof(/datum/lazy_template))
var/key = initial(template.key)
+ if(!key) // some subtypes like basketball and deathmatch have a base datum with no key
+ continue
if(key in .)
stack_trace("Found multiple lazy templates with the same key! '[key]'")
.[key] = new template
diff --git a/code/__HELPERS/levels.dm b/code/__HELPERS/levels.dm
index 7a3e53c6787..14d65a929dc 100644
--- a/code/__HELPERS/levels.dm
+++ b/code/__HELPERS/levels.dm
@@ -86,3 +86,28 @@
var/dy = end.yi - start.yi
return round(delta_to_angle(dy, dx))
return null
+
+/**
+ * Gets all connected z-levels within a given manhattan distance of center.
+ *
+ * Arguments:
+ * * center: The starting Z level. Can either be a numeric z-level, or a [/datun/space_level].
+ * * dist: The maximum distance to search.
+ */
+/proc/get_linked_z_levels_in_range(datum/space_level/center, dist)
+ if(isnum(center))
+ center = SSmapping.get_level(center)
+ var/list/to_check = list(center)
+ var/list/checked = list()
+ var/total_search_distance = 0
+ while(to_check.len && total_search_distance <= dist)
+ var/list/current_pass = to_check.Copy()
+ to_check.Cut()
+ for(var/datum/space_level/level as anything in current_pass)
+ checked[level] = TRUE
+ for(var/direction in level.neigbours)
+ var/datum/space_level/neighbor = level.neigbours[direction]
+ if(!checked[neighbor])
+ to_check |= neighbor
+ total_search_distance++
+ return checked
diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm
index d7ce42164db..3f34af8d20b 100644
--- a/code/__HELPERS/mobs.dm
+++ b/code/__HELPERS/mobs.dm
@@ -239,8 +239,12 @@ GLOBAL_LIST_INIT(skin_tone_names, list(
* @param {number} max_interact_count - The maximum amount of interactions allowed.
*
* @param {boolean} hidden - By default, any action 1 second or longer shows a cog over the user while it is in progress. If hidden is set to TRUE, the cog will not be shown.
+ *
+ * @param {icon} icon - The icon file of the cog. Default: 'icons/effects/progressbar.dmi'
+ *
+ * @param {iconstate} iconstate - The icon state of the cog. Default: "Cog"
*/
-/proc/do_after(mob/user, delay, atom/target, timed_action_flags = NONE, progress = TRUE, datum/callback/extra_checks, interaction_key, max_interact_count = 1, hidden = FALSE)
+/proc/do_after(mob/user, delay, atom/target, timed_action_flags = NONE, progress = TRUE, datum/callback/extra_checks, interaction_key, max_interact_count = 1, hidden = FALSE, icon = 'icons/effects/progressbar.dmi', iconstate = "cog")
if(!user)
return FALSE
if(!isnum(delay))
@@ -274,7 +278,7 @@ GLOBAL_LIST_INIT(skin_tone_names, list(
progbar = new(user, delay, target || user)
if(!hidden && delay >= 1 SECONDS)
- cog = new(user)
+ cog = new(user, icon, iconstate)
SEND_SIGNAL(user, COMSIG_DO_AFTER_BEGAN)
diff --git a/code/__HELPERS/paths/jps.dm b/code/__HELPERS/paths/jps.dm
index daeddc13c60..cbff1d3328e 100644
--- a/code/__HELPERS/paths/jps.dm
+++ b/code/__HELPERS/paths/jps.dm
@@ -6,7 +6,11 @@
/// A helper macro for JPS, for telling when a node has forced neighbors that need expanding
/// Only usable in the context of the jps datum because of the datum vars it relies on
+/// Checks if we are deviating from our "running" directions
#define STEP_NOT_HERE_BUT_THERE(cur_turf, dirA, dirB) ((!CAN_STEP(cur_turf, get_step(cur_turf, dirA), simulated_only, pass_info, avoid) && CAN_STEP(cur_turf, get_step(cur_turf, dirB), simulated_only, pass_info, avoid)))
+/// Checks if a border object stops our parent from reaching a turf we CAN reach
+#define TURF_CANT_WE_CAN(parent_turf, dir_parent, cur_turf, dur_cur) ((!CAN_STEP(parent_turf, get_step(parent_turf, dir_parent), simulated_only, pass_info, avoid) && CAN_STEP(cur_turf, get_step(cur_turf, dur_cur), simulated_only, pass_info, avoid)))
+
/// The JPS Node datum represents a turf that we find interesting enough to add to the open list and possibly search for new tiles from
/datum/jps_node
@@ -212,16 +216,20 @@
switch(heading)
if(NORTH)
- if(STEP_NOT_HERE_BUT_THERE(current_turf, WEST, NORTHWEST) || STEP_NOT_HERE_BUT_THERE(current_turf, EAST, NORTHEAST))
+ if(STEP_NOT_HERE_BUT_THERE(current_turf, WEST, NORTHWEST) || STEP_NOT_HERE_BUT_THERE(current_turf, EAST, NORTHEAST) \
+ || TURF_CANT_WE_CAN(get_step(current_turf, EAST), NORTH, current_turf, NORTHEAST) || TURF_CANT_WE_CAN(get_step(current_turf, WEST), NORTH, current_turf, NORTHWEST))
interesting = TRUE
if(SOUTH)
- if(STEP_NOT_HERE_BUT_THERE(current_turf, WEST, SOUTHWEST) || STEP_NOT_HERE_BUT_THERE(current_turf, EAST, SOUTHEAST))
+ if(STEP_NOT_HERE_BUT_THERE(current_turf, WEST, SOUTHWEST) || STEP_NOT_HERE_BUT_THERE(current_turf, EAST, SOUTHEAST) \
+ || TURF_CANT_WE_CAN(get_step(current_turf, EAST), SOUTH, current_turf, SOUTHEAST) || TURF_CANT_WE_CAN(get_step(current_turf, WEST), SOUTH, current_turf, SOUTHWEST))
interesting = TRUE
if(EAST)
- if(STEP_NOT_HERE_BUT_THERE(current_turf, NORTH, NORTHEAST) || STEP_NOT_HERE_BUT_THERE(current_turf, SOUTH, SOUTHEAST))
+ if(STEP_NOT_HERE_BUT_THERE(current_turf, NORTH, NORTHEAST) || STEP_NOT_HERE_BUT_THERE(current_turf, SOUTH, SOUTHEAST) \
+ || TURF_CANT_WE_CAN(get_step(current_turf, SOUTH), EAST, current_turf, SOUTHEAST) || TURF_CANT_WE_CAN(get_step(current_turf, NORTH), EAST, current_turf, NORTHEAST))
interesting = TRUE
if(WEST)
- if(STEP_NOT_HERE_BUT_THERE(current_turf, NORTH, NORTHWEST) || STEP_NOT_HERE_BUT_THERE(current_turf, SOUTH, SOUTHWEST))
+ if(STEP_NOT_HERE_BUT_THERE(current_turf, NORTH, NORTHWEST) || STEP_NOT_HERE_BUT_THERE(current_turf, SOUTH, SOUTHWEST) \
+ || TURF_CANT_WE_CAN(get_step(current_turf, SOUTH), WEST, current_turf, SOUTHWEST) || TURF_CANT_WE_CAN(get_step(current_turf, NORTH), WEST, current_turf, NORTHWEST))
interesting = TRUE
if(interesting)
@@ -274,22 +282,26 @@
switch(heading)
if(NORTHWEST)
- if(STEP_NOT_HERE_BUT_THERE(current_turf, EAST, NORTHEAST) || STEP_NOT_HERE_BUT_THERE(current_turf, SOUTH, SOUTHWEST))
+ if(STEP_NOT_HERE_BUT_THERE(current_turf, EAST, NORTHEAST) || STEP_NOT_HERE_BUT_THERE(current_turf, SOUTH, SOUTHWEST) \
+ || TURF_CANT_WE_CAN(lag_turf, NORTH, current_turf, EAST) || TURF_CANT_WE_CAN(lag_turf, WEST, current_turf, SOUTH))
interesting = TRUE
else
possible_child_node = (lateral_scan_spec(current_turf, WEST) || lateral_scan_spec(current_turf, NORTH))
if(NORTHEAST)
- if(STEP_NOT_HERE_BUT_THERE(current_turf, WEST, NORTHWEST) || STEP_NOT_HERE_BUT_THERE(current_turf, SOUTH, SOUTHEAST))
+ if(STEP_NOT_HERE_BUT_THERE(current_turf, WEST, NORTHWEST) || STEP_NOT_HERE_BUT_THERE(current_turf, SOUTH, SOUTHEAST) \
+ || TURF_CANT_WE_CAN(lag_turf, NORTH, current_turf, WEST) || TURF_CANT_WE_CAN(lag_turf, EAST, current_turf, SOUTH))
interesting = TRUE
else
possible_child_node = (lateral_scan_spec(current_turf, EAST) || lateral_scan_spec(current_turf, NORTH))
if(SOUTHWEST)
- if(STEP_NOT_HERE_BUT_THERE(current_turf, EAST, SOUTHEAST) || STEP_NOT_HERE_BUT_THERE(current_turf, NORTH, NORTHWEST))
+ if(STEP_NOT_HERE_BUT_THERE(current_turf, EAST, SOUTHEAST) || STEP_NOT_HERE_BUT_THERE(current_turf, NORTH, NORTHWEST) \
+ || TURF_CANT_WE_CAN(lag_turf, SOUTH, current_turf, EAST) || TURF_CANT_WE_CAN(lag_turf, WEST, current_turf, NORTH))
interesting = TRUE
else
possible_child_node = (lateral_scan_spec(current_turf, SOUTH) || lateral_scan_spec(current_turf, WEST))
if(SOUTHEAST)
- if(STEP_NOT_HERE_BUT_THERE(current_turf, WEST, SOUTHWEST) || STEP_NOT_HERE_BUT_THERE(current_turf, NORTH, NORTHEAST))
+ if(STEP_NOT_HERE_BUT_THERE(current_turf, WEST, SOUTHWEST) || STEP_NOT_HERE_BUT_THERE(current_turf, NORTH, NORTHEAST) \
+ || TURF_CANT_WE_CAN(lag_turf, SOUTH, current_turf, WEST) || TURF_CANT_WE_CAN(lag_turf, EAST, current_turf, NORTH))
interesting = TRUE
else
possible_child_node = (lateral_scan_spec(current_turf, SOUTH) || lateral_scan_spec(current_turf, EAST))
diff --git a/code/__HELPERS/paths/sssp.dm b/code/__HELPERS/paths/sssp.dm
index 092da587793..359a72c0d1f 100644
--- a/code/__HELPERS/paths/sssp.dm
+++ b/code/__HELPERS/paths/sssp.dm
@@ -77,7 +77,7 @@
var/turf/next_turf = other_end
// Cache for sonic speed
var/next_closest = src.next_closest
- while(next_turf != FLOW_PATH_END || next_turf == null)
+ while(next_turf != FLOW_PATH_END && next_turf != null)
path += next_turf
next_turf = next_closest[next_turf] // We take the first entry cause that's the turf
diff --git a/code/__HELPERS/piping_colors_lists.dm b/code/__HELPERS/piping_colors_lists.dm
index 8b92e2d530a..1c58b35a908 100644
--- a/code/__HELPERS/piping_colors_lists.dm
+++ b/code/__HELPERS/piping_colors_lists.dm
@@ -1,6 +1,6 @@
///All colors available to pipes and atmos components
GLOBAL_LIST_INIT(pipe_paint_colors, list(
- "omni" = COLOR_VERY_LIGHT_GRAY,
+ "omni" = ATMOS_COLOR_OMNI,
"green" = COLOR_VIBRANT_LIME,
"blue" = COLOR_BLUE,
"red" = COLOR_RED,
@@ -22,7 +22,7 @@ GLOBAL_LIST_INIT(pipe_colors_ordered, sort_list(list(
COLOR_CYAN = -3,
COLOR_DARK = -2,
COLOR_VIBRANT_LIME = -1,
- COLOR_VERY_LIGHT_GRAY = 0,
+ ATMOS_COLOR_OMNI = 0,
COLOR_ENGINEERING_ORANGE = 1,
COLOR_PURPLE = 2,
COLOR_RED = 3,
@@ -32,7 +32,7 @@ GLOBAL_LIST_INIT(pipe_colors_ordered, sort_list(list(
///Names shown in the examine for every colored atmos component
GLOBAL_LIST_INIT(pipe_color_name, sort_list(list(
- COLOR_VERY_LIGHT_GRAY = "omni",
+ ATMOS_COLOR_OMNI = "omni",
COLOR_BLUE = "blue",
COLOR_RED = "red",
COLOR_VIBRANT_LIME = "green",
diff --git a/code/__HELPERS/roundend.dm b/code/__HELPERS/roundend.dm
index 1a4c6ab100c..a6face66ed7 100644
--- a/code/__HELPERS/roundend.dm
+++ b/code/__HELPERS/roundend.dm
@@ -224,7 +224,8 @@ GLOBAL_LIST_INIT(achievements_unlocked, list())
for(var/client/C in GLOB.clients)
if(!C?.credits)
C?.RollCredits()
- C?.playtitlemusic(volume_multiplier = 0.5)
+ if(COOLDOWN_FINISHED(GLOB, web_sound_cooldown))
+ C?.playtitlemusic(volume_multiplier = 0.5)
if(speed_round && was_forced != ADMIN_FORCE_END_ROUND)
C?.give_award(/datum/award/achievement/misc/speed_round, C?.mob)
HandleRandomHardcoreScore(C)
diff --git a/code/__HELPERS/spatial_info.dm b/code/__HELPERS/spatial_info.dm
index 3125f380902..4cc71bb091b 100644
--- a/code/__HELPERS/spatial_info.dm
+++ b/code/__HELPERS/spatial_info.dm
@@ -26,6 +26,7 @@
alerts = null
screens = null
client_colours = null
+ color_filter_store = null
hud_possible = null
/// references to everything "on" the turf we are assigned to, that we care about. populated in assign() and cleared in unassign().
/// movables iside of other movables count as being "on" if they have get_turf(them) == our turf. intentionally not a lazylist
@@ -78,8 +79,9 @@
*
* * view_radius - what radius search circle we are using, worse performance as this increases
* * source - object at the center of our search area. everything in get_turf(source) is guaranteed to be part of the search area
+ * * contents_type - the type of contents we want to be looking for. defaults to hearing sensitive
*/
-/proc/get_hearers_in_view(view_radius, atom/source)
+/proc/get_hearers_in_view(view_radius, atom/source, contents_type=RECURSIVE_CONTENTS_HEARING_SENSITIVE)
var/turf/center_turf = get_turf(source)
if(!center_turf)
return
@@ -88,12 +90,12 @@
if(view_radius <= 0)//special case for if only source cares
for(var/atom/movable/target as anything in center_turf)
- var/list/recursive_contents = target.important_recursive_contents?[RECURSIVE_CONTENTS_HEARING_SENSITIVE]
+ var/list/recursive_contents = target.important_recursive_contents?[contents_type]
if(recursive_contents)
. += recursive_contents
return .
- var/list/hearables_from_grid = SSspatial_grid.orthogonal_range_search(source, RECURSIVE_CONTENTS_HEARING_SENSITIVE, view_radius)
+ var/list/hearables_from_grid = SSspatial_grid.orthogonal_range_search(source, contents_type, view_radius)
if(!length(hearables_from_grid))//we know that something is returned by the grid, but we dont know if we need to actually filter down the output
return .
@@ -126,8 +128,9 @@
*
* * radius - what radius search circle we are using, worse performance as this increases
* * source - object at the center of our search area. everything in get_turf(source) is guaranteed to be part of the search area
+ * * contents_type - the type of contents we want to be looking for. defaults to hearing sensitive
*/
-/proc/get_hearers_in_range(range, atom/source)
+/proc/get_hearers_in_range(range, atom/source, contents_type=RECURSIVE_CONTENTS_HEARING_SENSITIVE)
var/turf/center_turf = get_turf(source)
if(!center_turf)
return
@@ -136,12 +139,12 @@
if(range <= 0)//special case for if only source cares
for(var/atom/movable/target as anything in center_turf)
- var/list/recursive_contents = target.important_recursive_contents?[RECURSIVE_CONTENTS_HEARING_SENSITIVE]
+ var/list/recursive_contents = target.important_recursive_contents?[contents_type]
if(recursive_contents)
. += recursive_contents
return .
- var/list/hearables_from_grid = SSspatial_grid.orthogonal_range_search(source, RECURSIVE_CONTENTS_HEARING_SENSITIVE, range)
+ var/list/hearables_from_grid = SSspatial_grid.orthogonal_range_search(source, contents_type, range)
if(!length(hearables_from_grid))//we know that something is returned by the grid, but we dont know if we need to actually filter down the output
return .
@@ -161,7 +164,7 @@
* * view_radius - what radius search circle we are using, worse performance as this increases but not as much as it used to
* * source - object at the center of our search area. everything in get_turf(source) is guaranteed to be part of the search area
*/
-/proc/get_hearers_in_LOS(view_radius, atom/source)
+/proc/get_hearers_in_LOS(view_radius, atom/source, contents_type=RECURSIVE_CONTENTS_HEARING_SENSITIVE)
var/turf/center_turf = get_turf(source)
if(!center_turf)
return
@@ -169,12 +172,12 @@
if(view_radius <= 0)//special case for if only source cares
. = list()
for(var/atom/movable/target as anything in center_turf)
- var/list/hearing_contents = target.important_recursive_contents?[RECURSIVE_CONTENTS_HEARING_SENSITIVE]
+ var/list/hearing_contents = target.important_recursive_contents?[contents_type]
if(hearing_contents)
. += hearing_contents
return
- . = SSspatial_grid.orthogonal_range_search(source, SPATIAL_GRID_CONTENTS_TYPE_HEARING, view_radius)
+ . = SSspatial_grid.orthogonal_range_search(source, contents_type, view_radius)
for(var/atom/movable/target as anything in .)
var/turf/target_turf = get_turf(target)
@@ -209,7 +212,7 @@
. = list()
// Returns a list of mobs who can hear any of the radios given in @radios
for(var/obj/item/radio/radio as anything in radios)
- . |= get_hearers_in_LOS(radio.canhear_range, radio, FALSE)
+ . |= get_hearers_in_LOS(radio.canhear_range, radio)
//Used when converting pixels to tiles to make them accurate
#define OFFSET_X (0.5 / ICON_SIZE_X)
diff --git a/code/__HELPERS/type_processing.dm b/code/__HELPERS/type_processing.dm
index e005088c281..40f21f4b189 100644
--- a/code/__HELPERS/type_processing.dm
+++ b/code/__HELPERS/type_processing.dm
@@ -46,8 +46,8 @@
/obj/item/circuitboard/machine = "MACHINE_BOARD",
/obj/item/circuitboard/computer = "COMPUTER_BOARD",
/obj/item/reagent_containers = "REAGENT_CONTAINERS",
- /obj/item/reagent_containers/pill = "PILL",
- /obj/item/reagent_containers/pill/patch = "MEDPATCH",
+ /obj/item/reagent_containers/applicator/pill = "PILL",
+ /obj/item/reagent_containers/applicator/patch = "MEDPATCH",
/obj/item/reagent_containers/hypospray/medipen = "MEDIPEN",
/obj/item/reagent_containers/cup/glass = "DRINK",
/obj/item/food = "FOOD",
diff --git a/code/_experiments.dm b/code/_experiments.dm
index c7fdad2f788..6d5e03b3c7b 100644
--- a/code/_experiments.dm
+++ b/code/_experiments.dm
@@ -18,5 +18,5 @@
#endif
#if DM_VERSION >= 517
- #error "Remove all 516 experiments"
+ #error "Remove all 517 experiments"
#endif
diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm
index 31fa3219444..b3d5d320dbb 100644
--- a/code/_globalvars/bitfields.dm
+++ b/code/_globalvars/bitfields.dm
@@ -16,6 +16,17 @@ GLOBAL_LIST_INIT(bitfields, generate_bitfields())
bitfields[bitfield.variable] = bitfield.flags
return bitfields
+/// Returns an associative list of bitflag name -> number for all valid bitflags in the passed in field
+/proc/get_valid_bitflags(var_name)
+ return GLOB.bitfields[var_name] || list()
+
+/proc/get_random_bitflag(var_name)
+ var/list/flags = get_valid_bitflags(var_name)
+ if(!length(flags))
+ return
+ var/name = pick(flags)
+ return flags[name]
+
DEFINE_BITFIELD(admin_flags, list(
"ADMIN" = R_ADMIN,
"AUTOLOGIN" = R_AUTOADMIN,
diff --git a/code/_globalvars/lists/maintenance_loot.dm b/code/_globalvars/lists/maintenance_loot.dm
index 3b23019d471..ec0b251314d 100644
--- a/code/_globalvars/lists/maintenance_loot.dm
+++ b/code/_globalvars/lists/maintenance_loot.dm
@@ -58,7 +58,7 @@ GLOBAL_LIST_INIT(trash_loot, list(//junk: useless, very easy to get, or ghetto c
/obj/item/rack_parts = 1,
/obj/item/shard = 1,
- /obj/item/reagent_containers/pill/maintenance/achievement = 1,
+ /obj/item/reagent_containers/applicator/pill/maintenance/achievement = 1,
/obj/item/toy/eightball = 1,
) = 8,
@@ -257,6 +257,10 @@ GLOBAL_LIST_INIT(uncommon_loot, list(//uncommon: useful items
/obj/item/food/monkeycube = 1,
) = 8,
+ list(//Donk Co. 'Donk Spike' flechette shells, these things show up everywhere in donkpocket boxes
+ /obj/item/storage/box/donkpockets/donkpocketshell = 1,
+ ) = 8,
+
list(//computer disks
/obj/item/computer_disk/maintenance/scanner = 1,
///obj/item/computer_disk/maintenance/camera = 1, //SKYRAT EDIT REMOVAL - Available To Crew Now
diff --git a/code/_globalvars/lists/reagents.dm b/code/_globalvars/lists/reagents.dm
index 0c8e8dfa601..83cb0b353a7 100644
--- a/code/_globalvars/lists/reagents.dm
+++ b/code/_globalvars/lists/reagents.dm
@@ -30,10 +30,10 @@ GLOBAL_LIST_INIT(reagent_containers, list(
/obj/item/reagent_containers/cup/tube
),
CAT_PILLS = typecacheof(list(
- /obj/item/reagent_containers/pill/style
+ /obj/item/reagent_containers/applicator/pill/style
)),
CAT_PATCHES = typecacheof(list(
- /obj/item/reagent_containers/pill/patch/style
+ /obj/item/reagent_containers/applicator/patch/style
)),
// SKYRAT EDIT ADDITION START
CAT_HYPOS = typecacheof(list(
diff --git a/code/_globalvars/phobias.dm b/code/_globalvars/phobias.dm
index 5871cf56198..da5fc67c6bb 100644
--- a/code/_globalvars/phobias.dm
+++ b/code/_globalvars/phobias.dm
@@ -351,7 +351,7 @@ GLOBAL_LIST_INIT(phobia_objs, list(
/obj/item/autopsy_scanner,
/obj/item/hemostat,
/obj/item/reagent_containers/hypospray,
- /obj/item/reagent_containers/pill/,
+ /obj/item/reagent_containers/applicator,
/obj/item/reagent_containers/syringe,
/obj/item/retractor,
/obj/item/scalpel,
diff --git a/code/_globalvars/traits/_traits.dm b/code/_globalvars/traits/_traits.dm
index 8375d8b1bcd..67aff5ca474 100644
--- a/code/_globalvars/traits/_traits.dm
+++ b/code/_globalvars/traits/_traits.dm
@@ -95,6 +95,9 @@ GLOBAL_LIST_INIT(traits_by_type, list(
/area = list(
"TRAIT_HAS_SHUTTLE_CONSTRUCTION_TURF" = TRAIT_HAS_SHUTTLE_CONSTRUCTION_TURF,
),
+ /area = list(
+ "TRAIT_HAS_SHUTTLE_CONSTRUCTION_TURF" = TRAIT_HAS_SHUTTLE_CONSTRUCTION_TURF,
+ ),
/datum/controller/subsystem/economy = list(
"TRAIT_MARKET_CRASHING" = TRAIT_MARKET_CRASHING,
),
@@ -198,6 +201,7 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_CANNOT_CRYSTALIZE" = TRAIT_CANNOT_CRYSTALIZE,
"TRAIT_CANNOT_OPEN_PRESENTS" = TRAIT_CANNOT_OPEN_PRESENTS,
"TRAIT_CANT_RIDE" = TRAIT_CANT_RIDE,
+ "TRAIT_CAN_GET_AI_TRACKING_MESSAGE" = TRAIT_CAN_GET_AI_TRACKING_MESSAGE,
"TRAIT_CAN_HOLD_ITEMS" = TRAIT_CAN_HOLD_ITEMS,
"TRAIT_CAN_MOUNT_CYBORGS" = TRAIT_CAN_MOUNT_CYBORGS,
"TRAIT_CAN_MOUNT_HUMANS" = TRAIT_CAN_MOUNT_HUMANS,
@@ -225,7 +229,6 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_DEAF" = TRAIT_DEAF,
"TRAIT_DEATHCOMA" = TRAIT_DEATHCOMA,
"TRAIT_DEFIB_BLACKLISTED" = TRAIT_DEFIB_BLACKLISTED,
- "TRAIT_DEPRESSION" = TRAIT_DEPRESSION,
"TRAIT_DETECTIVES_TASTE" = TRAIT_DETECTIVES_TASTE,
"TRAIT_DETECT_STORM" = TRAIT_DETECT_STORM,
"TRAIT_DIAGNOSTIC_HUD" = TRAIT_DIAGNOSTIC_HUD,
@@ -263,6 +266,7 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_EXPANDED_FOV" = TRAIT_EXPANDED_FOV,
"TRAIT_EXPERT_FISHER" = TRAIT_EXPERT_FISHER,
"TRAIT_EXTROVERT" = TRAIT_EXTROVERT,
+ "TRAIT_FACE_COVERED" = TRAIT_FACE_COVERED,
"TRAIT_FAKEDEATH" = TRAIT_FAKEDEATH,
"TRAIT_FASTMED" = TRAIT_FASTMED,
"TRAIT_FAST_CUFFING" = TRAIT_FAST_CUFFING,
@@ -337,7 +341,6 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_IN_CALL" = TRAIT_IN_CALL,
"TRAIT_IS_WET" = TRAIT_IS_WET,
"TRAIT_IWASBATONED" = TRAIT_IWASBATONED,
- "TRAIT_JOLLY" = TRAIT_JOLLY,
"TRAIT_KISS_OF_DEATH" = TRAIT_KISS_OF_DEATH,
"TRAIT_SYNDIE_KISS" = TRAIT_SYNDIE_KISS,
"TRAIT_KNOCKEDOUT" = TRAIT_KNOCKEDOUT,
@@ -367,6 +370,8 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_FAKE_SOULLESS" = TRAIT_FAKE_SOULLESS,
"TRAIT_MOB_BREEDER" = TRAIT_MOB_BREEDER,
"TRAIT_MOB_CAN_DIG" = TRAIT_MOB_CAN_DIG,
+ "TRAIT_MOB_DIFFICULT_TO_MOUNT" = TRAIT_MOB_DIFFICULT_TO_MOUNT,
+ "TRAIT_MOB_EASY_TO_MOUNT" = TRAIT_MOB_EASY_TO_MOUNT,
"TRAIT_MOB_EATER" = TRAIT_MOB_EATER,
"TRAIT_MOB_ELEVATED" = TRAIT_MOB_ELEVATED,
"TRAIT_MOB_HATCHED" = TRAIT_MOB_HATCHED,
@@ -461,7 +466,6 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_PREVENT_IMPLANT_AUTO_EXPLOSION" = TRAIT_PREVENT_IMPLANT_AUTO_EXPLOSION,
"TRAIT_PRIMITIVE" = TRAIT_PRIMITIVE, //unable to use mechs. Given to Ash Walkers
"TRAIT_PROFOUND_FISHER" = TRAIT_PROFOUND_FISHER,
- "TRAIT_PROSOPAGNOSIA" = TRAIT_PROSOPAGNOSIA,
"TRAIT_PULL_BLOCKED" = TRAIT_PULL_BLOCKED,
"TRAIT_PUSHIMMUNE" = TRAIT_PUSHIMMUNE,
"TRAIT_QUICKER_CARRY" = TRAIT_QUICKER_CARRY,
@@ -637,6 +641,7 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_NEEDS_TWO_HANDS" = TRAIT_NEEDS_TWO_HANDS,
"TRAIT_NO_BARCODES" = TRAIT_NO_BARCODES,
"TRAIT_NO_STORAGE_INSERT" = TRAIT_NO_STORAGE_INSERT,
+ "TRAIT_NO_SPEED_POTION" = TRAIT_NO_SPEED_POTION,
"TRAIT_NO_TELEPORT" = TRAIT_NO_TELEPORT,
"TRAIT_NO_SIDE_KICK" = TRAIT_NO_SIDE_KICK,
"TRAIT_NODROP" = TRAIT_NODROP,
diff --git a/code/_globalvars/traits/admin_tooling.dm b/code/_globalvars/traits/admin_tooling.dm
index 02c0bb4a1fc..739035e8fb4 100644
--- a/code/_globalvars/traits/admin_tooling.dm
+++ b/code/_globalvars/traits/admin_tooling.dm
@@ -79,7 +79,6 @@ GLOBAL_LIST_INIT(admin_visible_traits, list(
"TRAIT_DEAF" = TRAIT_DEAF,
"TRAIT_DEATHCOMA" = TRAIT_DEATHCOMA,
"TRAIT_DEFIB_BLACKLISTED" = TRAIT_DEFIB_BLACKLISTED,
- "TRAIT_DEPRESSION" = TRAIT_DEPRESSION,
"TRAIT_DETECT_STORM" = TRAIT_DETECT_STORM,
"TRAIT_DIAGNOSTIC_HUD" = TRAIT_DIAGNOSTIC_HUD,
"TRAIT_BOT_PATH_HUD" = TRAIT_BOT_PATH_HUD,
@@ -101,6 +100,7 @@ GLOBAL_LIST_INIT(admin_visible_traits, list(
"TRAIT_EXPERT_FISHER" = TRAIT_EXPERT_FISHER,
"TRAIT_EXTROVERT" = TRAIT_EXTROVERT,
"TRAIT_EVIL" = TRAIT_EVIL,
+ "TRAIT_FACE_COVERED" = TRAIT_FACE_COVERED,
"TRAIT_FAKEDEATH" = TRAIT_FAKEDEATH,
"TRAIT_FASTMED" = TRAIT_FASTMED,
"TRAIT_FAST_CUFFING" = TRAIT_FAST_CUFFING,
@@ -152,7 +152,6 @@ GLOBAL_LIST_INIT(admin_visible_traits, list(
"TRAIT_INTROVERT" = TRAIT_INTROVERT,
"TRAIT_INVISIBLE_MAN" = TRAIT_INVISIBLE_MAN,
"TRAIT_IWASBATONED" = TRAIT_IWASBATONED,
- "TRAIT_JOLLY" = TRAIT_JOLLY,
"TRAIT_KISS_OF_DEATH" = TRAIT_KISS_OF_DEATH,
"TRAIT_KNOCKEDOUT" = TRAIT_KNOCKEDOUT,
"TRAIT_KNOW_ENGI_WIRES" = TRAIT_KNOW_ENGI_WIRES,
@@ -242,7 +241,6 @@ GLOBAL_LIST_INIT(admin_visible_traits, list(
"TRAIT_PRESENT_VISION" = TRAIT_PRESENT_VISION,
"TRAIT_PREVENT_IMPLANT_AUTO_EXPLOSION" = TRAIT_PREVENT_IMPLANT_AUTO_EXPLOSION,
"TRAIT_PRIMITIVE" = TRAIT_PRIMITIVE, //unable to use mechs. Given to Ash Walkers
- "TRAIT_PROSOPAGNOSIA" = TRAIT_PROSOPAGNOSIA,
"TRAIT_PULL_BLOCKED" = TRAIT_PULL_BLOCKED,
"TRAIT_PUSHIMMUNE" = TRAIT_PUSHIMMUNE,
"TRAIT_QUICK_BUILD" = TRAIT_QUICK_BUILD,
diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm
index e0f1472b6a8..2178554bf00 100644
--- a/code/_onclick/hud/alert.dm
+++ b/code/_onclick/hud/alert.dm
@@ -310,7 +310,10 @@ or shoot a gun to move around via Newton's 3rd Law of Motion."
if(!(living_owner.mobility_flags & MOBILITY_MOVE))
return FALSE
- return living_owner.resist_fire()
+ return handle_stop_drop_roll(owner)
+
+/atom/movable/screen/alert/fire/proc/handle_stop_drop_roll(mob/living/roller)
+ return roller.resist_fire()
/atom/movable/screen/alert/give // information set when the give alert is made
icon_state = "default"
diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm
index cba55702d08..9146b118ec2 100644
--- a/code/_onclick/hud/hud.dm
+++ b/code/_onclick/hud/hud.dm
@@ -437,7 +437,12 @@ GLOBAL_LIST_INIT(available_erp_ui_styles, list(
// Handles alerts - the things on the right side of the screen
reorganize_alerts(screenmob)
screenmob.reload_fullscreen()
- update_parallax_pref(screenmob)
+
+ if(screenmob == mymob)
+ update_parallax_pref(screenmob)
+ else
+ viewmob.hud_used.update_parallax_pref()
+
update_reuse(screenmob)
// ensure observers get an accurate and up-to-date view
diff --git a/code/_onclick/hud/parallax/parallax.dm b/code/_onclick/hud/parallax/parallax.dm
index ee266cd21e3..07555614507 100755
--- a/code/_onclick/hud/parallax/parallax.dm
+++ b/code/_onclick/hud/parallax/parallax.dm
@@ -37,6 +37,7 @@
if(screenmob != mymob)
C.screen -= locate(/atom/movable/screen/plane_master/parallax_white) in C.screen
C.screen += plane_master
+ // this color makes parallax not black
plane_master.color = list(
0, 0, 0, 0,
0, 0, 0, 0,
diff --git a/code/_onclick/hud/picture_in_picture.dm b/code/_onclick/hud/picture_in_picture.dm
index f2cf8f4b210..0af9bfe2f43 100644
--- a/code/_onclick/hud/picture_in_picture.dm
+++ b/code/_onclick/hud/picture_in_picture.dm
@@ -11,6 +11,8 @@
var/atom/movable/screen/component_button/button_x
var/atom/movable/screen/component_button/button_expand
var/atom/movable/screen/component_button/button_shrink
+ var/atom/movable/screen/component_button/button_pop
+ var/atom/movable/screen/map_view/popup_screen
var/mutable_appearance/standard_background
@@ -19,6 +21,8 @@
make_backgrounds()
RegisterSignal(SSmapping, COMSIG_PLANE_OFFSET_INCREASE, PROC_REF(multiz_offset_increase))
multiz_offset_increase(SSmapping)
+ popup_screen = new
+ popup_screen.generate_view("camera-[REF(src)]_map")
/atom/movable/screen/movable/pic_in_pic/proc/multiz_offset_increase(datum/source)
SIGNAL_HANDLER
@@ -30,15 +34,20 @@
QDEL_NULL(button_x)
QDEL_NULL(button_shrink)
QDEL_NULL(button_expand)
+ QDEL_NULL(button_pop)
+ QDEL_NULL(popup_screen)
return ..()
/atom/movable/screen/movable/pic_in_pic/component_click(atom/movable/screen/component_button/component, params)
if(component == button_x)
+ usr.client?.close_popup("camera-[REF(src)]")
qdel(src)
else if(component == button_expand)
set_view_size(width+1, height+1)
else if(component == button_shrink)
set_view_size(width-1, height-1)
+ else if(component == button_pop)
+ pop_to_screen()
/atom/movable/screen/movable/pic_in_pic/proc/make_backgrounds()
standard_background = new /mutable_appearance()
@@ -99,6 +108,19 @@
button_shrink.transform = M
vis_contents += button_shrink
+ if(!button_pop)
+ button_pop = new /atom/movable/screen/component_button(null, src)
+ var/mutable_appearance/MA = new /mutable_appearance()
+ MA.name = "pop"
+ MA.icon = 'icons/hud/pic_in_pic.dmi'
+ MA.icon_state = "pop"
+ MA.plane = HUD_PLANE
+ button_pop.appearance = MA
+ M = matrix()
+ M.Translate((max(4, width) - 0.75) * ICON_SIZE_X, (height + 0.25) * ICON_SIZE_Y + 16)
+ button_pop.transform = M
+ vis_contents += button_pop
+
/atom/movable/screen/movable/pic_in_pic/proc/add_background()
if((width > 0) && (height > 0))
var/matrix/M = matrix()
@@ -134,6 +156,9 @@
return
viewing_turfs = get_visible_turfs()
vis_contents += viewing_turfs
+ if (popup_screen)
+ popup_screen.vis_contents.Cut()
+ popup_screen.vis_contents += viewing_turfs
/atom/movable/screen/movable/pic_in_pic/proc/get_visible_turfs()
var/turf/T = get_turf(center)
@@ -152,3 +177,17 @@
if(C)
shown_to -= C
C.screen -= src
+
+/atom/movable/screen/movable/pic_in_pic/proc/pop_to_screen()
+ if(usr.client.screen_maps["camera-[REF(src)]_map"])
+ return
+ usr.client.setup_popup("camera-[REF(src)]", width, height, 2, "1984")
+ popup_screen.display_to(usr)
+ RegisterSignal(usr.client, COMSIG_POPUP_CLEARED, PROC_REF(on_popup_clear))
+
+/atom/movable/screen/movable/pic_in_pic/proc/on_popup_clear(client/source, window)
+ SIGNAL_HANDLER
+ if (window == "camera-[REF(src)]")
+ UnregisterSignal(usr.client, COMSIG_POPUP_CLEARED)
+ popup_screen.hide_from(usr)
+
diff --git a/code/_onclick/hud/radial.dm b/code/_onclick/hud/radial.dm
index 025127010d8..72c661f55b9 100644
--- a/code/_onclick/hud/radial.dm
+++ b/code/_onclick/hud/radial.dm
@@ -330,7 +330,10 @@ GLOBAL_LIST_EMPTY(radial_menus)
return
current_user = M.client
//Blank
- menu_holder = image(icon='icons/effects/effects.dmi',loc=anchor,icon_state="nothing", layer = RADIAL_BACKGROUND_LAYER, pixel_x = offset_x, pixel_y = offset_y)
+ menu_holder = image(icon='icons/effects/effects.dmi',loc=anchor,icon_state="nothing", layer = RADIAL_BACKGROUND_LAYER)
+ menu_holder.pixel_w = offset_x
+ menu_holder.pixel_z = offset_y
+
SET_PLANE_EXPLICIT(menu_holder, ABOVE_HUD_PLANE, M)
menu_holder.appearance_flags |= KEEP_APART|RESET_ALPHA|RESET_COLOR|RESET_TRANSFORM
menu_holder.vis_contents += elements
diff --git a/code/_onclick/hud/rendering/plane_masters/plane_master_subtypes.dm b/code/_onclick/hud/rendering/plane_masters/plane_master_subtypes.dm
index 96a02afb574..a05cd47c146 100644
--- a/code/_onclick/hud/rendering/plane_masters/plane_master_subtypes.dm
+++ b/code/_onclick/hud/rendering/plane_masters/plane_master_subtypes.dm
@@ -248,6 +248,7 @@
documentation = "Holds the main tiling 32x32 sprites of weather. We mask against walls that are on the edge of weather effects."
plane = WEATHER_PLANE
start_hidden = TRUE
+ critical = PLANE_CRITICAL_DISPLAY
/atom/movable/screen/plane_master/weather/set_home(datum/plane_master_group/home)
. = ..()
@@ -272,7 +273,7 @@
documentation = "Contains all lighting drawn to turfs. Not so complex, draws directly onto the lighting plate."
plane = LIGHTING_PLANE
appearance_flags = PLANE_MASTER|NO_CLIENT_COLOR
- render_relay_planes = list(RENDER_PLANE_LIGHTING)
+ render_relay_planes = list(TURF_LIGHTING_PLATE)
blend_mode_override = BLEND_ADD
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
critical = PLANE_CRITICAL_DISPLAY
@@ -288,9 +289,21 @@
appearance_flags = PLANE_MASTER|NO_CLIENT_COLOR
render_target = O_LIGHTING_VISUAL_RENDER_TARGET
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
- blend_mode = BLEND_MULTIPLY
+ blend_mode = BLEND_ADD
+ render_relay_planes = list(RENDER_PLANE_LIGHTING)
critical = PLANE_CRITICAL_DISPLAY
+/atom/movable/screen/plane_master/o_light_visual/Initialize(mapload, datum/hud/hud_owner, datum/plane_master_group/home, offset)
+ . = ..()
+ // I'd love for this to be HSL but filters don't work with blend modes
+ add_relay_to(GET_NEW_PLANE(TURF_LIGHTING_PLATE, offset), BLEND_MULTIPLY, relay_color = list(
+ -1, -1, -1, 0,
+ -1, -1, -1, 0,
+ -1, -1, -1, 0,
+ 0, 0, 0, OVERLAY_LIGHTING_WEIGHT,
+ 1, 1, 1, 0,
+ ))
+
/atom/movable/screen/plane_master/above_lighting
name = "Above lighting"
plane = ABOVE_LIGHTING_PLANE
@@ -302,6 +315,7 @@
documentation = "Holds the glowing parts of the main tiling 32x32 sprites of weather."
plane = WEATHER_GLOW_PLANE
start_hidden = TRUE
+ critical = PLANE_CRITICAL_DISPLAY
/atom/movable/screen/plane_master/weather_glow/set_home(datum/plane_master_group/home)
. = ..()
diff --git a/code/_onclick/hud/rendering/render_plate.dm b/code/_onclick/hud/rendering/render_plate.dm
index 66339c837d0..8dad1ca87cd 100644
--- a/code/_onclick/hud/rendering/render_plate.dm
+++ b/code/_onclick/hud/rendering/render_plate.dm
@@ -235,7 +235,6 @@
/atom/movable/screen/plane_master/rendering_plate/lighting/Initialize(mapload, datum/hud/hud_owner)
. = ..()
add_filter("emissives", 1, alpha_mask_filter(render_source = OFFSET_RENDER_TARGET(EMISSIVE_RENDER_TARGET, offset), flags = MASK_INVERSE))
- add_filter("object_lighting", 2, alpha_mask_filter(render_source = OFFSET_RENDER_TARGET(O_LIGHTING_VISUAL_RENDER_TARGET, offset), flags = MASK_INVERSE))
set_light_cutoff(10)
/atom/movable/screen/plane_master/rendering_plate/lighting/show_to(mob/mymob)
@@ -263,7 +262,6 @@
offset_change(hud?.current_plane_offset || 0)
set_light_cutoff(mymob.lighting_cutoff, mymob.lighting_color_cutoffs)
-
/atom/movable/screen/plane_master/rendering_plate/lighting/hide_from(mob/oldmob)
. = ..()
oldmob.clear_fullscreen("lighting_backdrop_lit_[home.key]#[offset]")
@@ -350,8 +348,6 @@
/atom/movable/screen/plane_master/rendering_plate/light_mask/hide_from(mob/oldmob)
. = ..()
- var/atom/movable/screen/plane_master/overlay_lights = home.get_plane(GET_NEW_PLANE(O_LIGHTING_VISUAL_PLANE, offset))
- overlay_lights.remove_filter("lighting_mask")
var/atom/movable/screen/plane_master/emissive = home.get_plane(GET_NEW_PLANE(EMISSIVE_RENDER_PLATE, offset))
emissive.remove_filter("lighting_mask")
remove_relay_from(GET_NEW_PLANE(RENDER_PLANE_GAME, offset))
@@ -360,15 +356,12 @@
/atom/movable/screen/plane_master/rendering_plate/light_mask/proc/handle_sight(datum/source, new_sight, old_sight)
// If we can see something that shows "through" blackness, and we can't see turfs, disable our draw to the game plane
// And instead mask JUST the overlay lighting plane, since that will look fuckin wrong
- var/atom/movable/screen/plane_master/overlay_lights = home.get_plane(GET_NEW_PLANE(O_LIGHTING_VISUAL_PLANE, offset))
var/atom/movable/screen/plane_master/emissive = home.get_plane(GET_NEW_PLANE(EMISSIVE_RENDER_PLATE, offset))
if(new_sight & SEE_AVOID_TURF_BLACKNESS && !(new_sight & SEE_TURFS))
remove_relay_from(GET_NEW_PLANE(RENDER_PLANE_GAME, offset))
- overlay_lights.add_filter("lighting_mask", 1, alpha_mask_filter(render_source = OFFSET_RENDER_TARGET(LIGHT_MASK_RENDER_TARGET, offset)))
emissive.add_filter("lighting_mask", 1, alpha_mask_filter(render_source = OFFSET_RENDER_TARGET(LIGHT_MASK_RENDER_TARGET, offset)))
// If we CAN'T see through the black, then draw er down brother!
else
- overlay_lights.remove_filter("lighting_mask")
emissive.remove_filter("lighting_mask")
// We max alpha here, so our darkness is actually.. dark
// Can't do it before cause it fucks with the filter
@@ -381,6 +374,14 @@
plane = RENDER_PLANE_NON_GAME
render_relay_planes = list(RENDER_PLANE_MASTER)
+/atom/movable/screen/plane_master/rendering_plate/turf_lighting
+ name = "Turf lighting post-processing plate"
+ documentation = "Used by overlay lighting, and possibly over plates, to mask out turf lighting."
+ plane = TURF_LIGHTING_PLATE
+ render_relay_planes = list(RENDER_PLANE_LIGHTING)
+ blend_mode = BLEND_ADD
+ critical = PLANE_CRITICAL_DISPLAY
+
/**
* Plane master proc called in Initialize() that creates relay objects, and sets them up as needed
* Sets:
diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm
index 351a3155e86..22ae5f45d99 100644
--- a/code/_onclick/hud/screen_objects.dm
+++ b/code/_onclick/hud/screen_objects.dm
@@ -916,7 +916,7 @@ INITIALIZE_IMMEDIATE(/atom/movable/screen/splash)
for(var/i = 1; i <= length(streak); ++i)
var/intent_text = copytext(streak, i, i + 1)
var/image/intent_icon = image(icon,src,"combo_[intent_text]")
- intent_icon.pixel_x = 16 * (i - 1) - 8 * length(streak)
+ intent_icon.pixel_w = 16 * (i - 1) - 8 * length(streak)
add_overlay(intent_icon)
return ..()
diff --git a/code/_onclick/observer.dm b/code/_onclick/observer.dm
index ae2ebd97632..617a395ee4a 100644
--- a/code/_onclick/observer.dm
+++ b/code/_onclick/observer.dm
@@ -15,6 +15,9 @@
return
var/list/modifiers = params2list(params)
+ if(SEND_SIGNAL(src, COMSIG_MOB_CLICKON, A, modifiers) & COMSIG_MOB_CANCEL_CLICKON)
+ return
+
if(LAZYACCESS(modifiers, SHIFT_CLICK))
if(LAZYACCESS(modifiers, MIDDLE_CLICK))
ShiftMiddleClickOn(A)
diff --git a/code/controllers/configuration/configuration.dm b/code/controllers/configuration/configuration.dm
index cd69a37a790..6a43e92ae88 100644
--- a/code/controllers/configuration/configuration.dm
+++ b/code/controllers/configuration/configuration.dm
@@ -24,6 +24,9 @@
/// If the configuration is loaded
var/loaded = FALSE
+ /// If a reload is in progress
+ var/reload_in_progress = FALSE
+
/// A regex that matches words blocked IC
var/static/regex/ic_filter_regex
@@ -64,13 +67,24 @@
var/static/list/configuration_errors
/datum/controller/configuration/proc/admin_reload()
- if(IsAdminAdvancedProcCall())
+ if(IsAdminAdvancedProcCall() || !PreConfigReload())
return
+
log_admin("[key_name_admin(usr)] has forcefully reloaded the configuration from disk.")
message_admins("[key_name_admin(usr)] has forcefully reloaded the configuration from disk.")
full_wipe()
Load(world.params[OVERRIDE_CONFIG_DIRECTORY_PARAMETER])
+/datum/controller/configuration/proc/PreConfigReload()
+ if(reload_in_progress)
+ to_chat(usr, span_warning("Another user is already reloading the config!"))
+ return FALSE
+
+ reload_in_progress = TRUE
+ world.TgsTriggerEvent("tg-PreConfigReload", wait_for_completion = TRUE)
+ reload_in_progress = FALSE
+ return TRUE
+
/datum/controller/configuration/proc/Load(_directory)
if(IsAdminAdvancedProcCall()) //If admin proccall is detected down the line it will horribly break everything.
return
diff --git a/code/controllers/configuration/entries/game_options.dm b/code/controllers/configuration/entries/game_options.dm
index 0a9cd40bddd..a150d2b4729 100644
--- a/code/controllers/configuration/entries/game_options.dm
+++ b/code/controllers/configuration/entries/game_options.dm
@@ -457,6 +457,11 @@
/datum/config_entry/str_list/tts_voice_blacklist
+/// Maximum timeout for http calls
+/datum/config_entry/number/tts_http_timeout_seconds
+ default = 30
+ min_val = 0
+
/datum/config_entry/flag/give_tutorials_without_db
/datum/config_entry/string/new_player_alert_role_id
diff --git a/code/controllers/subsystem/ambience.dm b/code/controllers/subsystem/ambience.dm
index b8d2f56cfc8..a5a1d277f93 100644
--- a/code/controllers/subsystem/ambience.dm
+++ b/code/controllers/subsystem/ambience.dm
@@ -117,7 +117,7 @@ SUBSYSTEM_DEF(ambience)
var/volume_modifier = client.prefs.read_preference(/datum/preference/numeric/volume/sound_ship_ambience_volume)
if(!sound_to_use || !(client.prefs.read_preference(/datum/preference/numeric/volume/sound_ship_ambience_volume)))
- SEND_SOUND(src, sound(null, repeat = 0, volume = volume_modifier, wait = 0, channel = CHANNEL_BUZZ))
+ SEND_SOUND(src, sound(null, repeat = 0, wait = 0, channel = CHANNEL_BUZZ))
client.current_ambient_sound = null
return
@@ -136,4 +136,4 @@ SUBSYSTEM_DEF(ambience)
return
client.current_ambient_sound = sound_to_use
- SEND_SOUND(src, sound(my_area.ambient_buzz, repeat = 1, wait = 0, volume = my_area.ambient_buzz_vol, channel = CHANNEL_BUZZ))
+ SEND_SOUND(src, sound(my_area.ambient_buzz, repeat = 1, wait = 0, volume = my_area.ambient_buzz_vol * (volume_modifier / 100), channel = CHANNEL_BUZZ))
diff --git a/code/controllers/subsystem/bitrunning.dm b/code/controllers/subsystem/bitrunning.dm
index 63c2561f0f4..5e6a1c6bd34 100644
--- a/code/controllers/subsystem/bitrunning.dm
+++ b/code/controllers/subsystem/bitrunning.dm
@@ -31,7 +31,7 @@ SUBSYSTEM_DEF(bitrunning)
"difficulty" = domain.difficulty,
"id" = domain.key,
"is_modular" = domain.is_modular,
- "has_secondary_objectives" = assoc_value_sum(domain.secondary_loot) ? TRUE : FALSE,
+ "has_secondary_objectives" = counterlist_sum(domain.secondary_loot) ? TRUE : FALSE,
"name" = can_view ? domain.name : REDACTED,
"reward" = can_view_reward ? domain.reward_points : REDACTED,
))
@@ -42,7 +42,7 @@ SUBSYSTEM_DEF(bitrunning)
var/datum/lazy_template/virtual_domain/domain = completed_domain
var/choice
- if(assoc_value_sum(domain.secondary_loot))
+ if(counterlist_sum(domain.secondary_loot))
choice = pick_weight(domain.secondary_loot)
domain.secondary_loot[choice] -= 1
else
diff --git a/code/controllers/subsystem/dynamic/dynamic_rulesets_latejoin.dm b/code/controllers/subsystem/dynamic/dynamic_rulesets_latejoin.dm
index b71a1c1e85d..a5f1ded382a 100644
--- a/code/controllers/subsystem/dynamic/dynamic_rulesets_latejoin.dm
+++ b/code/controllers/subsystem/dynamic/dynamic_rulesets_latejoin.dm
@@ -208,8 +208,8 @@
JOB_CYBORG,
)
required_candidates = 1
- weight = 8
- cost = 6
+ weight = 4
+ cost = 12
requirements = list(101,101,50,10,10,10,10,10,10,10)
repeatable = TRUE
diff --git a/code/controllers/subsystem/dynamic/dynamic_rulesets_roundstart.dm b/code/controllers/subsystem/dynamic/dynamic_rulesets_roundstart.dm
index 1e540333573..324ae14f3a1 100644
--- a/code/controllers/subsystem/dynamic/dynamic_rulesets_roundstart.dm
+++ b/code/controllers/subsystem/dynamic/dynamic_rulesets_roundstart.dm
@@ -212,7 +212,7 @@ GLOBAL_VAR_INIT(revolutionary_win, FALSE)
)
required_candidates = 1
weight = 3
- cost = 10
+ cost = 16
scaling_cost = 9
requirements = list(101,101,60,30,30,25,20,15,10,10)
antag_cap = list("denominator" = 24)
diff --git a/code/controllers/subsystem/garbage.dm b/code/controllers/subsystem/garbage.dm
index b9c8a08ca75..f6b1bc3f860 100644
--- a/code/controllers/subsystem/garbage.dm
+++ b/code/controllers/subsystem/garbage.dm
@@ -346,6 +346,12 @@ SUBSYSTEM_DEF(garbage)
/// Datums passed to this will be given a chance to clean up references to allow the GC to collect them.
/proc/qdel(datum/to_delete, force = FALSE)
if(!istype(to_delete))
+ if(isnull(to_delete))
+ return
+ else if(islist(to_delete))
+ stack_trace("Lists should not be directly passed to qdel! You likely want either list.Cut(), QDEL_LIST(list), QDEL_LIST_ASSOC(list), or QDEL_LIST_ASSOC_VAL(list)")
+ else if(to_delete != world)
+ stack_trace("Tried to qdel possibly invalid value: [to_delete]")
#ifndef DISABLE_DREAMLUAU
DREAMLUAU_CLEAR_REF_USERDATA(to_delete)
#endif
diff --git a/code/controllers/subsystem/mobs.dm b/code/controllers/subsystem/mobs.dm
index fb5d390c61a..1faa2e102ad 100644
--- a/code/controllers/subsystem/mobs.dm
+++ b/code/controllers/subsystem/mobs.dm
@@ -35,11 +35,11 @@ SUBSYSTEM_DEF(mobs)
var/times_fired = src.times_fired
var/seconds_per_tick = wait / (1 SECONDS)
while(currentrun.len)
- var/mob/living/L = currentrun[currentrun.len]
+ var/mob/living/processing_mob = currentrun[currentrun.len]
currentrun.len--
- if(L)
- L.Life(seconds_per_tick, times_fired)
+ if(processing_mob)
+ processing_mob.Life(seconds_per_tick, times_fired)
else
- GLOB.mob_living_list.Remove(L)
+ GLOB.mob_living_list.Remove(processing_mob)
if (MC_TICK_CHECK)
return
diff --git a/code/controllers/subsystem/processing/fishing.dm b/code/controllers/subsystem/processing/fishing.dm
index 01474a2b1f2..abd31293ac0 100644
--- a/code/controllers/subsystem/processing/fishing.dm
+++ b/code/controllers/subsystem/processing/fishing.dm
@@ -13,6 +13,8 @@ PROCESSING_SUBSYSTEM_DEF(fishing)
var/list/fish_properties
///A cache of fish that can be caught by each type of fishing lure
var/list/lure_catchables
+ ///A list of fish types with list of turfs where they can happily hop around without dying as assoc value
+ var/list/fish_safe_turfs_by_type = list()
/datum/controller/subsystem/processing/fishing/Initialize()
..()
@@ -102,4 +104,19 @@ PROCESSING_SUBSYSTEM_DEF(fishing)
QDEL_LIST(spawned_fish)
+ //Populate the list of safe turfs for several fishes
+ for(var/source_path in GLOB.preset_fish_sources)
+ var/datum/fish_source/source = GLOB.preset_fish_sources[source_path]
+ if(!length(source.associated_safe_turfs))
+ continue
+ for(var/fish_path in source.fish_table)
+ if(!istype(fish_path, /obj/item/fish))
+ continue
+ LAZYOR(fish_safe_turfs_by_type[fish_path], source.associated_safe_turfs)
+ //If a subtype doesn't have set safe turfs, it'll inherit them from the parent type.
+ for(var/fish_type as anything in fish_safe_turfs_by_type)
+ for(var/fish_subtype in subtypesof(fish_type))
+ if(!length(fish_safe_turfs_by_type[fish_subtype]))
+ fish_safe_turfs_by_type[fish_subtype] = fish_safe_turfs_by_type[fish_type]
+
return SS_INIT_SUCCESS
diff --git a/code/controllers/subsystem/processing/greyscale.dm b/code/controllers/subsystem/processing/greyscale.dm
index 294cce8cc91..af2ad81ce0b 100644
--- a/code/controllers/subsystem/processing/greyscale.dm
+++ b/code/controllers/subsystem/processing/greyscale.dm
@@ -1,3 +1,9 @@
+/// Disable to use builtin DM-based generation.
+/// IconForge is 250x times faster but requires storing the icons in tmp/ and may result in higher asset transport.
+/// Note that the builtin GAGS editor still uses the 'legacy' generation to allow for debugging.
+/// IconForge also does not support the color matrix layer type or the 'or' blend_mode, however both are currently unused.
+#define USE_RUSTG_ICONFORGE_GAGS
+
PROCESSING_SUBSYSTEM_DEF(greyscale)
name = "Greyscale"
flags = SS_BACKGROUND
@@ -6,6 +12,10 @@ PROCESSING_SUBSYSTEM_DEF(greyscale)
var/list/datum/greyscale_config/configurations = list()
var/list/datum/greyscale_layer/layer_types = list()
+#ifdef USE_RUSTG_ICONFORGE_GAGS
+ /// Cache containing a list of [UID (config path + colors)] -> [DMI file / RSC object] in the tmp directory from iconforge
+ var/list/gags_cache = list()
+#endif
/datum/controller/subsystem/processing/greyscale/Initialize()
for(var/datum/greyscale_layer/fake_type as anything in subtypesof(/datum/greyscale_layer))
@@ -21,14 +31,35 @@ PROCESSING_SUBSYSTEM_DEF(greyscale)
var/datum/greyscale_config/config = configurations[greyscale_type]
config.Refresh()
+#ifdef USE_RUSTG_ICONFORGE_GAGS
+ var/list/job_ids = list()
+#endif
+
// This final verification step is for things that need other greyscale configurations to be finished loading
for(var/greyscale_type as anything in configurations)
CHECK_TICK
var/datum/greyscale_config/config = configurations[greyscale_type]
config.CrossVerify()
+#ifdef USE_RUSTG_ICONFORGE_GAGS
+ job_ids += rustg_iconforge_load_gags_config_async(greyscale_type, config.raw_json_string, config.string_icon_file)
+
+ UNTIL(jobs_completed(job_ids))
+#endif
return SS_INIT_SUCCESS
+#ifdef USE_RUSTG_ICONFORGE_GAGS
+/datum/controller/subsystem/processing/greyscale/proc/jobs_completed(list/job_ids)
+ for(var/job in job_ids)
+ var/result = rustg_iconforge_check(job)
+ if(result == RUSTG_JOB_NO_RESULTS_YET)
+ return FALSE
+ if(result != "OK")
+ stack_trace("Error during rustg_iconforge_load_gags_config job: [result]")
+ job_ids -= job
+ return TRUE
+#endif
+
/datum/controller/subsystem/processing/greyscale/proc/RefreshConfigsFromFile()
for(var/i in configurations)
configurations[i].Refresh(TRUE)
@@ -36,12 +67,40 @@ PROCESSING_SUBSYSTEM_DEF(greyscale)
/datum/controller/subsystem/processing/greyscale/proc/GetColoredIconByType(type, list/colors)
if(!ispath(type, /datum/greyscale_config))
CRASH("An invalid greyscale configuration was given to `GetColoredIconByType()`: [type]")
+ if(!initialized)
+ CRASH("GetColoredIconByType() called before greyscale subsystem initialized!")
type = "[type]"
if(istype(colors)) // It's the color list format
colors = colors.Join()
else if(!istext(colors))
CRASH("Invalid colors were given to `GetColoredIconByType()`: [colors]")
+#ifdef USE_RUSTG_ICONFORGE_GAGS
+ var/uid = "[replacetext(replacetext(type, "/datum/greyscale_config/", ""), "/", "-")]-[colors]"
+ var/cached_file = gags_cache[uid]
+ if(cached_file)
+ return cached_file
+ var/output_path = "tmp/gags/gags-[uid].dmi"
+ var/iconforge_output = rustg_iconforge_gags(type, colors, output_path)
+ // Handle errors from IconForge
+ if(iconforge_output != "OK")
+ CRASH(iconforge_output)
+ // We'll just explicitly do fcopy_rsc here, so the game doesn't have to do it again later from the cached file.
+ var/rsc_gags_icon = fcopy_rsc(file(output_path))
+ gags_cache[uid] = rsc_gags_icon
+ return rsc_gags_icon
+#else
return configurations[type].Generate(colors)
+#endif
+
+/datum/controller/subsystem/processing/greyscale/proc/GetColoredIconByTypeUniversalIcon(type, list/colors, target_icon_state)
+ if(!ispath(type, /datum/greyscale_config))
+ CRASH("An invalid greyscale configuration was given to `GetColoredIconByTypeUniversalIcon()`: [type]")
+ type = "[type]"
+ if(istype(colors)) // It's the color list format
+ colors = colors.Join()
+ else if(!istext(colors))
+ CRASH("Invalid colors were given to `GetColoredIconByTypeUniversalIcon()`: [colors]")
+ return configurations[type].GenerateUniversalIcon(colors, target_icon_state)
/datum/controller/subsystem/processing/greyscale/proc/GetColoredIconByTypeUniversalIcon(type, list/colors, target_icon_state)
if(!ispath(type, /datum/greyscale_config))
@@ -58,3 +117,5 @@ PROCESSING_SUBSYSTEM_DEF(greyscale)
var/list/split_colors = splittext(color_string, "#")
for(var/color in 2 to length(split_colors))
. += "#[split_colors[color]]"
+
+#undef USE_RUSTG_ICONFORGE_GAGS
diff --git a/code/controllers/subsystem/statpanel.dm b/code/controllers/subsystem/statpanel.dm
index 8539c660e3c..a9736751c47 100644
--- a/code/controllers/subsystem/statpanel.dm
+++ b/code/controllers/subsystem/statpanel.dm
@@ -126,15 +126,10 @@ SUBSYSTEM_DEF(statpanels)
return
/datum/controller/subsystem/statpanels/proc/set_status_tab(client/target)
-#if MIN_COMPILER_VERSION > 515
- #warn 516 is most certainly out of beta, remove this beta notice if you haven't already
-#endif
- //var/static/list/beta_notice = list("", "You are on BYOND 516, some visual glitches with UIs may be present!", "Please report issues, and switch back to BYOND 515 if things are causing too many issues for you.")
- var/static/list/old_version_notice = list("", "This server is designed for version 516, you are using an older version 515!", "You may experience issues and crashes, switch to BYOND 516 if things are causing too many issues for you.") // BUBBER EDIT CHANGE - Change version notice to 515
if(!global_data)//statbrowser hasnt fired yet and we were called from immediate_send_stat_data()
return
target.stat_panel.send_message("update_stat", list(
- "global_data" = (target.byond_version < 516) ? (global_data + old_version_notice) : global_data, // BUBBER EDIT CHANGE - Change version notice to 515
+ "global_data" = global_data,
"ping_str" = "Ping: [round(target.lastping, 1)]ms (Average: [round(target.avgping, 1)]ms)",
"other_str" = target.mob?.get_status_tab_items(),
))
diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm
index 99f5c02342b..feefd6cfff1 100644
--- a/code/controllers/subsystem/ticker.dm
+++ b/code/controllers/subsystem/ticker.dm
@@ -459,6 +459,8 @@ SUBSYSTEM_DEF(ticker)
if(new_player_mob.client?.prefs?.should_be_random_hardcore(player_assigned_role, new_player_living.mind))
new_player_mob.client.prefs.hardcore_random_setup(new_player_living)
SSquirks.AssignQuirks(new_player_living, new_player_mob.client)
+ if(ishuman(new_player_living))
+ SEND_SIGNAL(new_player_living, COMSIG_HUMAN_CHARACTER_SETUP_FINISHED)
CHECK_TICK
if(captainless)
diff --git a/code/controllers/subsystem/tts.dm b/code/controllers/subsystem/tts.dm
index c50974f9299..f835841e3f2 100644
--- a/code/controllers/subsystem/tts.dm
+++ b/code/controllers/subsystem/tts.dm
@@ -58,7 +58,7 @@ SUBSYSTEM_DEF(tts)
var/datum/http_request/request = new()
var/list/headers = list()
headers["Authorization"] = CONFIG_GET(string/tts_http_token)
- request.prepare(RUSTG_HTTP_METHOD_GET, "[CONFIG_GET(string/tts_http_url)]/tts-voices", "", headers)
+ request.prepare(RUSTG_HTTP_METHOD_GET, "[CONFIG_GET(string/tts_http_url)]/tts-voices", "", headers, timeout_seconds = CONFIG_GET(number/tts_http_timeout_seconds))
request.begin_async()
UNTIL(request.is_complete())
var/datum/http_response/response = request.into_response()
@@ -77,7 +77,7 @@ SUBSYSTEM_DEF(tts)
var/datum/http_request/request_pitch = new()
var/list/headers_pitch = list()
headers_pitch["Authorization"] = CONFIG_GET(string/tts_http_token)
- request_pitch.prepare(RUSTG_HTTP_METHOD_GET, "[CONFIG_GET(string/tts_http_url)]/pitch-available", "", headers_pitch)
+ request_pitch.prepare(RUSTG_HTTP_METHOD_GET, "[CONFIG_GET(string/tts_http_url)]/pitch-available", "", headers_pitch, timeout_seconds = CONFIG_GET(number/tts_http_timeout_seconds))
request_pitch.begin_async()
UNTIL(request_pitch.is_complete())
pitch_enabled = TRUE
@@ -293,8 +293,8 @@ SUBSYSTEM_DEF(tts)
var/datum/http_request/request_blips = new()
var/file_name = "tmp/tts/[identifier].ogg"
var/file_name_blips = "tmp/tts/[identifier]_blips.ogg"
- request.prepare(RUSTG_HTTP_METHOD_GET, "[CONFIG_GET(string/tts_http_url)]/tts?voice=[speaker]&identifier=[identifier]&filter=[url_encode(filter)]&pitch=[pitch]&special_filters=[url_encode(special_filters)]", json_encode(list("text" = shell_scrubbed_input)), headers, file_name)
- request_blips.prepare(RUSTG_HTTP_METHOD_GET, "[CONFIG_GET(string/tts_http_url)]/tts-blips?voice=[speaker]&identifier=[identifier]&filter=[url_encode(filter)]&pitch=[pitch]&special_filters=[url_encode(special_filters)]", json_encode(list("text" = shell_scrubbed_input)), headers, file_name_blips)
+ request.prepare(RUSTG_HTTP_METHOD_GET, "[CONFIG_GET(string/tts_http_url)]/tts?voice=[speaker]&identifier=[identifier]&filter=[url_encode(filter)]&pitch=[pitch]&special_filters=[url_encode(special_filters)]", json_encode(list("text" = shell_scrubbed_input)), headers, file_name, timeout_seconds = CONFIG_GET(number/tts_http_timeout_seconds))
+ request_blips.prepare(RUSTG_HTTP_METHOD_GET, "[CONFIG_GET(string/tts_http_url)]/tts-blips?voice=[speaker]&identifier=[identifier]&filter=[url_encode(filter)]&pitch=[pitch]&special_filters=[url_encode(special_filters)]", json_encode(list("text" = shell_scrubbed_input)), headers, file_name_blips, timeout_seconds = CONFIG_GET(number/tts_http_timeout_seconds))
var/datum/tts_request/current_request = new /datum/tts_request(identifier, request, request_blips, shell_scrubbed_input, target, local, language, message_range, volume_offset, listeners, pitch)
var/list/player_queued_tts_messages = queued_tts_messages[target]
if(!player_queued_tts_messages)
diff --git a/code/datums/ai/_ai_controller.dm b/code/datums/ai/_ai_controller.dm
index 4823c68a821..c9b1bdde543 100644
--- a/code/datums/ai/_ai_controller.dm
+++ b/code/datums/ai/_ai_controller.dm
@@ -203,7 +203,7 @@ multiple modular subtrees with behaviors
if(!can_idle || isnull(our_cells))
return FALSE
for(var/datum/spatial_grid_cell/grid as anything in our_cells.member_cells)
- if(length(grid.client_contents))
+ if(locate(/mob/living) in grid.client_contents)
return FALSE
return TRUE
@@ -225,9 +225,12 @@ multiple modular subtrees with behaviors
if(should_idle())
set_ai_status(AI_STATUS_IDLE)
-/datum/ai_controller/proc/on_client_enter(datum/source, atom/target)
+/datum/ai_controller/proc/on_client_enter(datum/source, list/target_list)
SIGNAL_HANDLER
+ if (!(locate(/mob/living) in target_list))
+ return
+
if(ai_status == AI_STATUS_IDLE)
set_ai_status(AI_STATUS_ON)
diff --git a/code/datums/brain_damage/mild.dm b/code/datums/brain_damage/mild.dm
index 2af37fa13a8..d50de8ed943 100644
--- a/code/datums/brain_damage/mild.dm
+++ b/code/datums/brain_damage/mild.dm
@@ -11,17 +11,19 @@
scan_desc = "schizophrenia"
gain_text = span_warning("You feel your grip on reality slipping...")
lose_text = span_notice("You feel more grounded.")
+ /// Whether the hallucinations we give are uncapped, ie all the wacky ones
+ var/uncapped = FALSE
/datum/brain_trauma/mild/hallucinations/on_life(seconds_per_tick, times_fired)
- if(owner.stat != CONSCIOUS || owner.IsSleeping() || owner.IsUnconscious())
+ if(owner.stat >= UNCONSCIOUS)
return
if(HAS_TRAIT(owner, TRAIT_RDS_SUPPRESSED))
owner.remove_language(/datum/language/aphasia, source = LANGUAGE_APHASIA)
+ owner.adjust_hallucinations(-10 SECONDS * seconds_per_tick)
return
- if(!HAS_TRAIT(owner, TRAIT_RDS_SUPPRESSED))
- owner.grant_language(/datum/language/aphasia, source = LANGUAGE_APHASIA)
- owner.adjust_hallucinations_up_to(10 SECONDS * seconds_per_tick, 100 SECONDS)
+ owner.grant_language(/datum/language/aphasia, source = LANGUAGE_APHASIA)
+ owner.adjust_hallucinations_up_to(((uncapped ? 12 SECONDS : 5 SECONDS) * seconds_per_tick), (uncapped ? 240 SECONDS : 60 SECONDS))
/datum/brain_trauma/mild/hallucinations/on_lose()
owner.remove_status_effect(/datum/status_effect/hallucination)
@@ -280,11 +282,11 @@
lose_text = span_notice("The world feels bright and colorful again.")
/datum/brain_trauma/mild/color_blindness/on_gain()
- owner.add_client_colour(/datum/client_colour/monochrome/colorblind)
+ owner.add_client_colour(/datum/client_colour/monochrome, TRAUMA_TRAIT)
return ..()
/datum/brain_trauma/mild/color_blindness/on_lose(silent)
- owner.remove_client_colour(/datum/client_colour/monochrome/colorblind)
+ owner.remove_client_colour(TRAUMA_TRAIT)
return ..()
/datum/brain_trauma/mild/possessive
diff --git a/code/datums/brain_damage/phobia.dm b/code/datums/brain_damage/phobia.dm
index 132bf835396..4703750cd01 100644
--- a/code/datums/brain_damage/phobia.dm
+++ b/code/datums/brain_damage/phobia.dm
@@ -58,40 +58,50 @@
if(is_scary_item(seen_item))
freak_out(seen_item)
return
- for(var/mob/living/carbon/human/nearby_guy in seen_atoms) //check equipment for trigger items
- for(var/obj/item/equipped as anything in nearby_guy.get_visible_items())
- if(is_scary_item(equipped))
- freak_out(equipped)
- return
if(LAZYLEN(trigger_turfs))
- for(var/turf/T in seen_atoms)
- if(is_type_in_typecache(T, trigger_turfs))
- freak_out(T)
+ for(var/turf/checked in seen_atoms)
+ if(is_type_in_typecache(checked, trigger_turfs))
+ freak_out(checked)
return
seen_atoms -= owner //make sure they aren't afraid of themselves.
- if(LAZYLEN(trigger_mobs) || LAZYLEN(trigger_species))
- for(var/mob/M in seen_atoms)
- if(is_type_in_typecache(M, trigger_mobs))
- freak_out(M)
+ if(LAZYLEN(trigger_mobs) || LAZYLEN(trigger_species) || LAZYLEN(trigger_objs))
+ for(var/mob/living/checked in seen_atoms)
+ if (is_scary_mob(checked))
+ freak_out(checked)
return
- else if(ishuman(M)) //check their species
- var/mob/living/carbon/human/H = M
- if(LAZYLEN(trigger_species) && H.dna && H.dna.species && is_type_in_typecache(H.dna.species, trigger_species))
- freak_out(H)
- return
-
/// Returns true if this item should be scary to us
/datum/brain_trauma/mild/phobia/proc/is_scary_item(obj/checked)
- if (QDELETED(checked) || !is_type_in_typecache(checked, trigger_objs))
+ if (QDELETED(checked) || !is_type_in_typecache(checked, trigger_objs) || checked.invisibility > owner.see_invisible)
return FALSE
if (!isitem(checked))
return TRUE
var/obj/item/checked_item = checked
return !HAS_TRAIT(checked_item, TRAIT_EXAMINE_SKIP)
+/datum/brain_trauma/mild/phobia/proc/is_scary_mob(mob/living/checked)
+ if(is_type_in_typecache(checked, trigger_mobs))
+ return TRUE
+
+ if (!ishuman(checked))
+ return FALSE
+
+ var/mob/living/carbon/human/as_human = checked
+ if (LAZYLEN(trigger_species))
+ if (is_type_in_typecache(as_human.dna?.species, trigger_species))
+ return TRUE
+
+ if (!LAZYLEN(trigger_objs))
+ return FALSE
+
+ for(var/obj/item/equipped as anything in as_human.get_visible_items())
+ if(is_scary_item(equipped))
+ return TRUE
+
+ return FALSE
+
/datum/brain_trauma/mild/phobia/handle_hearing(datum/source, list/hearing_args)
if(!owner.can_hear() || owner == hearing_args[HEARING_SPEAKER] || !owner.has_language(hearing_args[HEARING_LANGUAGE])) //words can't trigger you if you can't hear them *taps head*
return
diff --git a/code/datums/brain_damage/severe.dm b/code/datums/brain_damage/severe.dm
index f102a65fcda..27ce83c9317 100644
--- a/code/datums/brain_damage/severe.dm
+++ b/code/datums/brain_damage/severe.dm
@@ -160,83 +160,17 @@
name = "Monophobia"
desc = "Patient feels sick and distressed when not around other people, leading to potentially lethal levels of stress."
scan_desc = "monophobia"
- gain_text = ""
+ gain_text = span_warning("You feel really lonely...")
lose_text = span_notice("You feel like you could be safe on your own.")
var/stress = 0
/datum/brain_trauma/severe/monophobia/on_gain()
- ..()
- if(check_alone())
- to_chat(owner, span_warning("You feel really lonely..."))
- else
- to_chat(owner, span_notice("You feel safe, as long as you have people around you."))
+ . = ..()
+ owner.AddComponentFrom(REF(src), /datum/component/fearful, list(/datum/terror_handler/vomiting, /datum/terror_handler/simple_source/monophobia))
-/datum/brain_trauma/severe/monophobia/on_life(seconds_per_tick, times_fired)
- ..()
- if(check_alone())
- stress = min(stress + 0.5, 100)
- if(stress > 10 && SPT_PROB(2.5, seconds_per_tick))
- stress_reaction()
- else
- stress = max(stress - (2 * seconds_per_tick), 0)
-
-/datum/brain_trauma/severe/monophobia/proc/check_alone()
- var/check_radius = 7
- if(owner.is_blind())
- check_radius = 1
- for(var/mob/M in oview(owner, check_radius))
- if(!isliving(M)) //ghosts ain't people
- continue
- if(istype(M, /mob/living/basic/pet) || M.ckey)
- return FALSE
- return TRUE
-
-/datum/brain_trauma/severe/monophobia/proc/stress_reaction()
- if(owner.stat != CONSCIOUS)
- return
-
- var/high_stress = (stress > 60) //things get psychosomatic from here on
- switch(rand(1, 6))
- if(1)
- if(high_stress)
- to_chat(owner, span_warning("You feel really sick at the thought of being alone!"))
- else
- to_chat(owner, span_warning("You feel sick..."))
- addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob/living/carbon, vomit), high_stress), 5 SECONDS) //blood vomit if high stress
- if(2)
- if(high_stress)
- to_chat(owner, span_warning("You feel weak and scared! If only you weren't alone..."))
- owner.adjustStaminaLoss(50)
- else
- to_chat(owner, span_warning("You can't stop shaking..."))
-
- owner.adjust_dizzy(40 SECONDS)
- owner.adjust_confusion(20 SECONDS)
- owner.set_jitter_if_lower(40 SECONDS)
-
- if(3, 4)
- if(high_stress)
- to_chat(owner, span_warning("You're going mad with loneliness!"))
- owner.adjust_hallucinations(60 SECONDS)
- else
- to_chat(owner, span_warning("You feel really lonely..."))
-
- if(5)
- if(high_stress)
- if(prob(15) && ishuman(owner))
- var/mob/living/carbon/human/H = owner
- H.set_heartattack(TRUE)
- to_chat(H, span_userdanger("You feel a stabbing pain in your heart!"))
- else
- to_chat(owner, span_userdanger("You feel your heart lurching in your chest..."))
- owner.adjustOxyLoss(8)
- else
- to_chat(owner, span_warning("Your heart skips a beat."))
- owner.adjustOxyLoss(8)
-
- else
- //No effect
- return
+/datum/brain_trauma/severe/monophobia/on_lose(silent)
+ . = ..()
+ owner.RemoveComponentSource(REF(src), /datum/component/fearful)
/datum/brain_trauma/severe/discoordination
name = "Discoordination"
diff --git a/code/datums/brain_damage/special.dm b/code/datums/brain_damage/special.dm
index 486af4b2780..5c8a2fb2c56 100644
--- a/code/datums/brain_damage/special.dm
+++ b/code/datums/brain_damage/special.dm
@@ -241,19 +241,17 @@
scan_desc = "violent psychosis"
gain_text = span_warning("You feel unhinged...")
lose_text = span_notice("You feel more balanced.")
+ /// The martial art we teach
var/datum/martial_art/psychotic_brawling/psychotic_brawling
/datum/brain_trauma/special/psychotic_brawling/on_gain()
- ..()
- psychotic_brawling = new()
- psychotic_brawling.allow_temp_override = FALSE
- if(!psychotic_brawling.teach(owner, TRUE))
- to_chat(owner, span_notice("But your martial knowledge keeps you grounded."))
- qdel(src)
+ . = ..()
+ psychotic_brawling = new(src)
+ psychotic_brawling.locked_to_use = TRUE
+ psychotic_brawling.teach(owner)
/datum/brain_trauma/special/psychotic_brawling/on_lose()
- ..()
- psychotic_brawling.fully_remove(owner)
+ . = ..()
QDEL_NULL(psychotic_brawling)
/datum/brain_trauma/special/psychotic_brawling/bath_salts
@@ -587,18 +585,18 @@
to_chat(owner, span_warning("You start having a bad feeling..."))
owner.add_mood_event("fireaxe", /datum/mood_event/axe_missing)
return
-
+
if(!isarea(axe_location))
owner.add_mood_event("fireaxe", /datum/mood_event/axe_gone)
return
-
+
if(istype(axe_location, /area/station/command))
to_chat(owner, span_notice("You feel a sense of relief..."))
if(istype(GLOB.bridge_axe.loc, /obj/structure/fireaxecabinet))
return
owner.add_mood_event("fireaxe", /datum/mood_event/axe_neutral)
return
-
+
to_chat(owner, span_warning("You start having a bad feeling..."))
owner.add_mood_event("fireaxe", /datum/mood_event/axe_missing)
diff --git a/code/datums/browser.dm b/code/datums/browser.dm
index 03b1bbca39b..360420ab00b 100644
--- a/code/datums/browser.dm
+++ b/code/datums/browser.dm
@@ -312,25 +312,25 @@
if (A.selectedbutton)
return list("button" = A.selectedbutton, "values" = A.valueslist)
-/proc/input_bitfield(mob/User, title, bitfield, current_value, nwidth = 350, nheight = 350, nslidecolor, allowed_edit_list = null)
- if (!User || !(bitfield in GLOB.bitfields))
+/proc/input_bitfield(mob/User, title, bitfield, current_value, nwidth = 350, nheight = 350, nslidecolor, allowed_edit_flags = ALL)
+ var/list/bitflags = get_valid_bitflags(bitfield)
+ if (!User || !length(bitflags))
return
- var/list/pickerlist = list()
- for (var/i in GLOB.bitfields[bitfield])
- var/can_edit = 1
- if(!isnull(allowed_edit_list) && !(allowed_edit_list & GLOB.bitfields[bitfield][i]))
- can_edit = 0
- if (current_value & GLOB.bitfields[bitfield][i])
- pickerlist += list(list("checked" = 1, "value" = GLOB.bitfields[bitfield][i], "name" = i, "allowed_edit" = can_edit))
- else
- pickerlist += list(list("checked" = 0, "value" = GLOB.bitfields[bitfield][i], "name" = i, "allowed_edit" = can_edit))
- var/list/result = presentpicker(User, "", title, Button1="Save", Button2 = "Cancel", Timeout=FALSE, values = pickerlist, width = nwidth, height = nheight, slidecolor = nslidecolor)
+ var/list/picker_list = list()
+ for (var/bit_name in bitflags)
+ var/bit_value = bitflags[bit_name]
+ // TRUE/FALSE cast, sorry :)
+ var/can_edit = !!(allowed_edit_flags & bit_value)
+ var/flag_set = !!(current_value & bit_value)
+ picker_list += list(list("checked" = flag_set, "value" = bit_value, "name" = bit_name, "allowed_edit" = can_edit))
+
+ var/list/result = presentpicker(User, "", title, Button1="Save", Button2 = "Cancel", Timeout=FALSE, values = picker_list, width = nwidth, height = nheight, slidecolor = nslidecolor)
if (islist(result))
if (result["button"] == 2) // If the user pressed the cancel button
return
- . = 0
- for (var/flag in result["values"])
- . |= GLOB.bitfields[bitfield][flag]
+ . = NONE
+ for (var/flag_name in result["values"])
+ . |= bitflags[flag_name]
else
return
diff --git a/code/datums/chatmessage.dm b/code/datums/chatmessage.dm
index 5930012a2af..3af62b77ca6 100644
--- a/code/datums/chatmessage.dm
+++ b/code/datums/chatmessage.dm
@@ -226,13 +226,13 @@
// scheduled time once the EOL has been executed.
var/continuing = 0
if (time_spent >= time_before_fade)
- if(m.message.pixel_y < starting_height)
- var/max_height = m.message.pixel_y + m.approx_lines * CHAT_MESSAGE_APPROX_LHEIGHT - starting_height
+ if(m.message.pixel_z < starting_height)
+ var/max_height = m.message.pixel_z + m.approx_lines * CHAT_MESSAGE_APPROX_LHEIGHT - starting_height
if(max_height > 0)
- animate(m.message, pixel_y = m.message.pixel_y + max_height, time = CHAT_MESSAGE_SPAWN_TIME, flags = continuing | ANIMATION_PARALLEL)
+ animate(m.message, pixel_z = m.message.pixel_z + max_height, time = CHAT_MESSAGE_SPAWN_TIME, flags = continuing | ANIMATION_PARALLEL)
continuing |= ANIMATION_CONTINUE
- else if(mheight + starting_height >= m.message.pixel_y)
- animate(m.message, pixel_y = m.message.pixel_y + mheight, time = CHAT_MESSAGE_SPAWN_TIME, flags = continuing | ANIMATION_PARALLEL)
+ else if(mheight + starting_height >= m.message.pixel_z)
+ animate(m.message, pixel_z = m.message.pixel_z + mheight, time = CHAT_MESSAGE_SPAWN_TIME, flags = continuing | ANIMATION_PARALLEL)
continuing |= ANIMATION_CONTINUE
continue
@@ -257,13 +257,13 @@
continuing |= ANIMATION_CONTINUE
// We run this after the alpha animate, because we don't want to interrup it, but also don't want to block it by running first
// Sooo instead we do this. bit messy but it fuckin works
- if(m.message.pixel_y < starting_height)
- var/max_height = m.message.pixel_y + m.approx_lines * CHAT_MESSAGE_APPROX_LHEIGHT - starting_height
+ if(m.message.pixel_z < starting_height)
+ var/max_height = m.message.pixel_z + m.approx_lines * CHAT_MESSAGE_APPROX_LHEIGHT - starting_height
if(max_height > 0)
- animate(m.message, pixel_y = m.message.pixel_y + max_height, time = CHAT_MESSAGE_SPAWN_TIME, flags = continuing | ANIMATION_PARALLEL)
+ animate(m.message, pixel_z = m.message.pixel_z + max_height, time = CHAT_MESSAGE_SPAWN_TIME, flags = continuing | ANIMATION_PARALLEL)
continuing |= ANIMATION_CONTINUE
- else if(mheight + starting_height >= m.message.pixel_y)
- animate(m.message, pixel_y = m.message.pixel_y + mheight, time = CHAT_MESSAGE_SPAWN_TIME, flags = continuing | ANIMATION_PARALLEL)
+ else if(mheight + starting_height >= m.message.pixel_z)
+ animate(m.message, pixel_z = m.message.pixel_z + mheight, time = CHAT_MESSAGE_SPAWN_TIME, flags = continuing | ANIMATION_PARALLEL)
continuing |= ANIMATION_CONTINUE
// Reset z index if relevant
@@ -275,8 +275,8 @@
SET_PLANE_EXPLICIT(message, RUNECHAT_PLANE, message_loc)
message.appearance_flags = APPEARANCE_UI_IGNORE_ALPHA | KEEP_APART
message.alpha = 0
- message.pixel_y = starting_height
- message.pixel_x = -target.base_pixel_x
+ message.pixel_z = starting_height
+ message.pixel_w = -target.base_pixel_w
message.maptext_width = CHAT_MESSAGE_WIDTH
message.maptext_height = mheight * 1.25 // We add extra because some characters are superscript, like actions
message.maptext_x = (CHAT_MESSAGE_WIDTH - owner.bound_width) * -0.5
diff --git a/code/datums/cogbar.dm b/code/datums/cogbar.dm
index 6505158b58d..fba12d764c4 100644
--- a/code/datums/cogbar.dm
+++ b/code/datums/cogbar.dm
@@ -15,14 +15,27 @@
var/image/blank
/// The offset of the icon
var/offset_y
+ /// Icon path of the cog
+ var/cogicon
+ /// The icon state
+ var/cogiconstate
-/datum/cogbar/New(mob/user)
+/datum/cogbar/New(mob/user, cogicon, cogiconstate)
src.user = user
src.user_client = user.client
-
+ src.cogicon = cogicon
+ src.cogiconstate = cogiconstate
var/list/icon_offsets = user.get_oversized_icon_offsets()
offset_y = icon_offsets["y"]
+ if(isnull(cogicon))
+ stack_trace("/datum/cogbar was created with a null icon.")
+ qdel(src)
+ return
+ if(isnull(cogiconstate))
+ stack_trace("/datum/cogbar was created with a null icon state.")
+ qdel(src)
+ return
add_cog_to_user()
@@ -45,15 +58,15 @@
/// Adds the cog to the user, visible by other players
/datum/cogbar/proc/add_cog_to_user()
cog = SSvis_overlays.add_vis_overlay(user,
- icon = 'icons/effects/progressbar.dmi',
- iconstate = "cog",
+ icon = cogicon,
+ iconstate = cogiconstate,
plane = HIGH_GAME_PLANE,
add_appearance_flags = APPEARANCE_UI_IGNORE_ALPHA,
unique = TRUE,
alpha = 0,
)
cog.pixel_y = ICON_SIZE_Y + offset_y
- animate(cog, alpha = 255, time = COGBAR_ANIMATION_TIME)
+ animate(cog, alpha = user.alpha, time = COGBAR_ANIMATION_TIME)
if(isnull(user_client))
return
diff --git a/code/datums/components/_component.dm b/code/datums/components/_component.dm
index 9fc1e13e1b4..3cc0738e38d 100644
--- a/code/datums/components/_component.dm
+++ b/code/datums/components/_component.dm
@@ -43,11 +43,21 @@
/datum/component/New(list/raw_args)
parent = raw_args[1]
var/list/arguments = raw_args.Copy(2)
- if(Initialize(arglist(arguments)) == COMPONENT_INCOMPATIBLE)
+
+ var/result = Initialize(arglist(arguments))
+
+ if(result == COMPONENT_INCOMPATIBLE)
stack_trace("Incompatible [type] assigned to a [parent.type]! args: [json_encode(arguments)]")
qdel(src, TRUE, TRUE)
return
+ if(result == COMPONENT_REDUNDANT)
+ qdel(src, TRUE, TRUE)
+ return
+
+ if(QDELETED(src) || QDELETED(parent))
+ CRASH("Component [type] was created with a deleted parent or was deleted itself before it could be added to a parent")
+
_JoinParent()
/**
diff --git a/code/datums/components/acid.dm b/code/datums/components/acid.dm
index dea0002663d..ff63ed985a2 100644
--- a/code/datums/components/acid.dm
+++ b/code/datums/components/acid.dm
@@ -1,4 +1,4 @@
-GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/effects/acid.dmi', "default"))
+GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/effects/acid.dmi', "default", appearance_flags = RESET_COLOR|KEEP_APART))
/**
* Component representing acid applied to an object.
diff --git a/code/datums/components/aquarium.dm b/code/datums/components/aquarium.dm
index 11d6a9494b5..e417b5f54fc 100644
--- a/code/datums/components/aquarium.dm
+++ b/code/datums/components/aquarium.dm
@@ -27,13 +27,13 @@
var/list/used_layers = list()
///The minimum pixel x of the area where vis overlays should be displayed
- var/aquarium_zone_min_px
+ var/aquarium_zone_min_pw
///The maximum pixel x of the area where vis overlays should be displayed
- var/aquarium_zone_max_px
+ var/aquarium_zone_max_pw
///The minimum pixel y of the area where vis overlays should be displayed
- var/aquarium_zone_min_py
+ var/aquarium_zone_min_pz
///The maximum pixel y of the area where vis overlays should be displayed
- var/aquarium_zone_max_py
+ var/aquarium_zone_max_pz
///While the feed (reagent) storage is not empty, this is the interval which the fish are fed.
var/feeding_interval = 3 MINUTES
@@ -73,10 +73,10 @@
src.default_beauty = default_beauty
src.reagents_size = reagents_size
- aquarium_zone_min_px = min_px
- aquarium_zone_max_px = max_px
- aquarium_zone_min_py = min_py
- aquarium_zone_max_py = max_py
+ aquarium_zone_min_pw = min_px
+ aquarium_zone_max_pw = max_px
+ aquarium_zone_min_pz = min_py
+ aquarium_zone_max_pz = max_py
src.min_fluid_temp = min_fluid_temp
src.max_fluid_temp = max_fluid_temp
@@ -424,10 +424,10 @@
SIGNAL_HANDLER
used_layers -= visual.layer
visual.layer = request_layer(visual.layer_mode)
- visual.aquarium_zone_min_px = aquarium_zone_min_px
- visual.aquarium_zone_max_px = aquarium_zone_max_px
- visual.aquarium_zone_min_py = aquarium_zone_min_py
- visual.aquarium_zone_max_py = aquarium_zone_max_py
+ visual.aquarium_zone_min_pw = aquarium_zone_min_pw
+ visual.aquarium_zone_max_pw = aquarium_zone_max_pw
+ visual.aquarium_zone_min_pz = aquarium_zone_min_pz
+ visual.aquarium_zone_max_pz = aquarium_zone_max_pz
visual.fluid_type = fluid_type
/datum/component/aquarium/proc/request_layer(layer_type)
diff --git a/code/datums/components/aquarium_content.dm b/code/datums/components/aquarium_content.dm
index 87cd34571d4..f0a9204ef82 100644
--- a/code/datums/components/aquarium_content.dm
+++ b/code/datums/components/aquarium_content.dm
@@ -110,12 +110,12 @@
/// How the visual will be layered
var/layer_mode = AQUARIUM_LAYER_MODE_AUTO
///minimum pixel x, inherited from the aquarium
- var/aquarium_zone_min_px
+ var/aquarium_zone_min_pw
///maximum pixel x, inherited from the aquarium
- var/aquarium_zone_max_px
+ var/aquarium_zone_max_pw
///minimum pixel y, inherited from the aquarium
- var/aquarium_zone_min_py
+ var/aquarium_zone_min_pz
///maximum pixel y, inherited from the aquarium
- var/aquarium_zone_max_py
+ var/aquarium_zone_max_pz
///The current fluid type, inherited fom the aquarium
var/fluid_type
diff --git a/code/datums/components/basic_inhands.dm b/code/datums/components/basic_inhands.dm
index 4d286e4eed3..3315a298605 100644
--- a/code/datums/components/basic_inhands.dm
+++ b/code/datums/components/basic_inhands.dm
@@ -42,8 +42,8 @@
var/is_right = IS_RIGHT_INDEX(holding_mob.get_held_index_of_item(held))
var/icon_file = is_right ? held.righthand_file : held.lefthand_file
var/mutable_appearance/held_overlay = held.build_worn_icon(default_layer = HANDS_LAYER, default_icon_file = icon_file, isinhands = TRUE)
- held_overlay.pixel_y += y_offset
- held_overlay.pixel_x += x_offset * (is_right ? 1 : -1)
+ held_overlay.pixel_z += y_offset
+ held_overlay.pixel_w += x_offset * (is_right ? 1 : -1)
held_overlays += held_overlay
cached_overlays = held_overlays
diff --git a/code/datums/components/bayonet_attachable.dm b/code/datums/components/bayonet_attachable.dm
index 4b2442bea50..5e03f0cc225 100644
--- a/code/datums/components/bayonet_attachable.dm
+++ b/code/datums/components/bayonet_attachable.dm
@@ -178,8 +178,8 @@
return
var/mutable_appearance/bayonet_appearance = mutable_appearance(bayonet_overlay_icon, bayonet_overlay)
- bayonet_appearance.pixel_x = offset_x
- bayonet_appearance.pixel_y = offset_y
+ bayonet_appearance.pixel_w = offset_x
+ bayonet_appearance.pixel_z = offset_y
overlays += bayonet_appearance
/datum/component/bayonet_attachable/proc/on_update_icon_state(obj/item/source)
diff --git a/code/datums/components/burning.dm b/code/datums/components/burning.dm
index 7264689d13c..bd011537bcc 100644
--- a/code/datums/components/burning.dm
+++ b/code/datums/components/burning.dm
@@ -1,4 +1,4 @@
-GLOBAL_DATUM_INIT(fire_overlay, /mutable_appearance, mutable_appearance('icons/effects/fire.dmi', "fire", appearance_flags = RESET_COLOR))
+GLOBAL_DATUM_INIT(fire_overlay, /mutable_appearance, mutable_appearance('icons/effects/fire.dmi', "fire", appearance_flags = RESET_COLOR|KEEP_APART))
/**
* Component representing an atom being on fire.
diff --git a/code/datums/components/cleaner.dm b/code/datums/components/cleaner.dm
index 035f0c054db..de88ba08acd 100644
--- a/code/datums/components/cleaner.dm
+++ b/code/datums/components/cleaner.dm
@@ -99,10 +99,10 @@
var/mutable_appearance/low_bubble = mutable_appearance('icons/effects/effects.dmi', "bubbles", CLEANABLE_OBJECT_LAYER, target, GAME_PLANE)
var/mutable_appearance/high_bubble = mutable_appearance('icons/effects/effects.dmi', "bubbles", CLEANABLE_OBJECT_LAYER, target, ABOVE_GAME_PLANE)
var/list/icon_offsets = target.get_oversized_icon_offsets()
- low_bubble.pixel_x = icon_offsets["x"]
- low_bubble.pixel_y = icon_offsets["y"]
- high_bubble.pixel_x = icon_offsets["x"]
- high_bubble.pixel_y = icon_offsets["y"]
+ low_bubble.pixel_w = icon_offsets["x"]
+ low_bubble.pixel_z = icon_offsets["y"]
+ high_bubble.pixel_w = icon_offsets["x"]
+ high_bubble.pixel_z = icon_offsets["y"]
if(target.plane > low_bubble.plane) //check if the higher overlay is necessary
target.add_overlay(high_bubble)
else if(target.plane == low_bubble.plane)
diff --git a/code/datums/components/clickbox.dm b/code/datums/components/clickbox.dm
index 236b07c7eae..a8509a98ba6 100644
--- a/code/datums/components/clickbox.dm
+++ b/code/datums/components/clickbox.dm
@@ -77,8 +77,8 @@
clickbox_underlay = mutable_appearance('icons/ui/clickbox.dmi', clickbox_icon_state, CLICKBOX_LAYER, alpha = 1, appearance_flags = RESET_COLOR|RESET_ALPHA)
clickbox_underlay.transform = clickbox_underlay.transform.Scale(clickbox_width, clickbox_height)
//Keeps the underlay more or less centered.
- clickbox_underlay.pixel_x = x_offset * 1/clickbox_width
- clickbox_underlay.pixel_y = y_offset * 1/clickbox_height
+ clickbox_underlay.pixel_w = x_offset * 1/clickbox_width
+ clickbox_underlay.pixel_z = y_offset * 1/clickbox_height
mov_parent.underlays += clickbox_underlay
/datum/component/clickbox/proc/on_vv_modify_transform(atom/source)
diff --git a/code/datums/components/clothing_dirt.dm b/code/datums/components/clothing_dirt.dm
index a6cfcf88ff4..eed2eab5fb4 100644
--- a/code/datums/components/clothing_dirt.dm
+++ b/code/datums/components/clothing_dirt.dm
@@ -20,7 +20,7 @@
RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, PROC_REF(on_clean))
RegisterSignal(parent, COMSIG_ATOM_EXPOSE_REAGENTS, PROC_REF(on_expose), TRUE)
RegisterSignal(parent, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(on_overlays_updated))
- RegisterSignal(parent, COMSIG_ITEM_GET_WORN_OVERLAYS, PROC_REF(on_worn_overlays))
+ RegisterSignal(parent, COMSIG_ITEM_GET_SEPARATE_WORN_OVERLAYS, PROC_REF(on_separate_worn_overlays))
/datum/component/clothing_dirt/UnregisterFromParent()
var/obj/item/clothing/clothing = parent
@@ -37,6 +37,7 @@
COMSIG_MOB_UNEQUIPPED_ITEM,
COMSIG_COMPONENT_CLEAN_ACT,
COMSIG_ATOM_UPDATE_OVERLAYS,
+ COMSIG_ITEM_GET_SEPARATE_WORN_OVERLAYS,
))
return ..()
@@ -70,13 +71,13 @@
dirt_overlay.color = dirt_color
overlays += dirt_overlay
-/datum/component/clothing_dirt/proc/on_worn_overlays(obj/item/source, list/overlays, mutable_appearance/standing, isinhands, icon_file)
+/datum/component/clothing_dirt/proc/on_separate_worn_overlays(obj/item/source, list/overlays, mutable_appearance/standing, mutable_appearance/draw_target, isinhands, icon_file)
SIGNAL_HANDLER
if (isinhands || !dirtiness || !dirt_state || !(source.flags_cover & PEPPERPROOF))
return
- var/mutable_appearance/dirt_overlay = mutable_appearance(source.worn_icon, dirt_state, appearance_flags = KEEP_APART|RESET_COLOR)
+ var/mutable_appearance/dirt_overlay = mutable_appearance(source.worn_icon, dirt_state)
dirt_overlay.color = dirt_color
overlays += dirt_overlay
diff --git a/code/datums/components/crafting/_recipes.dm b/code/datums/components/crafting/_recipes.dm
index 31825ac6611..aaa22239065 100644
--- a/code/datums/components/crafting/_recipes.dm
+++ b/code/datums/components/crafting/_recipes.dm
@@ -98,13 +98,6 @@
/datum/crafting_recipe/proc/on_craft_completion(mob/user, atom/result)
return
-///Check if the pipe used for atmospheric device crafting is the proper one
-/datum/crafting_recipe/proc/atmos_pipe_check(mob/user, list/collected_requirements)
- var/obj/item/pipe/required_pipe = collected_requirements[/obj/item/pipe][1]
- if(ispath(required_pipe.pipe_type, /obj/machinery/atmospherics/pipe/smart))
- return TRUE
- return FALSE
-
/// Additional UI data to be passed to the crafting UI for this recipe
/datum/crafting_recipe/proc/crafting_ui_data()
return list()
diff --git a/code/datums/components/crafting/atmospheric.dm b/code/datums/components/crafting/atmospheric.dm
index 7b11df7bbb4..82e817be072 100644
--- a/code/datums/components/crafting/atmospheric.dm
+++ b/code/datums/components/crafting/atmospheric.dm
@@ -37,18 +37,22 @@
/obj/item/stack/sheet/iron = 1,
)
blacklist = list(/obj/item/analyzer/ranged)
+ category = CAT_ATMOSPHERIC
///abstract path for pipe crafting recipes that set the pipe_type of their results and have other checks as well
/datum/crafting_recipe/spec_pipe
var/pipe_type
/datum/crafting_recipe/spec_pipe/check_requirements(mob/user, list/collected_requirements)
- return atmos_pipe_check(user, collected_requirements)
+ var/obj/item/pipe/required_pipe = collected_requirements[/obj/item/pipe][1]
+ if(ispath(required_pipe.pipe_type, /obj/machinery/atmospherics/pipe/smart))
+ return TRUE
+ return FALSE
/datum/crafting_recipe/spec_pipe/on_craft_completion(mob/user, atom/result)
var/obj/item/pipe/crafted_pipe = result
crafted_pipe.pipe_type = pipe_type
- crafted_pipe.pipe_color = COLOR_VERY_LIGHT_GRAY
+ crafted_pipe.pipe_color = ATMOS_COLOR_OMNI
crafted_pipe.setDir(user.dir)
crafted_pipe.update()
@@ -237,17 +241,6 @@
)
category = CAT_ATMOSPHERIC
-/datum/crafting_recipe/elder_atmosian_statue
- name = "Elder Atmosian Statue"
- result = /obj/structure/statue/elder_atmosian
- time = 6 SECONDS
- reqs = list(
- /obj/item/stack/sheet/mineral/metal_hydrogen = 20,
- /obj/item/stack/sheet/mineral/zaukerite = 15,
- /obj/item/stack/sheet/iron = 30,
- )
- category = CAT_STRUCTURE
-
/datum/crafting_recipe/spec_pipe/airlock_pump
name = "External Airlock Pump"
tool_behaviors = list(TOOL_WRENCH, TOOL_WELDER)
diff --git a/code/datums/components/crafting/entertainment.dm b/code/datums/components/crafting/entertainment.dm
index 0602624dbb8..84d495d7539 100644
--- a/code/datums/components/crafting/entertainment.dm
+++ b/code/datums/components/crafting/entertainment.dm
@@ -248,7 +248,7 @@
/obj/item/clothing/gloves/latex = 1,
/obj/item/stack/cable_coil = 2,
)
- category = CAT_EQUIPMENT
+ category = CAT_ENTERTAINMENT
/datum/crafting_recipe/violin
name = "Violin"
diff --git a/code/datums/components/crafting/melee_weapon.dm b/code/datums/components/crafting/melee_weapon.dm
index a8805c56577..9c817ffa437 100644
--- a/code/datums/components/crafting/melee_weapon.dm
+++ b/code/datums/components/crafting/melee_weapon.dm
@@ -55,9 +55,7 @@
category = CAT_WEAPON_MELEE
/datum/crafting_recipe/balloon_mallet/check_requirements(mob/user, list/collected_requirements)
- . = ..()
- if(HAS_TRAIT(user, TRAIT_BALLOON_SUTRA))
- return TRUE
+ return HAS_TRAIT(user, TRAIT_BALLOON_SUTRA)
/datum/crafting_recipe/tailwhip
name = "Liz O' Nine Tails"
diff --git a/code/datums/components/crafting/ranged_weapon.dm b/code/datums/components/crafting/ranged_weapon.dm
index 3ce17b16b6f..64205b3d80d 100644
--- a/code/datums/components/crafting/ranged_weapon.dm
+++ b/code/datums/components/crafting/ranged_weapon.dm
@@ -439,3 +439,19 @@
tool_behaviors = list(TOOL_SCREWDRIVER)
time = 10 SECONDS
category = CAT_WEAPON_RANGED
+
+/datum/crafting_recipe/dimensional_bombcore
+ name = "Multi-Dimensional Payload"
+ result = /obj/item/bombcore/dimensional
+ reqs = list(
+ /obj/item/gibtonite = 1,
+ /obj/item/grenade/chem_grenade = 2,
+ /obj/item/assembly/signaler/anomaly/dimensional = 1,
+ )
+ parts = list(/obj/item/gibtonite = 1, /obj/item/grenade/chem_grenade = 2)
+ tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WELDER)
+ time = 12 SECONDS
+ category = CAT_WEAPON_RANGED
+ steps = list(
+ "use high quality gibtonite and advanced release or large grenades for better yield",
+ )
diff --git a/code/datums/components/crafting/structures.dm b/code/datums/components/crafting/structures.dm
index 7af26c0c89d..0332357f5f0 100644
--- a/code/datums/components/crafting/structures.dm
+++ b/code/datums/components/crafting/structures.dm
@@ -94,3 +94,14 @@
)
time = 120 SECONDS
category = CAT_STRUCTURE
+
+/datum/crafting_recipe/elder_atmosian_statue
+ name = "Elder Atmosian Statue"
+ result = /obj/structure/statue/elder_atmosian
+ time = 6 SECONDS
+ reqs = list(
+ /obj/item/stack/sheet/mineral/metal_hydrogen = 20,
+ /obj/item/stack/sheet/mineral/zaukerite = 15,
+ /obj/item/stack/sheet/iron = 30,
+ )
+ category = CAT_STRUCTURE
diff --git a/code/datums/components/crafting/tailoring.dm b/code/datums/components/crafting/tailoring.dm
index 050c7af0239..eb217803c3e 100644
--- a/code/datums/components/crafting/tailoring.dm
+++ b/code/datums/components/crafting/tailoring.dm
@@ -580,9 +580,7 @@
category = CAT_CLOTHING
/datum/crafting_recipe/balloon_helmet/check_requirements(mob/user, list/collected_requirements)
- . = ..()
- if(HAS_TRAIT(user, TRAIT_BALLOON_SUTRA))
- return TRUE
+ return HAS_TRAIT(user, TRAIT_BALLOON_SUTRA)
/datum/crafting_recipe/balloon_tophat
result = /obj/item/clothing/head/hats/tophat/balloon
@@ -593,9 +591,7 @@
category = CAT_CLOTHING
/datum/crafting_recipe/balloon_tophat/check_requirements(mob/user, list/collected_requirements)
- . = ..()
- if(HAS_TRAIT(user, TRAIT_BALLOON_SUTRA))
- return TRUE
+ return HAS_TRAIT(user, TRAIT_BALLOON_SUTRA)
/datum/crafting_recipe/balloon_vest
result = /obj/item/clothing/suit/armor/balloon_vest
@@ -606,9 +602,7 @@
category = CAT_CLOTHING
/datum/crafting_recipe/balloon_vest/check_requirements(mob/user, list/collected_requirements)
- . = ..()
- if(HAS_TRAIT(user, TRAIT_BALLOON_SUTRA))
- return TRUE
+ return HAS_TRAIT(user, TRAIT_BALLOON_SUTRA)
/datum/crafting_recipe/press_armor
name = "press armor vest"
diff --git a/code/datums/components/crafting/tools.dm b/code/datums/components/crafting/tools.dm
index beeee75169e..59ee1276d59 100644
--- a/code/datums/components/crafting/tools.dm
+++ b/code/datums/components/crafting/tools.dm
@@ -109,3 +109,13 @@
continue
if(crayon.use_charges(user, 10))
return
+
+/datum/crafting_recipe/makeshift_radio_jammer
+ name = "Makeshift Radio Jammer"
+ result = /obj/item/jammer/makeshift
+ reqs = list(
+ /obj/item/universal_scanner = 1,
+ /obj/item/encryptionkey = 1,
+ /obj/item/stack/cable_coil = 5,
+ )
+ category = CAT_TOOLS
diff --git a/code/datums/components/customizable_reagent_holder.dm b/code/datums/components/customizable_reagent_holder.dm
index fda64d6c256..e82633e62b1 100644
--- a/code/datums/components/customizable_reagent_holder.dm
+++ b/code/datums/components/customizable_reagent_holder.dm
@@ -160,15 +160,15 @@
switch(fill_type)
if(CUSTOM_INGREDIENT_ICON_SCATTER)
- filling.pixel_x = rand(-1,1)
+ filling.pixel_w = rand(-1,1)
filling.pixel_z = rand(-1,1)
if(CUSTOM_INGREDIENT_ICON_STACK)
- filling.pixel_x = rand(-1,1)
+ filling.pixel_w = rand(-1,1)
// we're gonna abuse position layering to ensure overlays render right
filling.pixel_y = -LAZYLEN(ingredients)
filling.pixel_z = 2 * LAZYLEN(ingredients) - 1 + LAZYLEN(ingredients)
if(CUSTOM_INGREDIENT_ICON_STACKPLUSTOP)
- filling.pixel_x = rand(-1,1)
+ filling.pixel_w = rand(-1,1)
// similar here
filling.pixel_y = -LAZYLEN(ingredients)
filling.pixel_z = 2 * LAZYLEN(ingredients) - 1 + LAZYLEN(ingredients)
@@ -186,7 +186,7 @@
atom_parent.cut_overlay(top_overlay)
top_overlay = filling
if(CUSTOM_INGREDIENT_ICON_LINE)
- filling.pixel_x = filling.pixel_z = rand(-8,3)
+ filling.pixel_w = filling.pixel_z = rand(-8,3)
atom_parent.add_overlay(filling)
diff --git a/code/datums/components/echolocation.dm b/code/datums/components/echolocation.dm
index 1568a573977..e7e2fab5a1a 100644
--- a/code/datums/components/echolocation.dm
+++ b/code/datums/components/echolocation.dm
@@ -16,7 +16,7 @@
/// This trait blocks us from receiving echolocation.
var/blocking_trait
/// Ref of the client color we give to the echolocator.
- var/client_color
+ var/client_colour
/// Associative list of receivers to lists of atoms they are rendering (those atoms are associated to data of the image and time they were rendered at).
var/list/receivers = list()
/// All the saved appearances, keyed by icon-icon_state.
@@ -59,10 +59,10 @@
src.show_own_outline = show_own_outline
src.echo_color = personal_color
// SKYRAT EDIT ADDITION END
- if(ispath(color_path))
- client_color = echolocator.add_client_colour(color_path)
src.echo_group = echo_group || REF(src)
- echolocator.add_traits(list(TRAIT_ECHOLOCATION_RECEIVER, TRAIT_TRUE_NIGHT_VISION), echo_group) //so they see all the tiles they echolocated, even if they are in the dark
+ if(ispath(color_path))
+ client_colour = echolocator.add_client_colour(color_path, src.echo_group)
+ echolocator.add_traits(list(TRAIT_ECHOLOCATION_RECEIVER, TRAIT_TRUE_NIGHT_VISION), src.echo_group) //so they see all the tiles they echolocated, even if they are in the dark
echolocator.become_blind(ECHOLOCATION_TRAIT)
// SKYRAT EDIT ADDITION START
if (use_echo) // add constructor toggle to not use the eye overlay
@@ -73,7 +73,7 @@
/datum/component/echolocation/Destroy(force)
STOP_PROCESSING(SSfastprocess, src)
var/mob/living/echolocator = parent
- QDEL_NULL(client_color)
+ QDEL_NULL(client_colour)
echolocator.remove_traits(list(TRAIT_ECHOLOCATION_RECEIVER, TRAIT_TRUE_NIGHT_VISION), echo_group)
echolocator.cure_blind(ECHOLOCATION_TRAIT)
echolocator.clear_fullscreen("echo")
diff --git a/code/datums/components/fearful/effects.dm b/code/datums/components/fearful/effects.dm
new file mode 100644
index 00000000000..ab079102917
--- /dev/null
+++ b/code/datums/components/fearful/effects.dm
@@ -0,0 +1,167 @@
+// Terror effect handlers
+
+#define FEAR_SCALING(base, min, max) clamp(base * (terror_buildup - min) / (max - min), 0, base)
+
+/// Causes mild jittering, scaling with current terror level
+/datum/terror_handler/jittering
+ handler_type = TERROR_HANDLER_EFFECT
+ default = TRUE
+ COOLDOWN_DECLARE(message_cd)
+
+/datum/terror_handler/jittering/tick(seconds_per_tick, terror_buildup)
+ . = ..()
+ if (owner.stat >= UNCONSCIOUS)
+ return
+
+ if (terror_buildup < TERROR_BUILDUP_FEAR)
+ return
+
+ // If we're terrified, keep constant jittering and dizzyness
+ if (terror_buildup > TERROR_BUILDUP_TERROR)
+ owner.adjust_dizzy_up_to(10 SECONDS * seconds_per_tick, 10 SECONDS)
+ owner.adjust_jitter_up_to(10 SECONDS * seconds_per_tick, 10 SECONDS)
+ return
+
+ if (!SPT_PROB(1 + FEAR_SCALING(4, TERROR_BUILDUP_FEAR, TERROR_BUILDUP_TERROR), seconds_per_tick)) // 1% to 5% chance
+ return
+
+ if (COOLDOWN_FINISHED(src, message_cd) && !owner.has_status_effect(/datum/status_effect/jitter)) // Don't display the message if we're already shaking
+ to_chat(owner, span_warning("You can't stop shaking..."))
+ COOLDOWN_START(src, message_cd, TERROR_MESSAGE_CD)
+
+ owner.set_jitter_if_lower(20 SECONDS)
+ owner.set_dizzy_if_lower(20 SECONDS)
+
+/// Stutter when afraid
+/datum/terror_handler/stuttering
+ handler_type = TERROR_HANDLER_EFFECT
+ default = TRUE
+
+/datum/terror_handler/stuttering/tick(seconds_per_tick, terror_buildup)
+ . = ..()
+ if (owner.stat >= UNCONSCIOUS)
+ return
+
+ if (terror_buildup < TERROR_BUILDUP_FEAR)
+ return
+
+ if (terror_buildup > TERROR_BUILDUP_TERROR || SPT_PROB(1 + FEAR_SCALING(4, TERROR_BUILDUP_FEAR, TERROR_BUILDUP_TERROR), seconds_per_tick))
+ owner.set_stutter_if_lower(10 SECONDS)
+
+/// Can randomly give you some oxyloss, and cause a heart attack past TERROR_BUILDUP_HEART_ATTACK
+/datum/terror_handler/heart_problems
+ handler_type = TERROR_HANDLER_EFFECT
+ default = TRUE
+ COOLDOWN_DECLARE(effect_cd)
+
+/datum/terror_handler/heart_problems/tick(seconds_per_tick, terror_buildup)
+ . = ..()
+ if (owner.stat >= UNCONSCIOUS)
+ return
+
+ if (terror_buildup < TERROR_BUILDUP_FEAR)
+ return
+
+ if (!SPT_PROB(1 + FEAR_SCALING(4, TERROR_BUILDUP_FEAR, TERROR_BUILDUP_PANIC), seconds_per_tick)) // 1% to 5% chance
+ return
+
+ if (terror_buildup < TERROR_BUILDUP_HEART_ATTACK || !prob(15))
+ owner.adjustOxyLoss(8)
+ if (terror_buildup < TERROR_BUILDUP_FEAR)
+ to_chat(owner, span_warning("Your heart skips a beat."))
+ else
+ to_chat(owner, span_userdanger("You feel your heart lurching in your chest..."))
+ return
+
+ owner.visible_message(
+ span_warning("[owner] clutches [owner.p_their()] chest for a moment, then collapses to the floor."),
+ span_alert("The shadows begin to creep up from the corners of your vision, and then there is nothing..."),
+ span_hear("You hear something heavy collide with the ground."),
+ )
+ var/datum/disease/heart_failure/heart_attack = new(src)
+ heart_attack.stage_prob = 2 //Advances twice as fast
+ owner.ForceContractDisease(heart_attack)
+ owner.Unconscious(20 SECONDS)
+
+/// Low chance to vomit when terrified, increases significantly during panic attacks
+/datum/terror_handler/vomiting
+ handler_type = TERROR_HANDLER_EFFECT
+
+/datum/terror_handler/vomiting/tick(seconds_per_tick, terror_buildup)
+ . = ..()
+ if (owner.stat >= UNCONSCIOUS)
+ return
+
+ if (terror_buildup < TERROR_BUILDUP_TERROR)
+ return
+
+ if (SPT_PROB((terror_buildup >= TERROR_BUILDUP_PANIC) ? 3 : 1, seconds_per_tick))
+ to_chat(owner, span_warning("You feel sick..."))
+ // Vomit blood if we're *really* freaking out
+ addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob/living/carbon, vomit), terror_buildup >= TERROR_BUILDUP_PASSIVE_MAXIMUM), 5 SECONDS)
+
+/// Causes tunnel vision, blurry eyes and periodic panic attacks when panicking
+/datum/terror_handler/panic
+ handler_type = TERROR_HANDLER_EFFECT
+ default = TRUE
+ /// Has the panic message been shown yet?
+ var/active = FALSE
+ /// Are we in a state of a panic attack currently? Only really used for tracking our breath loop
+ var/active_attack = FALSE
+ /// Breath loop used during a panic attack
+ var/datum/looping_sound/breathing/breath_loop
+
+/datum/terror_handler/panic/New(mob/living/new_owner, datum/component/fearful/new_component)
+ . = ..()
+ breath_loop = new(owner, _direct = TRUE)
+
+/datum/terror_handler/panic/Destroy(force)
+ owner.remove_fov_trait(type, FOV_270_DEGREES)
+ QDEL_NULL(breath_loop)
+ return ..()
+
+/datum/terror_handler/panic/tick(seconds_per_tick, terror_buildup)
+ . = ..()
+ if (owner.stat >= UNCONSCIOUS)
+ active_attack = FALSE
+ active = FALSE
+ owner.remove_fov_trait(type, FOV_270_DEGREES)
+ return
+
+ if (terror_buildup < TERROR_BUILDUP_PANIC)
+ if (active_attack) // No you don't
+ return TERROR_BUILDUP_PANIC - terror_buildup
+ active = FALSE
+ owner.remove_fov_trait(type, FOV_270_DEGREES)
+ return
+
+ if (!active)
+ active = TRUE
+ to_chat(owner, span_userdanger("You feel your heart racing!"))
+ owner.add_fov_trait(type, FOV_270_DEGREES) // Terror induced tunnel vision
+
+ owner.playsound_local(owner, 'sound/effects/health/slowbeat.ogg', 40, FALSE, channel = CHANNEL_HEARTBEAT, use_reverb = FALSE)
+ if (SPT_PROB(5, seconds_per_tick))
+ owner.set_eye_blur_if_lower(10 SECONDS)
+
+ if (active_attack)
+ owner.losebreath += 0.25 // Miss 1/4 breaths
+ return
+
+ if (SPT_PROB(2 + FEAR_SCALING(3, TERROR_BUILDUP_PANIC, TERROR_BUILDUP_MAXIMUM), seconds_per_tick))
+ . += panic_attack(terror_buildup)
+
+/datum/terror_handler/panic/proc/panic_attack(terror_buildup)
+ active_attack = TRUE
+ owner.emote("gasp")
+ owner.Knockdown(0.5 SECONDS)
+ breath_loop.start()
+ addtimer(CALLBACK(src, PROC_REF(stop_panic_attack)), rand(3 SECONDS, 5 SECONDS))
+ owner.visible_message(span_warning("[owner] drops to the floor for a moment, clutching their chest."), span_alert("Your heart lurches in your chest. You can't take much more of this!"))
+ return PANIC_ATTACK_TERROR_AMOUNT
+
+/datum/terror_handler/panic/proc/stop_panic_attack()
+ breath_loop.stop()
+ active_attack = FALSE
+
+#undef FEAR_SCALING
diff --git a/code/datums/components/fearful/fearful.dm b/code/datums/components/fearful/fearful.dm
new file mode 100644
index 00000000000..61ee21397f5
--- /dev/null
+++ b/code/datums/components/fearful/fearful.dm
@@ -0,0 +1,195 @@
+/// Fearful component: provides optional handling of fears and phobias for mob's mood
+/// Can be applied from multiple sources, and essentially serves as a central controller for fear datums described below
+
+/datum/component/fearful
+ dupe_mode = COMPONENT_DUPE_SOURCES
+
+ /// How terrified is the source?
+ var/terror_buildup = 0
+ /// List of terror handlers we currently have -> sources they're added by
+ var/list/terror_handlers = list()
+ /// List of overriden handler types, for ease of access
+ var/list/list/overriden_handlers = list()
+ /// How much buildup we had last tick? Used for non-ticking terror source tracking
+ var/last_tick_buildup = 0
+
+/*
+ * handler_types - terror_handler(s) to add to the mob
+ * initial_buildup - amount of fear to add to mob from getting scared shitless by whatever added the component
+ * add_defaults - should terror handlers marked as "default" be added to the mob?
+ */
+/datum/component/fearful/Initialize(list/handler_types, initial_buildup, add_defaults = TRUE)
+ . = ..()
+ if (!isliving(parent))
+ return COMPONENT_INCOMPATIBLE
+
+ START_PROCESSING(SSdcs, src)
+ terror_buildup = initial_buildup
+
+ if (!add_defaults)
+ return
+
+ for (var/datum/terror_handler/handler as anything in subtypesof(/datum/terror_handler))
+ if (!initial(handler.default))
+ continue
+ add_handler(handler, "default")
+
+/datum/component/fearful/Destroy(force)
+ STOP_PROCESSING(SSdcs, src)
+ QDEL_LIST(terror_handlers)
+ return ..()
+
+/datum/component/fearful/RegisterWithParent()
+ . = ..()
+ RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
+ RegisterSignal(parent, COMSIG_CARBON_PRE_MISC_HELP, PROC_REF(comfort_owner))
+ RegisterSignal(parent, SIGNAL_ADDTRAIT(TRAIT_FEARLESS), PROC_REF(fearless_added))
+ RegisterSignal(parent, COMSIG_CARBON_MOOD_CHECK, PROC_REF(on_mood_check))
+
+/datum/component/fearful/UnregisterFromParent()
+ . = ..()
+ UnregisterSignal(parent, list(COMSIG_ATOM_EXAMINE, COMSIG_CARBON_PRE_MISC_HELP, SIGNAL_ADDTRAIT(TRAIT_FEARLESS), COMSIG_CARBON_MOOD_CHECK))
+
+/datum/component/fearful/on_source_add(source, list/handler_types, initial_buildup, add_defaults = TRUE)
+ . = ..()
+ terror_buildup = clamp(terror_buildup + initial_buildup, 0, TERROR_BUILDUP_MAXIMUM)
+ for (var/handler_type in handler_types)
+ add_handler(handler_type, source)
+
+/datum/component/fearful/on_source_remove(source)
+ for (var/datum/terror_handler/handler as anything in terror_handlers)
+ terror_handlers[handler] -= source
+ if (length(terror_handlers[handler]))
+ continue
+ terror_handlers -= handler
+ for (var/override_type in handler.overrides)
+ if (!overriden_handlers[override_type])
+ continue
+ overriden_handlers[override_type] -= handler.type
+ if (!length(overriden_handlers[override_type]))
+ overriden_handlers -= override_type
+ qdel(handler)
+ return ..()
+
+/datum/component/fearful/proc/add_handler(handler_type, source)
+ for (var/datum/terror_handler/existing as anything in terror_handlers)
+ if (existing.type == handler_type)
+ terror_handlers[existing] += source
+ return
+
+ var/datum/terror_handler/handler = new handler_type(parent, src)
+ terror_handlers[handler] = list(source)
+ for (var/override_type in handler.overrides)
+ if (!overriden_handlers[override_type])
+ overriden_handlers[override_type] = list()
+ overriden_handlers[override_type][handler_type] = TRUE
+
+/datum/component/fearful/process(seconds_per_tick)
+ var/terror_adjustment = 0
+ var/list/tick_later = list()
+ for (var/datum/terror_handler/handler as anything in terror_handlers)
+ if (overriden_handlers[handler.type])
+ continue
+ if (handler.handler_type == TERROR_HANDLER_EFFECT)
+ tick_later += handler
+ continue
+ var/adjustment = handler.tick(seconds_per_tick, terror_buildup)
+ terror_buildup = clamp(terror_buildup + adjustment, 0, TERROR_BUILDUP_MAXIMUM)
+ terror_adjustment += adjustment
+
+ for (var/datum/terror_handler/handler as anything in tick_later)
+ var/adjustment = handler.tick(seconds_per_tick, terror_buildup)
+ terror_buildup = clamp(terror_buildup + adjustment, 0, TERROR_BUILDUP_MAXIMUM)
+ terror_adjustment += adjustment
+
+ // If we gained terror in any way, don't tick it down
+ if (terror_adjustment > 0 || terror_buildup > last_tick_buildup)
+ last_tick_buildup = terror_buildup
+ return
+
+ // Tick terror down while we're not being actively spooked
+ if (terror_buildup > 0)
+ terror_buildup = max(terror_buildup - TERROR_BUILDUP_PASSIVE_DECREASE, 0)
+ last_tick_buildup = terror_buildup
+
+/datum/component/fearful/proc/on_examine(mob/living/source, mob/user, list/examine_list)
+ SIGNAL_HANDLER
+
+ if (source.stat >= UNCONSCIOUS)
+ return
+
+ if(terror_buildup >= TERROR_BUILDUP_HEART_ATTACK)
+ examine_list += span_danger("[source.p_They()] [source.p_are()] are seizing up, about to collapse in fear!")
+ else if(terror_buildup > TERROR_BUILDUP_PANIC)
+ examine_list += span_boldwarning("[source.p_They()] [source.p_are()] are trembling and shaking, barely standing upright!")
+ else if(terror_buildup >= TERROR_BUILDUP_TERROR)
+ examine_list += span_boldwarning("[source] is visibly trembling and twitching. [source.p_They()] [source.p_are()] are clearly in distress!")
+ else if(terror_buildup >= TERROR_BUILDUP_FEAR)
+ examine_list += span_warning("[source] looks very worried about something. [capitalize(source.p_are())] [source.p_they()] alright?")
+ else if (terror_buildup)
+ examine_list += span_smallnotice("[source] looks rather anxious. [source.p_They()] could probably use a hug...")
+
+/datum/component/fearful/proc/comfort_owner(mob/living/carbon/source, mob/living/hugger)
+ SIGNAL_HANDLER
+
+ if(hugger == parent)
+ return
+
+ if(isnightmare(hugger))
+ var/lit_tiles = 0
+ var/unlit_tiles = 0
+
+ for(var/turf/open/turf_to_check in range(1, source))
+ var/light_amount = turf_to_check.get_lumcount()
+ if(light_amount > LIGHTING_TILE_IS_DARK)
+ lit_tiles++
+ else
+ unlit_tiles++
+
+ if(lit_tiles < unlit_tiles)
+ source.Knockdown(0.5 SECONDS)
+ terror_buildup += HUG_TERROR_AMOUNT
+ source.visible_message(
+ span_warning("[source] recoils in fear as [hugger] waves [hugger.p_their()] arms and shrieks at [source.p_them()]!"),
+ span_boldwarning("The shadows lash out at you, and you drop to the ground in fear!"),
+ span_hear("You hear someone shriek in fear. How embarassing!"),
+ )
+ return COMPONENT_BLOCK_MISC_HELP
+
+ for (var/datum/brain_trauma/mild/phobia/phobia in source.get_traumas())
+ if (!phobia.is_scary_mob(hugger))
+ continue
+
+ terror_buildup += HUG_TERROR_AMOUNT
+ source.visible_message(
+ span_warning("[source] recoils in fear as [hugger] attempts to hug [source.p_them()]!"),
+ span_boldwarning("You recoil in terror as [hugger] attempts to hug you!"),
+ span_hear("You hear someone shriek in fear. How embarassing!"),
+ )
+ return COMPONENT_BLOCK_MISC_HELP
+
+ terror_buildup -= HUG_TERROR_AMOUNT
+ source.visible_message(
+ span_notice("[source] seems to relax as [hugger] gives [source.p_them()] a comforting hug."),
+ span_nicegreen("You feel yourself calm down as [hugger] gives you a reassuring hug."),
+ span_hear("You hear shuffling and a sigh of relief."),
+ )
+
+/// Remove all terror buildup when we become fearless
+/datum/component/fearful/proc/fearless_added(datum/source)
+ SIGNAL_HANDLER
+ terror_buildup = 0
+
+/datum/component/fearful/proc/on_mood_check(mob/living/source, list/mood_list)
+ SIGNAL_HANDLER
+
+ if(terror_buildup >= TERROR_BUILDUP_HEART_ATTACK)
+ mood_list += span_boldwarning("You are about to collapse in fear!")
+ else if(terror_buildup > TERROR_BUILDUP_PANIC)
+ mood_list += span_boldwarning("You are shaking in fear!")
+ else if(terror_buildup >= TERROR_BUILDUP_TERROR)
+ mood_list += span_warning("You are trembling in fear.")
+ else if(terror_buildup >= TERROR_BUILDUP_FEAR)
+ mood_list += span_warning("You feel scared.")
+ else if (terror_buildup)
+ mood_list += span_notice("You feel on the edge.")
diff --git a/code/datums/components/fearful/sources.dm b/code/datums/components/fearful/sources.dm
new file mode 100644
index 00000000000..c0fd104c9c8
--- /dev/null
+++ b/code/datums/components/fearful/sources.dm
@@ -0,0 +1,168 @@
+// Terror source handlers
+/// Simple source which passively increases terror based on a single condition and can do something when its added/removed
+/datum/terror_handler/simple_source
+ handler_type = TERROR_HANDLER_SOURCE
+ /// How much terror is added per second
+ var/buildup_per_second = 10
+ /// Have we already applied our effects?
+ var/active = FALSE
+
+/datum/terror_handler/simple_source/tick(seconds_per_tick, terror_buildup)
+ . = ..()
+ if (check_condition(seconds_per_tick, terror_buildup) && terror_buildup < TERROR_BUILDUP_PASSIVE_MAXIMUM)
+ if (!active)
+ on_activation(terror_buildup)
+ . += min(buildup_per_second * seconds_per_tick, TERROR_BUILDUP_PASSIVE_MAXIMUM - terror_buildup)
+ else if (active)
+ on_deactivation(terror_buildup)
+
+/// Proc that children should override with their conditions
+/datum/terror_handler/simple_source/proc/check_condition(seconds_per_tick, terror_buildup)
+ return !HAS_TRAIT(owner, TRAIT_FEARLESS) && !HAS_TRAIT(owner, TRAIT_MIND_TEMPORARILY_GONE) && owner.stat < UNCONSCIOUS
+
+/// Proc that's called when the effect is first applied, for moodlets and alike
+/datum/terror_handler/simple_source/proc/on_activation(terror_buildup)
+ active = TRUE
+
+/// Proc that's called when the effect stops working, for moodlets and alike
+/datum/terror_handler/simple_source/proc/on_deactivation(terror_buildup)
+ active = FALSE
+
+/// Makes the owner terrified of darkness
+/datum/terror_handler/simple_source/nyctophobia
+ buildup_per_second = 5 // Takes about two minutes to reach maximum
+ /// Are we counteracted by mesons?
+ var/meson_negated = TRUE
+
+/datum/terror_handler/simple_source/nyctophobia/Destroy(force)
+ owner.clear_mood_event("nyctophobia")
+ return ..()
+
+/datum/terror_handler/simple_source/nyctophobia/check_condition(seconds_per_tick, terror_buildup)
+ . = ..()
+ if (!.)
+ return
+
+ if (ishuman(owner))
+ var/mob/living/carbon/human/as_human = owner
+ if(as_human.dna?.species.id in list(SPECIES_SHADOW, SPECIES_NIGHTMARE))
+ return FALSE
+
+ if (meson_negated && (owner.sight & SEE_TURFS))
+ return FALSE
+
+ var/lit_tiles = 0
+ var/unlit_tiles = 0
+
+ for (var/turf/open/turf_to_check in range(1, owner))
+ var/light_amount = turf_to_check.get_lumcount()
+ if (light_amount > LIGHTING_TILE_IS_DARK)
+ lit_tiles++
+ else
+ unlit_tiles++
+
+ return lit_tiles < unlit_tiles
+
+/datum/terror_handler/simple_source/nyctophobia/on_activation(terror_buildup)
+ . = ..()
+ owner.add_mood_event("nyctophobia", /datum/mood_event/nyctophobia)
+
+/datum/terror_handler/simple_source/nyctophobia/on_deactivation(terror_buildup)
+ . = ..()
+ owner.clear_mood_event("nyctophobia")
+
+// Nightmare spell version with quicker buildup that shadows the quirk one, also handles removing the status upon reaching 0 terror
+/datum/terror_handler/simple_source/nyctophobia/terrified
+ // Takes about 30 seconds to reach maximum if you include 100 from casting the spell
+ buildup_per_second = 15
+ // Overrides the base type with slower buildup
+ overrides = list(/datum/terror_handler/simple_source/nyctophobia)
+ meson_negated = FALSE
+
+/datum/terror_handler/simple_source/nyctophobia/terrified/tick(seconds_per_tick, terror_buildup)
+ . = ..()
+ if (terror_buildup == 0 && !.)
+ owner.RemoveComponentSource("terrified", /datum/component/fearful)
+
+/// Makes the owner afraid of being stuck in closets, crates, mechs, etc
+/datum/terror_handler/simple_source/claustrophobia
+ buildup_per_second = 15
+
+/datum/terror_handler/simple_source/claustrophobia/Destroy(force)
+ owner.clear_mood_event("claustrophobia")
+ return ..()
+
+/datum/terror_handler/simple_source/claustrophobia/check_condition(seconds_per_tick, terror_buildup)
+ . = ..()
+ if (!.)
+ return
+
+ if (isturf(owner.loc))
+ return FALSE
+
+ if (SPT_PROB(15, seconds_per_tick))
+ to_chat(owner, span_warning("You feel trapped! Must escape... can't breathe..."))
+
+ return TRUE
+
+/datum/terror_handler/simple_source/claustrophobia/on_activation(terror_buildup)
+ . = ..()
+ owner.add_mood_event("claustrophobia", /datum/mood_event/claustrophobia)
+
+/datum/terror_handler/simple_source/claustrophobia/on_deactivation(terror_buildup)
+ . = ..()
+ owner.clear_mood_event("claustrophobia")
+
+/// Makes the owner afraid of certain jolly figures
+/datum/terror_handler/simple_source/clausophobia
+ buildup_per_second = 20
+
+/datum/terror_handler/simple_source/clausophobia/check_condition(seconds_per_tick, terror_buildup)
+ . = ..()
+ if (!.)
+ return
+
+ var/certified_jolly = FALSE
+
+ for(var/mob/living/carbon/human/possible_claus in view(5, owner))
+ if(istype(possible_claus.back, /obj/item/storage/backpack/santabag))
+ certified_jolly = TRUE
+ break
+
+ if(istype(possible_claus.head, /obj/item/clothing/head/costume/santa) || istype(possible_claus.head, /obj/item/clothing/head/helmet/space/santahat))
+ certified_jolly = TRUE
+ break
+
+ if(istype(possible_claus.wear_suit, /obj/item/clothing/suit/space/santa))
+ certified_jolly = TRUE
+ break
+
+ if (!certified_jolly)
+ return FALSE
+
+ if (SPT_PROB(15, seconds_per_tick))
+ to_chat(owner, span_warning("Santa Claus is here! I gotta get out of here!"))
+
+ return TRUE
+
+/// Makes the owner afraid of being alone
+/datum/terror_handler/simple_source/monophobia
+ buildup_per_second = 2.5 // Pretty low, ~4 minutes to reach passive cap
+
+/datum/terror_handler/simple_source/monophobia/check_condition(seconds_per_tick, terror_buildup)
+ . = ..()
+ if (!.)
+ return
+
+ var/check_radius = 7
+ if (owner.is_blind())
+ check_radius = 1
+
+ for (var/mob/living/friend in view(check_radius, owner))
+ if (friend == owner)
+ continue
+
+ if (istype(friend, /mob/living/basic/pet) || friend.ckey)
+ return FALSE
+
+ return TRUE
diff --git a/code/datums/components/fearful/terror_handler.dm b/code/datums/components/fearful/terror_handler.dm
new file mode 100644
index 00000000000..93aa6a6c5b1
--- /dev/null
+++ b/code/datums/components/fearful/terror_handler.dm
@@ -0,0 +1,27 @@
+/// Terror handlers, aka datums which determine current fear behaviors.
+/// Separated into two groups, fear sources and fear effects, latter processing after all former are finished
+/datum/terror_handler
+ /// Owner of this fear handler
+ var/mob/living/owner
+ /// Component which "houses" this handler
+ var/datum/component/fearful/component
+ /// Type of this handler, determines if it should run in the first or second batch
+ var/handler_type = TERROR_HANDLER_SOURCE
+ /// Is this a "default" handler? If so, it will be added to any fearful component unless its initialized with add_defaults = FALSE
+ var/default = FALSE
+ /// Other effects which should be disabled while this one is running
+ var/list/overrides
+
+/datum/terror_handler/New(mob/living/new_owner, datum/component/fearful/new_component)
+ . = ..()
+ owner = new_owner
+ component = new_component
+
+/datum/terror_handler/Destroy(force)
+ owner = null
+ component = null
+ return ..()
+
+/// Single tick of terror handler, returns adjustment to terror buildup
+/datum/terror_handler/proc/tick(seconds_per_tick, terror_buildup)
+ return 0
diff --git a/code/datums/components/fishing_spot.dm b/code/datums/components/fishing_spot.dm
index ebf885f14d4..127f542f561 100644
--- a/code/datums/components/fishing_spot.dm
+++ b/code/datums/components/fishing_spot.dm
@@ -82,6 +82,6 @@
var/obj/machinery/fishing_portal_generator/portal = tool.buffer
return portal.link_fishing_spot(fish_source, source, user)
-/datum/component/fishing_spot/proc/fish_released(datum/source, obj/item/fish/fish, mob/living/releaser)
+/datum/component/fishing_spot/proc/fish_released(atom/source, obj/item/fish/fish, mob/living/releaser)
SIGNAL_HANDLER
- fish_source.readd_fish(fish, releaser)
+ fish_source.readd_fish(source, fish, releaser)
diff --git a/code/datums/components/food/germ_sensitive.dm b/code/datums/components/food/germ_sensitive.dm
index 85b6f0a3713..17040ad3806 100644
--- a/code/datums/components/food/germ_sensitive.dm
+++ b/code/datums/components/food/germ_sensitive.dm
@@ -5,9 +5,9 @@
/// Possible diseases
GLOBAL_LIST_INIT(floor_diseases, list(
- /datum/disease/advance/nebula_nausea = 2,
- /datum/disease/advance/gastritium = 2,
- /datum/disease/advance/carpellosis = 1,
+ /datum/disease/nebula_nausea = 2,
+ /datum/disease/gastritium = 2,
+ /datum/disease/carpellosis = 1,
))
/// Makes items infective if left on floor, also sending corresponding signals to parent
diff --git a/code/datums/components/food/ice_cream_holder.dm b/code/datums/components/food/ice_cream_holder.dm
index 4161c749703..d509a15484b 100644
--- a/code/datums/components/food/ice_cream_holder.dm
+++ b/code/datums/components/food/ice_cream_holder.dm
@@ -137,8 +137,8 @@
var/image/overlay = scoop_overlays[i]
if(istext(overlay))
overlay = image('icons/obj/service/kitchen.dmi', overlay)
- overlay.pixel_x = x_offset
- overlay.pixel_y = y_offset + added_offset
+ overlay.pixel_w = x_offset
+ overlay.pixel_z = y_offset + added_offset
new_overlays += overlay
added_offset += ICE_CREAM_SCOOP_OFFSET
diff --git a/code/datums/components/fov_handler.dm b/code/datums/components/fov_handler.dm
index 9f64c648502..eb67a90db3f 100644
--- a/code/datums/components/fov_handler.dm
+++ b/code/datums/components/fov_handler.dm
@@ -40,7 +40,7 @@
/datum/component/fov_handler/proc/set_fov_angle(new_angle)
fov_angle = new_angle
- blocker_mask.icon_state = "[fov_angle]"
+ blocker_mask.icon_state = "[fov_angle > 0 ? fov_angle : (360 + fov_angle)]"
/// Updates the size of the FOV masks by comparing them to client view size.
/datum/component/fov_handler/proc/update_fov_size()
@@ -61,6 +61,9 @@
var/y_scale = view_size[2] / current_fov_y
current_fov_x = view_size[1]
current_fov_y = view_size[2]
+ if (fov_angle < 0)
+ x_scale *= -1
+ y_scale *= -1
blocker_mask.transform = new_matrix.Scale(x_scale, y_scale)
blocker_mask.transform = new_matrix.Translate(x_shift * 16, y_shift * 16)
diff --git a/code/datums/components/fullauto.dm b/code/datums/components/fullauto.dm
index e93e0f54129..61a21666677 100644
--- a/code/datums/components/fullauto.dm
+++ b/code/datums/components/fullauto.dm
@@ -275,7 +275,7 @@
// Gun procs.
/obj/item/gun/proc/on_autofire_start(mob/living/shooter)
- if(semicd || shooter.incapacitated || !can_trigger_gun(shooter))
+ if(fire_cd || shooter.incapacitated || !can_trigger_gun(shooter))
return FALSE
if(!can_shoot())
shoot_with_empty_chamber(shooter)
@@ -295,7 +295,7 @@
/obj/item/gun/proc/do_autofire(datum/source, atom/target, mob/living/shooter, allow_akimbo, params)
SIGNAL_HANDLER
- if(semicd || shooter.incapacitated)
+ if(fire_cd || shooter.incapacitated)
return NONE
if(!can_shoot())
shoot_with_empty_chamber(shooter)
diff --git a/code/datums/components/hat_stabilizer.dm b/code/datums/components/hat_stabilizer.dm
index 5a9844811c6..2a11d248b86 100644
--- a/code/datums/components/hat_stabilizer.dm
+++ b/code/datums/components/hat_stabilizer.dm
@@ -10,10 +10,10 @@
var/former_visor_flags
/// If true, add_overlay will use worn overlay instead of item appearance
var/use_worn_icon = TRUE
- /// Pixel_y offset for the hat
- var/pixel_y_offset
+ /// Pixel z offset for the hat
+ var/pixel_z_offset
-/datum/component/hat_stabilizer/Initialize(use_worn_icon = FALSE, pixel_y_offset = 0, loose_hat = FALSE)
+/datum/component/hat_stabilizer/Initialize(use_worn_icon = FALSE, pixel_z_offset = 0, loose_hat = FALSE)
if(!ismovable(parent))
return COMPONENT_INCOMPATIBLE
@@ -21,7 +21,7 @@
source.flags_1 |= HAS_CONTEXTUAL_SCREENTIPS_1
src.use_worn_icon = use_worn_icon
- src.pixel_y_offset = pixel_y_offset
+ src.pixel_z_offset = pixel_z_offset
src.loose_hat = loose_hat
// Examine signals
RegisterSignal(source, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
@@ -36,12 +36,13 @@
RegisterSignal(source, COMSIG_ATOM_ATTACK_HAND_SECONDARY, PROC_REF(on_secondary_attack_hand))
// Overlays
- RegisterSignals(source, list(COMSIG_MODULE_GENERATE_WORN_OVERLAY, COMSIG_ITEM_GET_WORN_OVERLAYS), PROC_REF(get_worn_overlays))
+ RegisterSignal(source, COMSIG_MODULE_GENERATE_WORN_OVERLAY, PROC_REF(get_worn_overlays))
+ RegisterSignal(source, COMSIG_ITEM_GET_SEPARATE_WORN_OVERLAYS, PROC_REF(get_separate_worn_overlays))
RegisterSignal(source, COMSIG_QDELETING, PROC_REF(on_qdel))
// Inherit the new values passed to the component
-/datum/component/hat_stabilizer/InheritComponent(datum/component/hat_stabilizer/new_comp, original, use_worn_icon, pixel_y_offset, loose_hat)
+/datum/component/hat_stabilizer/InheritComponent(datum/component/hat_stabilizer/new_comp, original, use_worn_icon, pixel_z_offset, loose_hat)
if(!original)
return
@@ -49,8 +50,8 @@
src.use_worn_icon = use_worn_icon
if(!isnull(use_worn_icon))
src.use_worn_icon = use_worn_icon
- if(!isnull(pixel_y_offset))
- src.pixel_y_offset = pixel_y_offset
+ if(!isnull(pixel_z_offset))
+ src.pixel_z_offset = pixel_z_offset
if(!isnull(loose_hat))
src.loose_hat = loose_hat
@@ -59,7 +60,7 @@
remove_hat()
UnregisterSignal(parent, list(COMSIG_ATOM_EXAMINE, COMSIG_ATOM_ATTACKBY,
COMSIG_ATOM_ATTACK_HAND_SECONDARY, COMSIG_MODULE_GENERATE_WORN_OVERLAY,
- COMSIG_ITEM_GET_WORN_OVERLAYS, COMSIG_ATOM_UPDATE_OVERLAYS, COMSIG_QDELETING,
+ COMSIG_ITEM_GET_SEPARATE_WORN_OVERLAYS, COMSIG_ATOM_UPDATE_OVERLAYS, COMSIG_QDELETING,
COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM, COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED))
/datum/component/hat_stabilizer/proc/on_equip(datum/source, mob/equipper, slot)
@@ -102,20 +103,39 @@
base_examine += span_notice("There's nothing placed on [parent]. Yet.")
/datum/component/hat_stabilizer/proc/get_worn_overlays(atom/movable/source, list/overlays, mutable_appearance/standing, isinhands, icon_file)
+ SIGNAL_HANDLER
+ if(isinhands)
+ return
+ if(!attached_hat)
+ return
+ var/mutable_appearance/worn_overlay = attached_hat.build_worn_icon(default_layer = ABOVE_BODY_FRONT_HEAD_LAYER - 0.1, default_icon_file = 'icons/mob/clothing/head/default.dmi')
+ worn_overlay.appearance_flags |= RESET_COLOR
+ // loose hats are slightly angled
+ if(loose_hat)
+ var/matrix/tilt_trix = matrix(worn_overlay.transform)
+ var/angle = 5
+ tilt_trix.Turn(angle * pick(1, -1))
+ worn_overlay.transform = tilt_trix
+ worn_overlay.pixel_z = pixel_z_offset + attached_hat.worn_y_offset
+ overlays += worn_overlay
+
+/datum/component/hat_stabilizer/proc/get_separate_worn_overlays(atom/movable/source, list/overlays, mutable_appearance/standing, mutable_appearance/draw_target, isinhands, icon_file)
SIGNAL_HANDLER
if (isinhands)
return
- if(attached_hat)
- var/mutable_appearance/worn_overlay = attached_hat.build_worn_icon(default_layer = ABOVE_BODY_FRONT_HEAD_LAYER-0.1, default_icon_file = 'icons/mob/clothing/head/default.dmi')
- worn_overlay.appearance_flags |= RESET_COLOR
- // loose hats are slightly angled
- if(loose_hat)
- var/matrix/tilt_trix = matrix(worn_overlay.transform)
- var/angle = 5
- tilt_trix.Turn(angle * pick(1, -1))
- worn_overlay.transform = tilt_trix
- worn_overlay.pixel_y = pixel_y_offset + attached_hat.worn_y_offset
- overlays += worn_overlay
+ if(!attached_hat)
+ return
+ var/mutable_appearance/worn_overlay = attached_hat.build_worn_icon(default_layer = ABOVE_BODY_FRONT_HEAD_LAYER - 0.1, default_icon_file = 'icons/mob/clothing/head/default.dmi')
+ for (var/mutable_appearance/overlay in worn_overlay.overlays)
+ overlay.layer = ABOVE_BODY_FRONT_HEAD_LAYER - 0.1
+ // loose hats are slightly angled
+ if(loose_hat)
+ var/matrix/tilt_trix = matrix(worn_overlay.transform)
+ var/angle = 5
+ tilt_trix.Turn(angle * pick(1, -1))
+ worn_overlay.transform = tilt_trix
+ worn_overlay.pixel_z = pixel_z_offset + attached_hat.worn_y_offset
+ overlays += worn_overlay
/datum/component/hat_stabilizer/proc/on_qdel(atom/movable/source)
SIGNAL_HANDLER
diff --git a/code/datums/components/manual_heart.dm b/code/datums/components/manual_heart.dm
index d8d74854900..fb815cdfdbb 100644
--- a/code/datums/components/manual_heart.dm
+++ b/code/datums/components/manual_heart.dm
@@ -69,7 +69,7 @@
to_chat(parent, span_userdanger("You feel your heart start beating normally again!"))
var/mob/living/carbon/carbon_parent = parent
if(istype(carbon_parent))
- carbon_parent.remove_client_colour(/datum/client_colour/manual_heart_blood)
+ carbon_parent.remove_client_colour(REF(src))
/datum/component/manual_heart/proc/restart()
SIGNAL_HANDLER
@@ -85,7 +85,7 @@
pump_action.build_all_button_icons(UPDATE_BUTTON_STATUS)
var/mob/living/carbon/carbon_parent = parent
if(istype(carbon_parent))
- carbon_parent.remove_client_colour(/datum/client_colour/manual_heart_blood) //prevents red overlay from getting stuck
+ carbon_parent.remove_client_colour(REF(src)) //prevents red overlay from getting stuck
STOP_PROCESSING(SSdcs, src)
/// Worker proc that checks logic for if a pump can happen, and applies effects from doing so
@@ -98,7 +98,7 @@
if(HAS_TRAIT(carbon_owner, TRAIT_NOBLOOD))
return
carbon_owner.blood_volume = min(carbon_owner.blood_volume + (blood_loss * 0.5), BLOOD_VOLUME_MAXIMUM)
- carbon_owner.remove_client_colour(/datum/client_colour/manual_heart_blood)
+ carbon_owner.remove_client_colour(REF(src))
add_colour = TRUE
carbon_owner.adjustBruteLoss(-heal_brute)
carbon_owner.adjustFireLoss(-heal_burn)
@@ -119,7 +119,7 @@
to_chat(carbon_parent, span_userdanger("You have to keep pumping your blood!"))
COOLDOWN_START(src, heart_timer, MANUAL_HEART_GRACE_PERIOD) //give two full seconds before losing more blood
if(add_colour)
- carbon_parent.add_client_colour(/datum/client_colour/manual_heart_blood)
+ carbon_parent.add_client_colour(/datum/client_colour/manual_heart_blood, REF(src))
add_colour = FALSE
///If a new heart is added, start processing.
@@ -134,7 +134,7 @@
pump_action.build_all_button_icons(UPDATE_BUTTON_STATUS)
var/mob/living/carbon/carbon_parent = parent
if(istype(carbon_parent))
- carbon_parent.remove_client_colour(/datum/client_colour/manual_heart_blood) //prevents red overlay from getting stuck
+ carbon_parent.remove_client_colour(REF(src)) //prevents red overlay from getting stuck
START_PROCESSING(SSdcs, src)
///If the heart is removed, stop processing.
diff --git a/code/datums/components/martial_art_giver.dm b/code/datums/components/martial_art_giver.dm
index 1a0bfa9951a..a2a3bfd97da 100644
--- a/code/datums/components/martial_art_giver.dm
+++ b/code/datums/components/martial_art_giver.dm
@@ -7,39 +7,35 @@
if(!isitem(parent))
return COMPONENT_INCOMPATIBLE
- style = new style_type()
- style.allow_temp_override = FALSE
+ style = new style_type(src)
+
+/datum/component/martial_art_giver/Destroy()
+ QDEL_NULL(style)
+ return ..()
/datum/component/martial_art_giver/RegisterWithParent()
RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(equipped))
RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(dropped))
+ var/obj/item/item = parent
+ var/mob/living/wearer = item.loc
+ if(istype(wearer))
+ equipped(item, wearer, wearer.get_slot_by_item(item))
+
/datum/component/martial_art_giver/UnregisterFromParent(datum/source)
- UnregisterSignal(parent, list(COMSIG_ITEM_POST_EQUIPPED, COMSIG_ITEM_POST_UNEQUIP))
- var/obj/item/parent_item = parent
- if(ismob(parent_item?.loc))
- UnregisterSignal(parent, list(COMSIG_MOB_MIND_TRANSFERRED_INTO, COMSIG_MOB_MIND_INITIALIZED, COMSIG_MOB_MIND_TRANSFERRED_OUT_OF))
- QDEL_NULL(style)
+ UnregisterSignal(parent, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED))
+
+ var/obj/item/item = parent
+ var/mob/living/wearer = item.loc
+ if(istype(wearer))
+ dropped(item, wearer)
/datum/component/martial_art_giver/proc/equipped(obj/item/source, mob/user, slot)
SIGNAL_HANDLER
if(!(source.slot_flags & slot))
return
- RegisterSignals(user, list(COMSIG_MOB_MIND_TRANSFERRED_INTO, COMSIG_MOB_MIND_INITIALIZED), PROC_REF(teach))
- RegisterSignal(user, COMSIG_MOB_MIND_TRANSFERRED_OUT_OF, PROC_REF(forget))
- teach(user)
+ style.teach(user)
/datum/component/martial_art_giver/proc/dropped(obj/item/source, mob/user)
SIGNAL_HANDLER
- forget(user)
- UnregisterSignal(user, list(COMSIG_MOB_MIND_TRANSFERRED_INTO, COMSIG_MOB_MIND_INITIALIZED, COMSIG_MOB_MIND_TRANSFERRED_OUT_OF))
-
-/datum/component/martial_art_giver/proc/teach(mob/source)
- if(isnull(style))
- return
- style.teach(source, TRUE)
-
-/datum/component/martial_art_giver/proc/forget(mob/source)
- if(isnull(style))
- return
- style.fully_remove(source)
+ style.unlearn(user)
diff --git a/code/datums/components/material/material_container.dm b/code/datums/components/material/material_container.dm
index d57f5a95d1e..3774d655f42 100644
--- a/code/datums/components/material/material_container.dm
+++ b/code/datums/components/material/material_container.dm
@@ -23,7 +23,7 @@
var/list/allowed_item_typecache
/// Whether or not this material container allows specific amounts from sheets to be inserted
var/precise_insertion = FALSE
- /// The material container flags. See __DEFINES/materials.dm.
+ /// The material container flags. See __DEFINES/construction/materials.dm.
var/mat_container_flags
/// Signals that are registered with this contained
var/list/registered_signals
@@ -81,6 +81,7 @@
if(!(mat_container_flags & MATCONTAINER_NO_INSERT))
//to insert stuff into the container
RegisterSignal(atom_target, COMSIG_ATOM_ITEM_INTERACTION, PROC_REF(on_item_insert))
+ RegisterSignal(atom_target, COMSIG_ATOM_ITEM_INTERACTION_SECONDARY, PROC_REF(on_secondary_insert))
//screen tips for inserting items
atom_target.flags_1 |= HAS_CONTEXTUAL_SCREENTIPS_1
@@ -98,6 +99,7 @@
if(!(mat_container_flags & MATCONTAINER_NO_INSERT))
signals += COMSIG_ATOM_ITEM_INTERACTION
+ signals += COMSIG_ATOM_ITEM_INTERACTION_SECONDARY
signals += COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM
if(mat_container_flags & MATCONTAINER_EXAMINE)
signals += COMSIG_ATOM_EXAMINE
@@ -130,8 +132,9 @@
if(old_flags & MATCONTAINER_NO_INSERT && !(mat_container_flags & MATCONTAINER_NO_INSERT))
RegisterSignal(parent, COMSIG_ATOM_ITEM_INTERACTION, PROC_REF(on_item_insert))
+ RegisterSignal(parent, COMSIG_ATOM_ITEM_INTERACTION_SECONDARY, PROC_REF(on_secondary_insert))
else if(!(old_flags & MATCONTAINER_NO_INSERT) && mat_container_flags & MATCONTAINER_NO_INSERT)
- UnregisterSignal(parent, COMSIG_ATOM_ITEM_INTERACTION)
+ UnregisterSignal(parent, list(COMSIG_ATOM_ITEM_INTERACTION, COMSIG_ATOM_ITEM_INTERACTION_SECONDARY))
/**
* 3 Types of Procs
@@ -164,7 +167,7 @@
var/max_mat_value = 0
var/material_amount = 0
- var/list/item_materials = source.get_material_composition()
+ var/list/item_materials = source.get_material_composition(mat_container_flags)
var/list/mats_consumed = list()
for(var/MAT in item_materials)
if(!can_hold_material(MAT))
@@ -485,16 +488,28 @@
if(!QDELETED(deleting)) //deleting parents also delete their children so we check
qdel(deleting)
-/// Proc that allows players to fill the parent with mats
-/datum/component/material_container/proc/on_item_insert(datum/source, mob/living/user, obj/item/weapon, list/modifiers)
+/datum/component/material_container/proc/on_item_insert(datum/source, mob/living/user, obj/item/weapon)
SIGNAL_HANDLER
+ // Don't insert material items with left click
+ if (isstack(weapon))
+ return attempt_insert(user, weapon)
+/datum/component/material_container/proc/on_secondary_insert(datum/source, mob/living/user, obj/item/weapon)
+ SIGNAL_HANDLER
+ return attempt_insert(user, weapon)
+
+/// Proc that allows players to fill the parent with mats
+/datum/component/material_container/proc/attempt_insert(mob/living/user, obj/item/weapon)
//Allows you to attack the machine with iron sheets for e.g.
if(!(mat_container_flags & MATCONTAINER_ANY_INTENT) && user.combat_mode)
return
- user_insert(weapon, user)
+ if(ismachinery(parent))
+ var/obj/machinery/machine = parent
+ if(machine.machine_stat || machine.panel_open)
+ return
+ user_insert(weapon, user)
return ITEM_INTERACT_SUCCESS
//===============================================================================================
@@ -552,11 +567,11 @@
* Arguments:
* - [I][obj/item]: the item whos materials must be retrieved
*/
-/datum/component/material_container/proc/get_item_material_amount(obj/item/I)
- if(!istype(I) || !I.custom_materials)
+/datum/component/material_container/proc/get_item_material_amount(obj/item/item)
+ if(!istype(item) || !item.custom_materials)
return 0
var/material_amount = 0
- var/list/item_materials = I.get_material_composition()
+ var/list/item_materials = item.get_material_composition(mat_container_flags)
for(var/MAT in item_materials)
if(!can_hold_material(MAT))
continue
@@ -764,7 +779,7 @@
return NONE
if((held_item.flags_1 & HOLOGRAM_1) || (held_item.item_flags & NO_MAT_REDEMPTION) || (allowed_item_typecache && !is_type_in_typecache(held_item, allowed_item_typecache)))
return NONE
- var/list/item_materials = held_item.get_material_composition()
+ var/list/item_materials = held_item.get_material_composition(mat_container_flags)
if(!length(item_materials))
return NONE
for(var/material in item_materials)
@@ -772,7 +787,9 @@
continue
return NONE
- context[SCREENTIP_CONTEXT_LMB] = "Insert"
+ if (isstack(held_item))
+ context[SCREENTIP_CONTEXT_LMB] = "Insert stack"
+ context[SCREENTIP_CONTEXT_RMB] = "Insert"
return CONTEXTUAL_SCREENTIP_SET
diff --git a/code/datums/components/material/remote_materials.dm b/code/datums/components/material/remote_materials.dm
index d8eb0dc060c..9f23de90d34 100644
--- a/code/datums/components/material/remote_materials.dm
+++ b/code/datums/components/material/remote_materials.dm
@@ -67,6 +67,7 @@ handles linking back and forth.
mat_container = silo.materials
if(!(mat_container_flags & MATCONTAINER_NO_INSERT))
RegisterSignal(parent, COMSIG_ATOM_ITEM_INTERACTION, PROC_REF(on_item_insert))
+ RegisterSignal(parent, COMSIG_ATOM_ITEM_INTERACTION_SECONDARY, PROC_REF(on_secondary_insert))
if (!mat_container && allow_standalone)
_MakeLocal()
@@ -124,7 +125,7 @@ handles linking back and forth.
if (QDELETED(old_silo) || silo != old_silo)
return
- UnregisterSignal(parent, COMSIG_ATOM_ITEM_INTERACTION)
+ UnregisterSignal(parent, list(COMSIG_ATOM_ITEM_INTERACTION, COMSIG_ATOM_ITEM_INTERACTION_SECONDARY))
silo.ore_connected_machines -= src
silo = null
mat_container = null
@@ -164,22 +165,28 @@ handles linking back and forth.
mat_container = new_container
if(!(mat_container_flags & MATCONTAINER_NO_INSERT))
RegisterSignal(parent, COMSIG_ATOM_ITEM_INTERACTION, PROC_REF(on_item_insert))
+ RegisterSignal(parent, COMSIG_ATOM_ITEM_INTERACTION_SECONDARY, PROC_REF(on_secondary_insert))
to_chat(user, span_notice("You connect [parent] to [silo] from the multitool's buffer."))
return ITEM_INTERACT_SUCCESS
-///Insert mats into silo
/datum/component/remote_materials/proc/on_item_insert(datum/source, mob/living/user, obj/item/target)
SIGNAL_HANDLER
+ // Only insert stacks with left click
+ if(isstack(target))
+ return attempt_insert(user, target)
- //Allows you to attack the machine with iron sheets for e.g.
+/datum/component/remote_materials/proc/on_secondary_insert(datum/source, mob/living/user, obj/item/target)
+ SIGNAL_HANDLER
+ return attempt_insert(user, target)
+
+/// Insert mats into silo
+/datum/component/remote_materials/proc/attempt_insert(mob/living/user, obj/item/target)
if(!(mat_container_flags & MATCONTAINER_ANY_INTENT) && user.combat_mode)
return
if(silo)
mat_container.user_insert(target, user, parent)
-
- return ITEM_INTERACT_SUCCESS
-
+ return ITEM_INTERACT_SUCCESS
/**
* Checks if the param silo is in the same level as this components parent i.e. connected machine, rcd, etc
diff --git a/code/datums/components/mind_martial_art.dm b/code/datums/components/mind_martial_art.dm
new file mode 100644
index 00000000000..08c64a48371
--- /dev/null
+++ b/code/datums/components/mind_martial_art.dm
@@ -0,0 +1,38 @@
+/// A martial art that is owned by this mind and will transfer as mind moves
+/datum/component/mindbound_martial_arts
+ dupe_mode = COMPONENT_DUPE_SELECTIVE
+ /// The style transferred between minds
+ var/datum/martial_art/style
+
+/datum/component/mindbound_martial_arts/Initialize(style_type)
+ if(!istype(parent, /datum/mind))
+ return COMPONENT_INCOMPATIBLE
+
+ style = new style_type(src)
+
+/datum/component/mindbound_martial_arts/CheckDupeComponent(datum/component/new_comp, new_style_type)
+ return style.type == new_style_type
+
+/datum/component/mindbound_martial_arts/RegisterWithParent()
+ RegisterSignal(parent, COMSIG_MIND_TRANSFERRED, PROC_REF(mind_transferred))
+
+ var/datum/mind/mind = parent
+ style.teach(mind.current)
+
+/datum/component/mindbound_martial_arts/UnregisterFromParent()
+ UnregisterSignal(parent, COMSIG_MIND_TRANSFERRED)
+
+ var/datum/mind/mind = parent
+ style.unlearn(mind.current)
+
+/datum/component/mindbound_martial_arts/Destroy()
+ QDEL_NULL(style)
+ return ..()
+
+/// Signal proc for [COMSIG_MOB_MIND_TRANSFERRED_OUT_OF] to pass martial arts between bodies on mind transfer
+/// By this point the martial art's holder is the old body, but the mind that owns it is in the new body
+/datum/component/mindbound_martial_arts/proc/mind_transferred(datum/mind/source, mob/living/old_body)
+ SIGNAL_HANDLER
+
+ style.unlearn(old_body)
+ style.teach(source.current)
diff --git a/code/datums/components/omen.dm b/code/datums/components/omen.dm
index e250bb7124f..7a696cefe87 100644
--- a/code/datums/components/omen.dm
+++ b/code/datums/components/omen.dm
@@ -66,11 +66,11 @@
/datum/component/omen/RegisterWithParent()
RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(check_accident))
RegisterSignal(parent, COMSIG_ON_CARBON_SLIP, PROC_REF(check_slip))
- RegisterSignal(parent, COMSIG_CARBON_MOOD_UPDATE, PROC_REF(check_bless))
+ RegisterSignal(parent, COMSIG_LIVING_BLESSED, PROC_REF(check_bless))
RegisterSignal(parent, COMSIG_LIVING_DEATH, PROC_REF(check_death))
/datum/component/omen/UnregisterFromParent()
- UnregisterSignal(parent, list(COMSIG_ON_CARBON_SLIP, COMSIG_MOVABLE_MOVED, COMSIG_CARBON_MOOD_UPDATE, COMSIG_LIVING_DEATH))
+ UnregisterSignal(parent, list(COMSIG_ON_CARBON_SLIP, COMSIG_MOVABLE_MOVED, COMSIG_LIVING_BLESSED, COMSIG_LIVING_DEATH))
/datum/component/omen/proc/consume_omen()
incidents_left--
@@ -218,18 +218,14 @@
return
/// Hijack the mood system to see if we get the blessing mood event to cancel the omen
-/datum/component/omen/proc/check_bless(mob/living/our_guy, category)
+/datum/component/omen/proc/check_bless(mob/living/our_guy, mob/living/priest, obj/item/book/bible/bible, bless_result)
SIGNAL_HANDLER
- if(incidents_left == INFINITY)
- return
-
- if(!("blessing" in our_guy.mob_mood.mood_events))
+ if(incidents_left == INFINITY || bless_result != BLESSING_SUCCESS)
return
playsound(our_guy, 'sound/effects/pray_chaplain.ogg', 40, TRUE)
to_chat(our_guy, span_green("You feel fantastic!"))
-
qdel(src)
/// Severe deaths. Normally lifts the curse.
diff --git a/code/datums/components/overlay_lighting.dm b/code/datums/components/overlay_lighting.dm
index 642feee3ac0..73defbd2bac 100644
--- a/code/datums/components/overlay_lighting.dm
+++ b/code/datums/components/overlay_lighting.dm
@@ -73,12 +73,12 @@
///Cast range for the directional cast (how far away the atom is moved)
var/cast_range = 2
-/datum/component/overlay_lighting/Initialize(_range, _power, _color, starts_on, is_directional, is_beam)
+/datum/component/overlay_lighting/Initialize(_range, _power, _color, starts_on, is_directional, is_beam, force)
if(!ismovable(parent))
return COMPONENT_INCOMPATIBLE
var/atom/movable/movable_parent = parent
- if(movable_parent.light_system != OVERLAY_LIGHT && movable_parent.light_system != OVERLAY_LIGHT_DIRECTIONAL && movable_parent.light_system != OVERLAY_LIGHT_BEAM)
+ if(!force && movable_parent.light_system != OVERLAY_LIGHT && movable_parent.light_system != OVERLAY_LIGHT_DIRECTIONAL && movable_parent.light_system != OVERLAY_LIGHT_BEAM)
stack_trace("[type] added to [parent], with [movable_parent.light_system] value for the light_system var. Use [OVERLAY_LIGHT], [OVERLAY_LIGHT_DIRECTIONAL] or [OVERLAY_LIGHT_BEAM] instead.")
return COMPONENT_INCOMPATIBLE
@@ -88,12 +88,14 @@
SET_PLANE_EXPLICIT(visible_mask, O_LIGHTING_VISUAL_PLANE, movable_parent)
visible_mask.appearance_flags = RESET_COLOR | RESET_ALPHA | RESET_TRANSFORM
visible_mask.alpha = 0
+ visible_mask.blend_mode = BLEND_ADD
if(is_directional)
directional = TRUE
cone = image('icons/effects/light_overlays/light_cone.dmi', icon_state = "light")
SET_PLANE_EXPLICIT(cone, O_LIGHTING_VISUAL_PLANE, movable_parent)
cone.appearance_flags = RESET_COLOR | RESET_ALPHA | RESET_TRANSFORM
cone.alpha = 110
+ cone.blend_mode = BLEND_ADD
cone.transform = cone.transform.Translate(-32, -32)
set_direction(movable_parent.dir)
if(is_beam)
@@ -389,6 +391,9 @@
var/new_power = source.light_power
set_lum_power(new_power >= 0 ? 0.5 : -0.5)
set_alpha = min(230, (abs(new_power) * 120) + 30)
+ visible_mask.blend_mode = new_power > 0 ? BLEND_ADD : BLEND_SUBTRACT
+ if(directional)
+ cone.blend_mode = new_power > 0 ? BLEND_ADD : BLEND_SUBTRACT
if(current_holder && overlay_lighting_flags & LIGHTING_ON)
current_holder.underlays -= visible_mask
visible_mask.alpha = set_alpha
diff --git a/code/datums/components/pet_commands/obeys_commands.dm b/code/datums/components/pet_commands/obeys_commands.dm
index ceabd294faf..b50c63d590f 100644
--- a/code/datums/components/pet_commands/obeys_commands.dm
+++ b/code/datums/components/pet_commands/obeys_commands.dm
@@ -36,8 +36,8 @@
available_commands[new_command.command_name] = new_command
/datum/component/obeys_commands/Destroy(force)
- . = ..()
- QDEL_NULL(available_commands)
+ QDEL_LIST_ASSOC_VAL(available_commands)
+ return ..()
/datum/component/obeys_commands/RegisterWithParent()
RegisterSignal(parent, COMSIG_LIVING_BEFRIENDED, PROC_REF(add_friend))
diff --git a/code/datums/components/plumbing/_plumbing.dm b/code/datums/components/plumbing/_plumbing.dm
index 5bf95b747e3..d3fd5f5ad87 100644
--- a/code/datums/components/plumbing/_plumbing.dm
+++ b/code/datums/components/plumbing/_plumbing.dm
@@ -188,8 +188,8 @@
overlay.dir = direction
overlay.color = color
- overlay.pixel_x = duct_x
- overlay.pixel_y = duct_y
+ overlay.pixel_w = duct_x
+ overlay.pixel_z = duct_y
overlays += overlay
@@ -198,8 +198,8 @@
var/image/edge_overlay = image('icons/obj/pipes_n_cables/hydrochem/connects.dmi', "edge-extension", layer = duct_layer)
edge_overlay.dir = parent_movable.dir
edge_overlay.color = color
- edge_overlay.pixel_x = -parent_movable.pixel_x - parent_movable.pixel_w
- edge_overlay.pixel_y = -parent_movable.pixel_y - parent_movable.pixel_z
+ edge_overlay.pixel_w = -parent_movable.pixel_x - parent_movable.pixel_w
+ edge_overlay.pixel_z = -parent_movable.pixel_y - parent_movable.pixel_z
overlays += edge_overlay
// only show extension for the first pipe. This means we'll only reflect that color.
extension_handled = TRUE
diff --git a/code/datums/components/ranged_attacks.dm b/code/datums/components/ranged_attacks.dm
index e60c3645206..4501db379ef 100644
--- a/code/datums/components/ranged_attacks.dm
+++ b/code/datums/components/ranged_attacks.dm
@@ -85,7 +85,7 @@
target_zone = ran_zone()
casing.fire_casing(target, firer, null, null, null, target_zone, 0, firer)
casing.update_appearance()
- casing.AddElement(/datum/element/temporary_atom, 30 SECONDS)
+ casing.fade_into_nothing(30 SECONDS)
SEND_SIGNAL(parent, COMSIG_BASICMOB_POST_ATTACK_RANGED, target, modifiers)
return
diff --git a/code/datums/components/riding/riding_minigame.dm b/code/datums/components/riding/riding_minigame.dm
new file mode 100644
index 00000000000..a638804f90c
--- /dev/null
+++ b/code/datums/components/riding/riding_minigame.dm
@@ -0,0 +1,266 @@
+#define STARTING_ARROW_POSITION -50
+#define ENDING_ARROW_POSITION 20
+#define VERTICAL_ARROW_HEIGHT 13
+#define HORIZONTAL_ARROW_HEIGHT 9
+#define FADE_AWAY_TIME 0.1 SECONDS
+#define PING_GRACE 0.25 SECONDS
+
+//a simple minigame players must win to mount and tame a mob
+/datum/riding_minigame
+ ///our host mob
+ var/datum/weakref/host
+ ///our current rider
+ var/datum/weakref/mounter
+ ///the total amount of tries the rider gets
+ var/maximum_attempts = 25
+ ///maximum number of failures before we fail
+ var/current_attempts = 0
+ ///required number of successes
+ var/required_successes = 11
+ ///what failures are we on
+ var/current_failures = 0
+ ///we win these
+ var/current_succeeded = 0
+ ///holder of our heart counter
+ var/image/heart_counter
+ ///list of our hearts
+ var/list/hearts_list = list()
+ ///holder of our minigame!
+ var/image/minigame_holder
+ ///cached directional icons of our host
+ var/list/cached_arrows = list()
+ ///speed of our arrow
+ var/arrow_speed = 45
+ ///time to linger
+ var/linger_time = 0.3 SECONDS
+ ///multiplier for easy settings
+ var/easy_difficulty_multiplier = 1.1
+ ///multiplier for hard settings
+ var/hard_difficulty_multiplier = 0.9
+ ///cooldown when we fail
+ COOLDOWN_DECLARE(failure_cooldown)
+
+/datum/riding_minigame/New(mob/living/ridden, mob/living/rider)
+ . = ..()
+ host = WEAKREF(ridden)
+ mounter = WEAKREF(rider)
+ set_difficulty(ridden, rider)
+ RegisterSignal(rider, COMSIG_MOB_UNBUCKLED, PROC_REF(lose_minigame))
+ RegisterSignal(ridden, COMSIG_MOVABLE_ATTEMPTED_MOVE, PROC_REF(on_ridden_moved))
+ minigame_holder = image(icon='icons/effects/effects.dmi', loc=rider,icon_state="nothing", layer = 0)
+ minigame_holder.pixel_w = 32
+ heart_counter = image(icon='icons/effects/effects.dmi', loc=rider,icon_state="nothing", layer = 0)
+ heart_counter.pixel_z = -32
+ SET_PLANE_EXPLICIT(minigame_holder, ABOVE_HUD_PLANE, rider)
+ SET_PLANE_EXPLICIT(heart_counter, ABOVE_HUD_PLANE, rider)
+ generate_heart_counter()
+ generate_visuals()
+ rider.client.images |= list(minigame_holder, heart_counter)
+ START_PROCESSING(SSprocessing, src)
+
+/datum/riding_minigame/proc/set_difficulty(mob/living/ridden, mob/living/rider)
+ if(HAS_TRAIT(rider, TRAIT_BEAST_EMPATHY) || HAS_TRAIT(ridden, TRAIT_MOB_EASY_TO_MOUNT))
+ linger_time *= easy_difficulty_multiplier
+ if(HAS_TRAIT(ridden, TRAIT_MOB_DIFFICULT_TO_MOUNT))
+ linger_time *= hard_difficulty_multiplier
+
+/datum/riding_minigame/proc/generate_visuals()
+ var/static/list/void_arrow_order = list(
+ "north",
+ "west",
+ "south",
+ "east",
+ )
+ var/x_offset = 0
+ for(var/direction in void_arrow_order)
+ var/obj/effect/overlay/vis/ride_minigame/new_arrow = new
+ new_arrow.icon = 'icons/effects/riding_minigame.dmi'
+ new_arrow.icon_state = "blank_arrow"
+ new_arrow.setDir(text2dir(direction))
+ new_arrow.pixel_x = x_offset
+ new_arrow.pixel_y = ENDING_ARROW_POSITION
+ new_arrow.layer = ABOVE_ALL_MOB_LAYER
+ minigame_holder.vis_contents += new_arrow
+ cached_arrows[direction] = list("visual_object" = new_arrow, "is_active" = null)
+ x_offset += 16
+
+/datum/riding_minigame/proc/generate_heart_counter()
+ var/x_offset = -32
+ for(var/i in 1 to required_successes)
+ var/obj/effect/overlay/vis/ride_minigame/heart = new
+ heart.icon = 'icons/effects/effects.dmi'
+ heart.icon_state = "empty_heart"
+ heart.pixel_x = x_offset
+ x_offset += 8
+ hearts_list += heart
+ heart_counter.vis_contents += heart
+
+/datum/riding_minigame/process()
+ if(current_attempts >= maximum_attempts)
+ lose_minigame()
+ return
+ if(prob(30)) //we shake and move uncontrollably!
+ var/mob/living/living_host = host.resolve()
+ living_host.Shake(pixelshiftx = 1, pixelshifty = 0, duration = 0.75 SECONDS)
+ living_host.spin(spintime = 0.75 SECONDS, speed = 1)
+
+ generate_arrow()
+
+/datum/riding_minigame/proc/generate_arrow()
+ if(current_attempts >= maximum_attempts)
+ return
+ var/static/list/possible_arrows = list(
+ "north" = 0,
+ "west" = 16,
+ "south" = 32,
+ "east" = 48,
+ )
+
+ current_attempts++
+ var/picked_arrow = pick(possible_arrows)
+ var/obj/effect/overlay/vis/ride_minigame/new_arrow = new
+ new_arrow.icon = 'icons/effects/riding_minigame.dmi'
+ new_arrow.icon_state = "[picked_arrow]_arrow"
+ new_arrow.alpha = 0
+ new_arrow.layer = ABOVE_ALL_MOB_LAYER + 0.1
+ new_arrow.pixel_x = possible_arrows[picked_arrow]
+ new_arrow.pixel_y = STARTING_ARROW_POSITION
+ minigame_holder.vis_contents += new_arrow
+
+ animate(new_arrow, alpha = 255, time = 0.15 SECONDS)
+ animate(new_arrow, pixel_y = ENDING_ARROW_POSITION, time = ((ENDING_ARROW_POSITION - STARTING_ARROW_POSITION) / arrow_speed) SECONDS)
+
+ addtimer(CALLBACK(src, PROC_REF(add_active_arrow), new_arrow, picked_arrow), ((ENDING_ARROW_POSITION - (STARTING_ARROW_POSITION + get_arrow_height(picked_arrow))) / arrow_speed) SECONDS)
+
+/datum/riding_minigame/proc/get_arrow_height(text_direction)
+ var/direction = text2dir(text_direction)
+ return NSCOMPONENT(direction) ? VERTICAL_ARROW_HEIGHT : HORIZONTAL_ARROW_HEIGHT
+
+/datum/riding_minigame/proc/add_active_arrow(atom/arrow, direction)
+ if(QDELETED(arrow))
+ return
+
+ if(!COOLDOWN_FINISHED(src, failure_cooldown))
+ remove_active_arrow(arrow, direction)
+ return
+
+ var/mob/living/rider = mounter?.resolve()
+ if(isnull(rider))
+ return
+ var/client/rider_client = rider.client
+ if(isnull(rider_client))
+ return
+ cached_arrows[direction]["is_active"] = arrow
+ RegisterSignal(arrow, COMSIG_QDELETING, PROC_REF(on_arrow_delete))
+ var/distance_to_travel = get_arrow_height(direction) * 2
+ var/time_of_grace = (distance_to_travel / arrow_speed) SECONDS + linger_time + PING_GRACE - FADE_AWAY_TIME
+ addtimer(CALLBACK(src, PROC_REF(remove_active_arrow), arrow, direction), time_of_grace)
+
+/datum/riding_minigame/proc/remove_active_arrow(atom/arrow, direction)
+ if(QDELETED(arrow))
+ return
+ animate(arrow, alpha = 0, time = FADE_AWAY_TIME)
+ QDEL_IN(arrow, FADE_AWAY_TIME)
+
+/datum/riding_minigame/proc/on_arrow_delete(datum/source)
+ SIGNAL_HANDLER
+ for(var/arrow in cached_arrows)
+ var/list/arrow_details = cached_arrows[arrow]
+ if(arrow_details["is_active"] != source)
+ continue
+ arrow_details["is_active"] = null
+
+/datum/riding_minigame/proc/on_ridden_moved(atom/movable/source, atom/new_loc, direction)
+ SIGNAL_HANDLER
+ . = NONE
+ if(new_loc.z != source.z || !COOLDOWN_FINISHED(src, failure_cooldown))
+ return
+ var/list/arrow_data = cached_arrows[dir2text(direction)]
+ var/atom/existing_arrow = arrow_data["is_active"]
+
+ if(!QDELETED(existing_arrow))
+ qdel(existing_arrow)
+ var/atom/arrow_object = arrow_data["visual_object"]
+ flick("blank_arrow_win", arrow_object)
+ increment_counter()
+ return
+
+ for(var/arrow_direction in cached_arrows)
+ var/obj/my_arrow = cached_arrows[arrow_direction]["visual_object"]
+ if(isnull(my_arrow))
+ continue
+ var/atom/clickable_arrow = cached_arrows[arrow_direction]["is_active"]
+ if(!QDELETED(clickable_arrow))
+ qdel(clickable_arrow)
+ my_arrow.layer = ABOVE_ALL_MOB_LAYER + 0.2
+ flick("blank_arrow_lose", my_arrow)
+ my_arrow.Shake(duration = 2 SECONDS)
+ addtimer(VARSET_CALLBACK(my_arrow, layer, ABOVE_ALL_MOB_LAYER), 2 SECONDS)
+
+ increment_failure()
+
+/datum/riding_minigame/proc/increment_counter()
+ current_succeeded++
+ var/obj/new_heart = hearts_list[current_succeeded]
+ new_heart.icon_state = "full_heart"
+ new_heart.transform = new_heart.transform.Scale(2 ,2)
+ animate(new_heart, transform = matrix(), time = 0.3 SECONDS)
+ if(current_succeeded >= required_successes)
+ win_minigame()
+
+/datum/riding_minigame/proc/increment_failure()
+ current_failures++
+ COOLDOWN_START(src, failure_cooldown, 2 SECONDS)
+ if(current_failures > (maximum_attempts - required_successes))
+ lose_minigame()
+
+/datum/riding_minigame/proc/lose_minigame()
+ SIGNAL_HANDLER
+ var/mob/living/living_host = host?.resolve()
+ var/mob/living/living_rider = mounter?.resolve()
+ if(isnull(living_host) || isnull(living_rider))
+ qdel(src)
+ return
+ if(LAZYFIND(living_host.buckled_mobs, living_rider))
+ UnregisterSignal(living_rider, COMSIG_MOB_UNBUCKLED) //we're about to knock them down!
+ living_host.spin(spintime = 2 SECONDS, speed = 1)
+ living_rider.Knockdown(4 SECONDS)
+ living_host.unbuckle_mob(living_rider)
+ living_host.balloon_alert(living_rider, "knocks you down!")
+ qdel(src)
+
+/datum/riding_minigame/proc/win_minigame()
+ var/mob/living/living_host = host?.resolve()
+ var/mob/living/living_rider = mounter?.resolve()
+ if(isnull(living_host) || isnull(living_rider))
+ qdel(src)
+ return
+ living_host.befriend(living_rider)
+ living_host.balloon_alert(living_rider, "calms down...")
+ qdel(src)
+
+/datum/riding_minigame/Destroy()
+ STOP_PROCESSING(SSprocessing, src)
+
+ var/mob/living/living_mounter = mounter?.resolve()
+ if(living_mounter)
+ living_mounter.client.images -= minigame_holder
+ living_mounter.client.images -= heart_counter
+
+ mounter = null
+ host = null
+ hearts_list = null
+ cached_arrows = null
+ minigame_holder = null
+ heart_counter = null
+ return ..()
+
+/obj/effect/overlay/vis/ride_minigame
+ vis_flags = VIS_INHERIT_PLANE
+
+#undef STARTING_ARROW_POSITION
+#undef ENDING_ARROW_POSITION
+#undef VERTICAL_ARROW_HEIGHT
+#undef HORIZONTAL_ARROW_HEIGHT
+#undef FADE_AWAY_TIME
+#undef PING_GRACE
diff --git a/code/datums/components/riding/riding_mob.dm b/code/datums/components/riding/riding_mob.dm
index fb88b97606d..ad9f9af9a6c 100644
--- a/code/datums/components/riding/riding_mob.dm
+++ b/code/datums/components/riding/riding_mob.dm
@@ -707,224 +707,3 @@
/datum/component/riding/creature/raptor/fast
vehicle_move_delay = 1.5
-
-//a simple minigame players must win to mount and tame a mob
-/datum/riding_minigame
- ///our host mob
- var/datum/weakref/host
- ///our current rider
- var/datum/weakref/mounter
- ///the total amount of tries the rider gets
- var/maximum_attempts = 25
- ///maximum number of failures before we fail
- var/current_attempts = 0
- ///required number of successes
- var/required_successes = 11
- ///what failures are we on
- var/current_failures = 0
- ///we win these
- var/current_succeeded = 0
- ///holder of our heart counter
- var/image/heart_counter
- ///list of our hearts
- var/list/hearts_list = list()
- ///holder of our minigame!
- var/image/minigame_holder
- ///cached directional icons of our host
- var/list/cached_arrows = list()
- ///cooldown when we fail
- COOLDOWN_DECLARE(failure_cooldown)
-
-/datum/riding_minigame/New(mob/living/ridden, mob/living/rider)
- . = ..()
- host = WEAKREF(ridden)
- mounter = WEAKREF(rider)
- RegisterSignal(rider, COMSIG_MOB_UNBUCKLED, PROC_REF(lose_minigame))
- RegisterSignal(ridden, COMSIG_MOVABLE_ATTEMPTED_MOVE, PROC_REF(on_ridden_moved))
- minigame_holder = image(icon='icons/effects/effects.dmi', loc=rider,icon_state="nothing", layer = 0, pixel_x = 32, pixel_y = 0)
- heart_counter = image(icon='icons/effects/effects.dmi', loc=rider,icon_state="nothing", layer = 0, pixel_x = 0, pixel_y = -32)
- SET_PLANE_EXPLICIT(minigame_holder, ABOVE_HUD_PLANE, rider)
- SET_PLANE_EXPLICIT(heart_counter, ABOVE_HUD_PLANE, rider)
- generate_heart_counter()
- generate_visuals()
- rider.client.images |= list(minigame_holder, heart_counter)
- START_PROCESSING(SSprocessing, src)
-
-/datum/riding_minigame/proc/generate_visuals()
- var/static/list/void_arrow_angles = list(
- "north" = -90,
- "west" = 180,
- "south" = 90,
- "east" = 0,
- )
- var/x_offset = 0
- for(var/direction in void_arrow_angles)
- var/obj/effect/overlay/vis/ride_minigame/new_arrow = new
- new_arrow.icon = 'icons/effects/riding_minigame.dmi'
- new_arrow.icon_state = "blank_arrow"
- new_arrow.transform = new_arrow.transform.Turn(void_arrow_angles[direction])
- new_arrow.pixel_x = x_offset
- new_arrow.layer = ABOVE_ALL_MOB_LAYER
- minigame_holder.vis_contents += new_arrow
- cached_arrows[direction] = list("visual_object" = new_arrow, "is_active" = null)
- x_offset += 16
-
-/datum/riding_minigame/proc/generate_heart_counter()
- var/x_offset = -32
- for(var/i in 1 to required_successes)
- var/obj/effect/overlay/vis/ride_minigame/heart = new
- heart.icon = 'icons/effects/effects.dmi'
- heart.icon_state = "empty_heart"
- heart.pixel_x = x_offset
- x_offset += 8
- hearts_list += heart
- heart_counter.vis_contents += heart
-
-/datum/riding_minigame/process()
- if(current_attempts >= maximum_attempts)
- lose_minigame()
- return
- if(prob(30)) //we shake and move uncontrollably!
- var/mob/living/living_host = host.resolve()
- living_host.Shake(pixelshiftx = 1, pixelshifty = 0, duration = 0.75 SECONDS)
- living_host.spin(spintime = 0.75 SECONDS, speed = 1)
-
-
-
- for(var/index in 0 to 1)
- addtimer(CALLBACK(src, PROC_REF(generate_arrow)), 0.3 SECONDS * index)
-
-/datum/riding_minigame/proc/generate_arrow()
- if(current_attempts >= maximum_attempts)
- return
- var/static/list/possible_arrows = list(
- "north" = 0,
- "west" = 16,
- "south" = 32,
- "east" = 48,
- )
- current_attempts++
- var/picked_arrow = pick(possible_arrows)
- var/obj/effect/overlay/vis/ride_minigame/new_arrow = new
- new_arrow.icon = 'icons/effects/riding_minigame.dmi'
- new_arrow.icon_state = "[picked_arrow]_arrow"
- new_arrow.alpha = 0
- new_arrow.layer = ABOVE_ALL_MOB_LAYER + 0.1
- new_arrow.pixel_x = possible_arrows[picked_arrow]
- new_arrow.pixel_y = -50
- minigame_holder.vis_contents += new_arrow
- animate(new_arrow, alpha = 255, time = 0.15 SECONDS)
- animate(new_arrow, pixel_y = 20, time = 1.4 SECONDS)
- addtimer(CALLBACK(src, PROC_REF(add_active_arrow), new_arrow, picked_arrow), 0.9 SECONDS)
-
-/datum/riding_minigame/proc/add_active_arrow(atom/arrow, direction)
- if(QDELETED(arrow))
- return
- cached_arrows[direction]["is_active"] = arrow
- RegisterSignal(arrow, COMSIG_QDELETING, PROC_REF(on_arrow_delete))
- addtimer(CALLBACK(src, PROC_REF(remove_active_arrow), arrow, direction), 0.2 SECONDS)
-
-/datum/riding_minigame/proc/remove_active_arrow(atom/arrow, direction)
- if(QDELETED(arrow))
- return
- animate(arrow, alpha = 0, time = 0.1 SECONDS)
- QDEL_IN(arrow, 0.1 SECONDS)
-
-/datum/riding_minigame/proc/on_arrow_delete(datum/source)
- SIGNAL_HANDLER
- for(var/arrow in cached_arrows)
- var/list/arrow_details = cached_arrows[arrow]
- if(arrow_details["is_active"] != source)
- continue
- arrow_details["is_active"] = null
-
-/datum/riding_minigame/proc/on_ridden_moved(atom/movable/source, atom/new_loc, direction)
- SIGNAL_HANDLER
- . = NONE
- if(new_loc.z != source.z || !COOLDOWN_FINISHED(src, failure_cooldown))
- return
- var/list/arrow_data = cached_arrows[dir2text(direction)]
- var/atom/existing_arrow = arrow_data["is_active"]
-
- if(!QDELETED(existing_arrow))
- qdel(existing_arrow)
- var/atom/arrow_object = arrow_data["visual_object"]
- flick("blank_arrow_win", arrow_object)
- increment_counter()
- return
-
- for(var/arrow_direction in cached_arrows)
- var/obj/my_arrow = cached_arrows[arrow_direction]["visual_object"]
- if(isnull(my_arrow))
- continue
- flick("blank_arrow_lose", my_arrow)
- my_arrow.Shake(duration = 2 SECONDS)
-
- increment_failure()
-
-/datum/riding_minigame/proc/increment_counter()
- current_succeeded++
- var/obj/new_heart = hearts_list[current_succeeded]
- new_heart.icon_state = "full_heart"
- new_heart.transform = new_heart.transform.Scale(2 ,2)
- animate(new_heart, transform = matrix(), time = 0.3 SECONDS)
- if(current_succeeded >= required_successes)
- win_minigame()
-
-/datum/riding_minigame/proc/increment_failure()
- current_failures++
- COOLDOWN_START(src, failure_cooldown, 2 SECONDS)
- if(current_failures > (maximum_attempts - required_successes))
- lose_minigame()
-
-/datum/riding_minigame/proc/lose_minigame()
- SIGNAL_HANDLER
- var/mob/living/living_host = host?.resolve()
- var/mob/living/living_rider = mounter?.resolve()
- if(isnull(living_host) || isnull(living_rider))
- qdel(src)
- return
- if(LAZYFIND(living_host.buckled_mobs, living_rider))
- UnregisterSignal(living_rider, COMSIG_MOB_UNBUCKLED) //we're about to knock them down!
- living_host.spin(spintime = 2 SECONDS, speed = 1)
- living_rider.Knockdown(4 SECONDS)
- living_host.unbuckle_mob(living_rider)
- living_host.balloon_alert(living_rider, "knocks you down!")
- qdel(src)
-
-/datum/riding_minigame/proc/win_minigame()
- var/mob/living/living_host = host?.resolve()
- var/mob/living/living_rider = mounter?.resolve()
- if(isnull(living_host) || isnull(living_rider))
- qdel(src)
- return
- living_host.befriend(living_rider)
- living_host.balloon_alert(living_rider, "calms down...")
- qdel(src)
-
-/datum/riding_minigame/Destroy()
- STOP_PROCESSING(SSprocessing, src)
-
- var/mob/living/living_mounter = mounter?.resolve()
- if(living_mounter)
- living_mounter.client.images -= minigame_holder
- living_mounter.client.images -= heart_counter
-
- mounter = null
- host = null
- hearts_list = null
- cached_arrows = null
- minigame_holder = null
- heart_counter = null
- return ..()
-
-/obj/effect/overlay/vis/ride_minigame
- vis_flags = VIS_INHERIT_DIR | VIS_INHERIT_PLANE
-
-
-//SKYRAT EDIT START: Human Riding Defines
-#undef OVERSIZED_OFFSET
-#undef OVERSIZED_SIDE_OFFSET
-#undef REGULAR_OFFSET
-#undef REGULAR_SIDE_OFFSET
-//SKYRAT EDIT END
diff --git a/code/datums/components/seclight_attachable.dm b/code/datums/components/seclight_attachable.dm
index 6b3991c9c5e..b75723bb1f8 100644
--- a/code/datums/components/seclight_attachable.dm
+++ b/code/datums/components/seclight_attachable.dm
@@ -273,8 +273,8 @@
var/overlay_state = "[light_overlay][light.light_on ? "_on":""]"
var/mutable_appearance/flashlight_overlay = mutable_appearance(light_overlay_icon, overlay_state)
- flashlight_overlay.pixel_x = overlay_x
- flashlight_overlay.pixel_y = overlay_y
+ flashlight_overlay.pixel_w = overlay_x
+ flashlight_overlay.pixel_z = overlay_y
overlays += flashlight_overlay
/// Signal proc for [COMSIG_ATOM_UPDATE_ICON_STATE] that updates our parent's icon state, if we have one.
diff --git a/code/datums/components/space_allaergy.dm b/code/datums/components/space_allergy.dm
similarity index 81%
rename from code/datums/components/space_allaergy.dm
rename to code/datums/components/space_allergy.dm
index d1bc334ce1f..4d2a1b78fd0 100644
--- a/code/datums/components/space_allaergy.dm
+++ b/code/datums/components/space_allergy.dm
@@ -1,4 +1,4 @@
-/// Slowly kill the thing when iuts on a planet
+/// Slowly kills the affected when they're on a planet.
/datum/component/planet_allergy/Initialize(...)
if(!isliving(parent))
return COMPONENT_INCOMPATIBLE
@@ -9,6 +9,6 @@
SIGNAL_HANDLER
if(is_on_a_planet(parent) && parent.has_gravity())
- parent.apply_status_effect(/datum/status_effect/planet_allergy) //your gamer body cant stand real gravity
+ parent.apply_status_effect(/datum/status_effect/planet_allergy) //your gamer body cant stand real gravity < Soul
else
parent.remove_status_effect(/datum/status_effect/planet_allergy)
diff --git a/code/datums/components/space_camo.dm b/code/datums/components/space_camo.dm
index 08b6c106494..50ccab7b181 100644
--- a/code/datums/components/space_camo.dm
+++ b/code/datums/components/space_camo.dm
@@ -8,6 +8,12 @@
var/reveal_after_combat
/// The world time after we can camo again
VAR_PRIVATE/next_camo
+ /// Image we show to our jaunter so they can see where they are
+ var/image/position_indicator
+ /// Icon we draw our position indicator from
+ var/phased_mob_icon = 'icons/obj/weapons/guns/projectiles.dmi'
+ /// Icon state we use for our position indicator
+ var/phased_mob_icon_state = "solarflare"
/datum/component/space_camo/Initialize(space_alpha, non_space_alpha, reveal_after_combat)
if(!ismovable(parent))
@@ -17,10 +23,36 @@
src.non_space_alpha = non_space_alpha
src.reveal_after_combat = reveal_after_combat
+/datum/component/space_camo/RegisterWithParent()
RegisterSignal(parent, COMSIG_ATOM_ENTERING, PROC_REF(on_atom_entering))
+ if(!isliving(parent))
+ return
- if(isliving(parent))
- RegisterSignals(parent, list(COMSIG_ATOM_WAS_ATTACKED, COMSIG_MOB_ITEM_ATTACK, COMSIG_LIVING_UNARMED_ATTACK, COMSIG_ATOM_BULLET_ACT, COMSIG_ATOM_REVEAL), PROC_REF(force_exit_camo))
+ var/mob/living/living_parent = parent
+ position_indicator = image(phased_mob_icon, living_parent, phased_mob_icon_state, ABOVE_LIGHTING_PLANE)
+ SET_PLANE_EXPLICIT(position_indicator, ABOVE_LIGHTING_PLANE, living_parent)
+ position_indicator.appearance_flags |= RESET_ALPHA
+ position_indicator.alpha = 0
+
+ RegisterSignals(parent, list(COMSIG_ATOM_WAS_ATTACKED, COMSIG_MOB_ITEM_ATTACK, COMSIG_LIVING_UNARMED_ATTACK, COMSIG_ATOM_BULLET_ACT, COMSIG_ATOM_REVEAL), PROC_REF(force_exit_camo))
+ RegisterSignal(parent, COMSIG_MOB_LOGIN, PROC_REF(show_client_image))
+ show_client_image(parent)
+
+/datum/component/space_camo/UnregisterFromParent()
+ UnregisterSignal(parent, list(
+ COMSIG_ATOM_ENTERING,
+ COMSIG_ATOM_WAS_ATTACKED,
+ COMSIG_MOB_ITEM_ATTACK,
+ COMSIG_LIVING_UNARMED_ATTACK,
+ COMSIG_ATOM_BULLET_ACT,
+ COMSIG_ATOM_REVEAL,
+ COMSIG_MOB_LOGIN,
+ ))
+ remove_client_image(parent)
+
+/datum/component/space_camo/Destroy(force)
+ . = ..()
+ position_indicator = null
/datum/component/space_camo/proc/on_atom_entering(atom/movable/entering, atom/entered)
SIGNAL_HANDLER
@@ -45,10 +77,22 @@
/datum/component/space_camo/proc/enter_camo(atom/movable/parent)
if(parent.alpha != space_alpha)
animate(parent, alpha = space_alpha, time = 0.5 SECONDS)
+ if (position_indicator)
+ animate(position_indicator, alpha = 255, time = 0.5 SECONDS)
parent.remove_from_all_data_huds()
parent.add_atom_colour(SSparallax.get_parallax_color(), TEMPORARY_COLOUR_PRIORITY)
/datum/component/space_camo/proc/exit_camo(atom/movable/parent)
animate(parent, alpha = non_space_alpha, time = 0.5 SECONDS)
+ if (position_indicator)
+ animate(position_indicator, alpha = 0, time = 0.5 SECONDS)
parent.add_to_all_human_data_huds()
parent.remove_atom_colour(TEMPORARY_COLOUR_PRIORITY)
+
+/datum/component/space_camo/proc/show_client_image(mob/show_to)
+ SIGNAL_HANDLER
+ show_to.client?.images |= position_indicator
+
+/datum/component/space_camo/proc/remove_client_image(mob/remove_from)
+ SIGNAL_HANDLER
+ remove_from.client?.images -= position_indicator
diff --git a/code/datums/components/space_dive.dm b/code/datums/components/space_dive.dm
index bbbeb0bb168..3a172307aab 100644
--- a/code/datums/components/space_dive.dm
+++ b/code/datums/components/space_dive.dm
@@ -82,3 +82,4 @@
/obj/effect/dummy/phased_mob/space_dive
movespeed = 1
+ phased_mob_icon_state = "solarflare"
diff --git a/code/datums/components/storm_hating.dm b/code/datums/components/storm_hating.dm
index ce43ba73276..4060dc09a5e 100644
--- a/code/datums/components/storm_hating.dm
+++ b/code/datums/components/storm_hating.dm
@@ -43,5 +43,5 @@
var/atom/parent_atom = parent
if (!isturf(parent_atom.loc))
return
- parent.AddElement(/datum/element/temporary_atom, life_time = 3 SECONDS, fade_time = 2 SECONDS)
+ parent_atom.fade_into_nothing(life_time = 3 SECONDS, fade_time = 2 SECONDS)
qdel(src)
diff --git a/code/datums/components/style/style.dm b/code/datums/components/style/style.dm
index 364db24212f..66d9235bf31 100644
--- a/code/datums/components/style/style.dm
+++ b/code/datums/components/style/style.dm
@@ -344,7 +344,7 @@
add_action(ACTION_MELEED, 50 * (ismegafauna(attacked) ? 1.5 : 1))
-/datum/component/style/proc/on_mine(datum/source, turf/closed/mineral/rock, give_exp)
+/datum/component/style/proc/on_mine(datum/source, turf/closed/mineral/rock, exp_multiplier)
SIGNAL_HANDLER
if(istype(rock, /turf/closed/mineral/gibtonite))
@@ -363,11 +363,11 @@
return
if(rock.mineralType)
- if(give_exp)
+ if(exp_multiplier)
add_action(ACTION_ORE_MINED, 40)
rock.mineralAmt = ROUND_UP(rock.mineralAmt * (1 + ((rank * 0.1) - 0.3))) // You start out getting 20% less ore, but it goes up to 20% more at S-tier
- else if(give_exp)
+ else if(exp_multiplier)
add_action(ACTION_ROCK_MINED, 25)
/datum/component/style/proc/on_resonator_burst(datum/source, mob/creator, mob/living/hit_living)
diff --git a/code/datums/components/tackle.dm b/code/datums/components/tackle.dm
index b2c19f8c6a0..671044120c0 100644
--- a/code/datums/components/tackle.dm
+++ b/code/datums/components/tackle.dm
@@ -106,7 +106,7 @@
RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(checkObstacle))
playsound(user, 'sound/items/weapons/thudswoosh.ogg', 40, TRUE, -1)
- var/leap_word = isfeline(user) || HAS_TRAIT(user, TRAIT_TACKLING_TAILED_POUNCE) ? "pounce" : "leap" //If cat, "pounce" instead of "leap". // SKYRAT EDIT - FELINE TRAITS. Was: isfelinid(user)
+ var/leap_word = isfeline(user) || HAS_TRAIT(user, TRAIT_TACKLING_TAILED_POUNCE) ? "pounce" : "leap" //If cat, "pounce" instead of "leap". // BUBBER EDIT - FELINE TRAITS. Was: isfelinid(user)
if(can_see(user, clicked_atom, 7))
user.visible_message(span_warning("[user] [leap_word]s at [clicked_atom]!"), span_danger("You [leap_word] at [clicked_atom]!"))
else
@@ -610,9 +610,14 @@
if(windscreen_casualty.type in list(/obj/structure/window, /obj/structure/window/fulltile, /obj/structure/window/unanchored, /obj/structure/window/fulltile/unanchored)) // boring unreinforced windows
for(var/i in 1 to speed)
var/obj/item/shard/shard = new /obj/item/shard(get_turf(user))
- shard.set_embed(/datum/embedding/glass_candy)
+ var/datum/embedding/embed = shard.get_embed()
+ embed.embed_chance = 100
+ embed.ignore_throwspeed_threshold = TRUE
+ embed.impact_pain_mult = 1
user.hitby(shard, skipcatch = TRUE, hitpush = FALSE)
- shard.set_embed(initial(shard.embed_type))
+ embed.embed_chance = initial(embed.embed_chance)
+ embed.ignore_throwspeed_threshold = initial(embed.ignore_throwspeed_threshold)
+ embed.impact_pain_mult = initial(embed.impact_pain_mult)
windscreen_casualty.atom_destruction()
user.adjustStaminaLoss(10 * speed)
user.Paralyze(3 SECONDS)
diff --git a/code/datums/components/throwbonus_on_windup.dm b/code/datums/components/throwbonus_on_windup.dm
index 56e3de5cd81..f93109126d1 100644
--- a/code/datums/components/throwbonus_on_windup.dm
+++ b/code/datums/components/throwbonus_on_windup.dm
@@ -167,5 +167,5 @@
if(4 to 5)
bar_color = "windup_purple"
var/mutable_appearance/bar_overlay = mutable_appearance(icon = icon, icon_state = bar_color, layer = ABOVE_HUD_PLANE)
- bar_overlay.pixel_y = bar_positions[curr_number]
+ bar_overlay.pixel_z = bar_positions[curr_number]
. += bar_overlay
diff --git a/code/datums/components/toggle_attached_clothing.dm b/code/datums/components/toggle_attached_clothing.dm
index 8321119d85e..a1cde8cba63 100644
--- a/code/datums/components/toggle_attached_clothing.dm
+++ b/code/datums/components/toggle_attached_clothing.dm
@@ -48,7 +48,7 @@
if (!isitem(parent))
return COMPONENT_INCOMPATIBLE
if (!deployable_type || !equipped_slot)
- return COMPONENT_INCOMPATIBLE // Not strictly true but INITIALIZE_HINT_QDEL doesn't work from components
+ return COMPONENT_REDUNDANT
src.deployable_type = deployable_type
src.equipped_slot = equipped_slot
src.destroy_on_removal = destroy_on_removal
diff --git a/code/datums/datum.dm b/code/datums/datum.dm
index c3c800bd85c..0dc21ab494d 100644
--- a/code/datums/datum.dm
+++ b/code/datums/datum.dm
@@ -79,6 +79,8 @@
#ifdef DATUMVAR_DEBUGGING_MODE
var/list/cached_vars
#endif
+ ///The layout pref we take from the player looking at this datum's UI to know what layout to give.
+ var/datum/preference/choiced/layout_prefs_used = /datum/preference/choiced/tgui_layout
/**
* Called when a href for this datum is clicked
diff --git a/code/datums/diseases/advance/floor_diseases/carpellosis.dm b/code/datums/diseases/floor_diseases/carpellosis.dm
similarity index 82%
rename from code/datums/diseases/advance/floor_diseases/carpellosis.dm
rename to code/datums/diseases/floor_diseases/carpellosis.dm
index cdeb6051537..5f5fcb9051c 100644
--- a/code/datums/diseases/advance/floor_diseases/carpellosis.dm
+++ b/code/datums/diseases/floor_diseases/carpellosis.dm
@@ -1,11 +1,12 @@
#define GNASHING_RANGE 7
/// Caused by dirty food. Makes you growl at people and bite them spontaneously.
-/datum/disease/advance/carpellosis
+/datum/disease/carpellosis
name = "Carpellosis"
desc = "You have an angry space carp inside."
form = "Parasite"
agent = "Carp Ella"
+ cure_text = "Chlorine"
cures = list(/datum/reagent/chlorine)
viable_mobtypes = list(/mob/living/carbon/human)
spread_flags = DISEASE_SPREAD_NON_CONTAGIOUS
@@ -21,19 +22,7 @@
/// Whether the host has carp ability
var/ability_granted = FALSE
-/datum/disease/advance/carpellosis/New()
- symptoms = list(new/datum/symptom/headache)
- ..()
-
-/datum/disease/advance/carpellosis/generate_cure()
- cures = list(pick(cures))
- var/datum/reagent/cure = GLOB.chemical_reagents_list[cures[1]]
- cure_text = cure.name
-
-/datum/disease/advance/carpellosis/GetDiseaseID()
- return "[type]"
-
-/datum/disease/advance/carpellosis/stage_act(seconds_per_tick, times_fired)
+/datum/disease/carpellosis/stage_act(seconds_per_tick, times_fired)
. = ..()
if(!.)
return
@@ -62,12 +51,12 @@
else if(SPT_PROB(2, seconds_per_tick) && affected_mob.stat == CONSCIOUS)
affected_mob.visible_message("gnashes.", visible_message_flags = EMOTE_MESSAGE)
-/datum/disease/advance/carpellosis/Destroy()
+/datum/disease/carpellosis/Destroy()
if(ability_granted)
QDEL_NULL(rift_ability)
return ..()
-/datum/disease/advance/carpellosis/cure(add_resistance = TRUE)
+/datum/disease/carpellosis/cure(add_resistance = TRUE)
if(ability_granted)
rift_ability.Remove(affected_mob)
if(max_stage_reached && prob(ella_spawn_chance))
@@ -75,7 +64,7 @@
new /mob/living/basic/carp/ella(affected_mob.loc)
return ..()
-/datum/disease/advance/carpellosis/proc/grant_ability()
+/datum/disease/carpellosis/proc/grant_ability()
if(ability_granted)
return
rift_ability = new(src)
@@ -83,13 +72,13 @@
rift_ability.HideFrom(affected_mob)
ability_granted = TRUE
-/datum/disease/advance/carpellosis/proc/find_nearby_human()
+/datum/disease/carpellosis/proc/find_nearby_human()
var/list/surroundings = orange(GNASHING_RANGE, affected_mob)
for(var/mob/human as anything in typecache_filter_list(surroundings, typecacheof(/mob/living/carbon/human)))
if(human.stat != DEAD && !(HAS_TRAIT(human, TRAIT_FAKEDEATH)))
return human
-/datum/disease/advance/carpellosis/proc/gnash_someone()
+/datum/disease/carpellosis/proc/gnash_someone()
var/mob/living/carbon/human/target = find_nearby_human()
if(isnull(target) || !affected_mob.get_bodypart(BODY_ZONE_HEAD)) // Need mouth to gnash
to_chat(affected_mob, span_warning("You want to gnash at someone..."))
diff --git a/code/datums/diseases/advance/floor_diseases/gastritium.dm b/code/datums/diseases/floor_diseases/gastritium.dm
similarity index 78%
rename from code/datums/diseases/advance/floor_diseases/gastritium.dm
rename to code/datums/diseases/floor_diseases/gastritium.dm
index 318810eabd5..dfa445a0648 100644
--- a/code/datums/diseases/advance/floor_diseases/gastritium.dm
+++ b/code/datums/diseases/floor_diseases/gastritium.dm
@@ -1,9 +1,10 @@
/// Caused by dirty food. Makes you burp out Tritium, sometimes burning hot!
-/datum/disease/advance/gastritium
+/datum/disease/gastritium
name = "Gastritium"
desc = "If left untreated, may manifest in severe Tritium heartburn."
form = "Infection"
agent = "Atmobacter Polyri"
+ cure_text = "Milk"
cures = list(/datum/reagent/consumable/milk)
viable_mobtypes = list(/mob/living/carbon/human)
spread_flags = DISEASE_SPREAD_NON_CONTAGIOUS
@@ -13,19 +14,7 @@
/// The chance of burped out tritium to be hot during max stage
var/tritium_burp_hot_chance = 10
-/datum/disease/advance/gastritium/New()
- symptoms = list(new/datum/symptom/fever)
- ..()
-
-/datum/disease/advance/gastritium/generate_cure()
- cures = list(pick(cures))
- var/datum/reagent/cure = GLOB.chemical_reagents_list[cures[1]]
- cure_text = cure.name
-
-/datum/disease/advance/gastritium/GetDiseaseID()
- return "[type]"
-
-/datum/disease/advance/gastritium/stage_act(seconds_per_tick, times_fired)
+/datum/disease/gastritium/stage_act(seconds_per_tick, times_fired)
. = ..()
if(!.)
return
@@ -49,8 +38,10 @@
to_chat(affected_mob, span_warning("You feel like you're about to delam..."))
else if(SPT_PROB(1, seconds_per_tick))
tritium_burp(hot_chance = TRUE)
+ var/change_limit = max(affected_mob.get_body_temp_heat_damage_limit() - 5 - affected_mob.get_body_temp_normal(apply_change=FALSE), 0)
+ affected_mob.add_body_temperature_change("gastritium", min(15 * stage, change_limit))
-/datum/disease/advance/gastritium/proc/tritium_burp(hot_chance = FALSE)
+/datum/disease/gastritium/proc/tritium_burp(hot_chance = FALSE)
var/datum/gas_mixture/burp = new
ADD_GAS(/datum/gas/tritium, burp.gases)
burp.gases[/datum/gas/tritium][MOLES] = MOLES_GAS_VISIBLE
diff --git a/code/datums/diseases/advance/floor_diseases/nebula_nausea.dm b/code/datums/diseases/floor_diseases/nebula_nausea.dm
similarity index 77%
rename from code/datums/diseases/advance/floor_diseases/nebula_nausea.dm
rename to code/datums/diseases/floor_diseases/nebula_nausea.dm
index 4961d1afeef..85d7716a1d3 100644
--- a/code/datums/diseases/advance/floor_diseases/nebula_nausea.dm
+++ b/code/datums/diseases/floor_diseases/nebula_nausea.dm
@@ -1,9 +1,10 @@
/// Caused by dirty food. Makes you vomit stars.
-/datum/disease/advance/nebula_nausea
+/datum/disease/nebula_nausea
name = "Nebula Nausea"
desc = "You can't contain the colorful beauty of the cosmos inside."
form = "Condition"
agent = "Stars"
+ cure_text = "Space Cleaner"
cures = list(/datum/reagent/space_cleaner)
viable_mobtypes = list(/mob/living/carbon/human)
spread_flags = DISEASE_SPREAD_NON_CONTAGIOUS
@@ -11,18 +12,6 @@
required_organ = ORGAN_SLOT_STOMACH
max_stages = 5
-/datum/disease/advance/nebula_nausea/New()
- symptoms = list(new/datum/symptom/vomit/nebula)
- ..()
-
-/datum/disease/advance/nebula_nausea/generate_cure()
- cures = list(pick(cures))
- var/datum/reagent/cure = GLOB.chemical_reagents_list[cures[1]]
- cure_text = cure.name
-
-/datum/disease/advance/nebula_nausea/GetDiseaseID()
- return "[type]"
-
/datum/disease/advance/nebula_nausea/stage_act(seconds_per_tick, times_fired)
. = ..()
if(!.)
@@ -41,3 +30,5 @@
if(5)
if(SPT_PROB(1, seconds_per_tick) && affected_mob.stat == CONSCIOUS)
to_chat(affected_mob, span_warning("Your stomach has become a turbulent nebula, swirling with kaleidoscopic patterns."))
+ else
+ affected_mob.vomit(vomit_flags = (MOB_VOMIT_MESSAGE | MOB_VOMIT_HARM), vomit_type = /obj/effect/decal/cleanable/vomit/nebula, lost_nutrition = 10, distance = 2)
diff --git a/code/datums/dna.dm b/code/datums/dna.dm
index f8424a865db..98ad9f17375 100644
--- a/code/datums/dna.dm
+++ b/code/datums/dna.dm
@@ -713,8 +713,7 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block())
..()
var/structure = dna.unique_identity
skin_tone = GLOB.skin_tones[deconstruct_block(get_uni_identity_block(structure, DNA_SKIN_TONE_BLOCK), GLOB.skin_tones.len)]
- eye_color_left = sanitize_hexcolor(get_uni_identity_block(structure, DNA_EYE_COLOR_LEFT_BLOCK))
- eye_color_right = sanitize_hexcolor(get_uni_identity_block(structure, DNA_EYE_COLOR_RIGHT_BLOCK))
+ set_eye_color(sanitize_hexcolor(get_uni_identity_block(structure, DNA_EYE_COLOR_LEFT_BLOCK)), sanitize_hexcolor(get_uni_identity_block(structure, DNA_EYE_COLOR_RIGHT_BLOCK)))
set_haircolor(sanitize_hexcolor(get_uni_identity_block(structure, DNA_HAIR_COLOR_BLOCK)), update = FALSE)
set_facial_haircolor(sanitize_hexcolor(get_uni_identity_block(structure, DNA_FACIAL_HAIR_COLOR_BLOCK)), update = FALSE)
set_hair_gradient_color(sanitize_hexcolor(get_uni_identity_block(structure, DNA_HAIR_COLOR_GRADIENT_BLOCK)), update = FALSE)
diff --git a/code/datums/elements/death_drops.dm b/code/datums/elements/death_drops.dm
index c02ba37cad7..02629daaf8d 100644
--- a/code/datums/elements/death_drops.dm
+++ b/code/datums/elements/death_drops.dm
@@ -25,9 +25,30 @@
///signal called by the stat of the target changing
/datum/element/death_drops/proc/on_death(mob/living/target, gibbed)
SIGNAL_HANDLER
+ var/atom/loot_loc = target.drop_location()
for(var/thing_to_spawn in loot)
- if(loot[thing_to_spawn]) //If this is an assoc list, use the value of that to get the right amount
- for(var/index in 1 to loot[thing_to_spawn])
- new thing_to_spawn(target.drop_location())
- else
- new thing_to_spawn(target.drop_location())
+ for(var/i in 1 to (loot[thing_to_spawn] || 1))
+ create_loot(thing_to_spawn, loot_loc, target, gibbed)
+
+/// Handles creating the loots
+/datum/element/death_drops/proc/create_loot(typepath, atom/loot_loc, mob/living/dead, gibbed)
+ if(ispath(typepath, /obj/effect/mob_spawn/corpse))
+ handle_corpse(typepath, loot_loc, dead, gibbed)
+ return
+
+ new typepath(loot_loc)
+
+/// Handles snowflake case of mob corpses
+/datum/element/death_drops/proc/handle_corpse(typepath, atom/loot_loc, mob/living/dead, gibbed)
+ var/obj/effect/mob_spawn/corpse/spawner = new typepath(loot_loc, TRUE)
+ var/mob/living/body = spawner.create()
+ // done before the gib check so the bodyparts will be damaged
+ body.setBruteLoss(dead.getBruteLoss())
+ body.setFireLoss(dead.getFireLoss())
+ // if gibbed, dispose of the body
+ if(gibbed)
+ body.gib(DROP_ALL_REMAINS)
+ return
+ // otherwise continue with the rest of the damage types
+ body.setToxLoss(dead.getToxLoss())
+ body.setOxyLoss(dead.getOxyLoss())
diff --git a/code/datums/elements/decals/blood.dm b/code/datums/elements/decals/blood.dm
index 3d16df0c612..9410558a60a 100644
--- a/code/datums/elements/decals/blood.dm
+++ b/code/datums/elements/decals/blood.dm
@@ -1,35 +1,43 @@
/datum/element/decal/blood
+ /// Whenever the parent atom has a color filter applied to it, and thus needs additional overlay handling
+ var/uses_filter = FALSE
-/datum/element/decal/blood/Attach(datum/target, _icon, _icon_state, _dir, _plane, _layer, _alpha, _color, _smoothing, _cleanable=CLEAN_TYPE_BLOOD, _description, mutable_appearance/_pic)
- if(!isitem(target))
+/datum/element/decal/blood/Attach(datum/target, _icon, _icon_state, _dir, _plane, _layer, _alpha, _color, _smoothing, _cleanable=CLEAN_TYPE_BLOOD, _description, mutable_appearance/_pic, _uses_filter)
+ if (!isitem(target))
return ELEMENT_INCOMPATIBLE
+ var/obj/item/as_item = target
+ if (_uses_filter != !isnull(as_item.cached_color_filter))
+ as_item.AddElement(type, _icon, _icon_state, _dir, _plane, _layer, _alpha, _color, _smoothing, _cleanable, _description, _pic, !isnull(as_item.cached_color_filter))
+ return
+
+ uses_filter = _uses_filter
. = ..()
- RegisterSignal(target, COMSIG_ATOM_GET_EXAMINE_NAME, PROC_REF(get_examine_name), TRUE)
+ RegisterSignal(as_item, COMSIG_ATOM_GET_EXAMINE_NAME, PROC_REF(get_examine_name), TRUE)
+ RegisterSignal(as_item, COMSIG_ATOM_COLOR_UPDATED, PROC_REF(on_color_update), TRUE)
/datum/element/decal/blood/Detach(atom/source)
- UnregisterSignal(source, COMSIG_ATOM_GET_EXAMINE_NAME)
- if(isitem(source))
+ UnregisterSignal(source, list(COMSIG_ATOM_GET_EXAMINE_NAME, COMSIG_ATOM_COLOR_UPDATED))
+ if (isitem(source))
var/obj/item/source_item = source
REMOVE_KEEP_TOGETHER(source_item, type)
return ..()
/datum/element/decal/blood/generate_appearance(_icon, _icon_state, _dir, _plane, _layer, _color, _alpha, _smoothing, source)
- var/obj/item/I = source
- ADD_KEEP_TOGETHER(I, type)
- var/icon = I.icon
- var/icon_state = I.icon_state
- if(!icon || !icon_state)
- // It's something which takes on the look of other items, probably
- icon = I.icon
- icon_state = I.icon_state
- var/icon/icon_for_size = icon(icon, icon_state)
+ var/obj/item/as_item = source
+ ADD_KEEP_TOGETHER(as_item, type)
+ var/icon/icon_for_size = icon(as_item.icon, as_item.icon_state)
var/scale_factor_x = icon_for_size.Width()/ICON_SIZE_X
var/scale_factor_y = icon_for_size.Height()/ICON_SIZE_Y
- var/mutable_appearance/blood_splatter = mutable_appearance('icons/effects/blood.dmi', "itemblood", appearance_flags = KEEP_APART|RESET_COLOR) //MA of the blood that we apply
+ var/mutable_appearance/blood_splatter = mutable_appearance('icons/effects/blood.dmi', "itemblood", appearance_flags = RESET_COLOR) //MA of the blood that we apply
blood_splatter.transform = blood_splatter.transform.Scale(scale_factor_x, scale_factor_y)
blood_splatter.blend_mode = BLEND_INSET_OVERLAY
blood_splatter.color = _color
+ if (uses_filter)
+ blood_splatter.appearance_flags |= KEEP_APART
+ if (!as_item.render_target)
+ as_item.render_target = "blood_target_[REF(as_item)]"
+ blood_splatter.add_filter("blood_cutout", -1, alpha_mask_filter(render_source = as_item.render_target))
pic = blood_splatter
return TRUE
@@ -37,3 +45,13 @@
SIGNAL_HANDLER
override[EXAMINE_POSITION_BEFORE] = "blood-stained"
+
+/datum/element/decal/blood/proc/on_color_update(obj/item/source, color_updated)
+ SIGNAL_HANDLER
+
+ if (!color_updated || uses_filter == !isnull(source.cached_color_filter))
+ return
+
+ Detach(source)
+ source.AddElement(type, pic.icon, base_icon_state, directional, pic.plane, pic.layer, pic.alpha, pic.color, smoothing, cleanable, description, null, !isnull(source.cached_color_filter))
+ return COMPONENT_CANCEL_COLOR_APPEARANCE_UPDATE
diff --git a/code/datums/elements/door_pryer.dm b/code/datums/elements/door_pryer.dm
index 3e2bd2c5a43..677b5527194 100644
--- a/code/datums/elements/door_pryer.dm
+++ b/code/datums/elements/door_pryer.dm
@@ -69,3 +69,4 @@
return
attacker.visible_message(span_warning("[attacker] forces the [airlock_target] to open."))
airlock_target.open(BYPASS_DOOR_CHECKS)
+ airlock_target.take_damage(AIRLOCK_PRY_DAMAGE, BRUTE, sound_effect = FALSE)
diff --git a/code/datums/elements/hat_wearer.dm b/code/datums/elements/hat_wearer.dm
index 504a93f688e..068c9999f33 100644
--- a/code/datums/elements/hat_wearer.dm
+++ b/code/datums/elements/hat_wearer.dm
@@ -46,8 +46,8 @@
if(isnull(hat))
return
var/mutable_appearance/hat_overlay = mutable_appearance(hat.worn_icon, hat.icon_state)
- hat_overlay.pixel_x = offsets[1]
- hat_overlay.pixel_y = offsets[2]
+ hat_overlay.pixel_w = offsets[1]
+ hat_overlay.pixel_z = offsets[2]
overlays += hat_overlay
/datum/element/hat_wearer/proc/exited(atom/movable/source, atom/movable/exited)
diff --git a/code/datums/elements/immerse.dm b/code/datums/elements/immerse.dm
index f5c1e755718..60b6d67eefd 100644
--- a/code/datums/elements/immerse.dm
+++ b/code/datums/elements/immerse.dm
@@ -189,13 +189,13 @@ GLOBAL_LIST_INIT(immerse_ignored_movable, typecacheof(list(
var/last_i = width/ICON_SIZE_X
for(var/i in -1 to last_i)
var/mutable_appearance/underwater = mutable_appearance(icon, icon_state)
- underwater.pixel_x = ICON_SIZE_X * i - extra_width
- underwater.pixel_y = -ICON_SIZE_Y - extra_height
+ underwater.pixel_w = ICON_SIZE_X * i - extra_width
+ underwater.pixel_z = -ICON_SIZE_Y - extra_height
overlay_appearance.overlays += underwater
var/mutable_appearance/water_level = is_below_water ? underwater : mutable_appearance(immerse_icon)
- water_level.pixel_x = ICON_SIZE_X * i - extra_width
- water_level.pixel_y = -extra_height
+ water_level.pixel_w = ICON_SIZE_X * i - extra_width
+ water_level.pixel_z = -extra_height
overlay_appearance.overlays += water_level
diff --git a/code/datums/elements/movetype_handler.dm b/code/datums/elements/movetype_handler.dm
index ed10a8825b8..bc12f76b42e 100644
--- a/code/datums/elements/movetype_handler.dm
+++ b/code/datums/elements/movetype_handler.dm
@@ -49,6 +49,8 @@
source.movement_type |= flag
if(!(old_state & (FLOATING|FLYING)) && (source.movement_type & (FLOATING|FLYING)) && !HAS_TRAIT(source, TRAIT_NO_FLOATING_ANIM))
DO_FLOATING_ANIM(source)
+ if(source.movement_type & UPSIDE_DOWN)
+ ADD_TRAIT(source, TRAIT_IGNORE_ELEVATION, SOURCE_MOVETYPES)
SEND_SIGNAL(source, COMSIG_MOVETYPE_FLAG_ENABLED, flag, old_state)
/// Called when a movement type trait is removed from the movable. Disables the relative bitflag if it wasn't there in the compile-time bitfield.
@@ -64,6 +66,8 @@
var/turf/pitfall = source.loc //Things that don't fly fall in open space.
if(istype(pitfall))
pitfall.zFall(source)
+ if((old_state & UPSIDE_DOWN) && !(source.movement_type & UPSIDE_DOWN))
+ REMOVE_TRAIT(source, TRAIT_IGNORE_ELEVATION, SOURCE_MOVETYPES)
SEND_SIGNAL(source, COMSIG_MOVETYPE_FLAG_DISABLED, flag, old_state)
/// Called when the TRAIT_NO_FLOATING_ANIM trait is added to the movable. Stops it from bobbing up and down.
diff --git a/code/datums/elements/slapcrafting.dm b/code/datums/elements/slapcrafting.dm
index 046a8668a29..b51fa24909f 100644
--- a/code/datums/elements/slapcrafting.dm
+++ b/code/datums/elements/slapcrafting.dm
@@ -108,8 +108,8 @@
var/error_string = craft_sheet.construct_item(user, actual_recipe)
- if(!isatom(error_string))
- to_chat(user, span_warning("crafting failed" + error_string))
+ if(istext(error_string))
+ to_chat(user, span_warning("Crafting failed[error_string]"))
/// Alerts any examiners to the recipe, if they wish to know more.
/datum/element/slapcrafting/proc/get_examine_info(atom/source, mob/user, list/examine_list)
diff --git a/code/datums/elements/temporary_atom.dm b/code/datums/elements/temporary_atom.dm
deleted file mode 100644
index 6f91e8360b6..00000000000
--- a/code/datums/elements/temporary_atom.dm
+++ /dev/null
@@ -1,17 +0,0 @@
-/// Deletes the atom with a little fading out animation after a specified time
-/datum/element/temporary_atom
-
-/datum/element/temporary_atom/Attach(datum/target, life_time = 5 SECONDS, fade_time = 3 SECONDS)
- . = ..()
- if (!isatom(target))
- return ELEMENT_INCOMPATIBLE
-
- addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(qdel), WEAKREF(target)), life_time, TIMER_DELETE_ME)
- if (life_time > fade_time && fade_time > 0)
- addtimer(CALLBACK(src, PROC_REF(fade_out), WEAKREF(target), fade_time), life_time - fade_time, TIMER_DELETE_ME)
-
-/datum/element/temporary_atom/proc/fade_out(datum/weakref/target_ref, fade_time)
- var/atom/target = target_ref?.resolve()
- if (isnull(target))
- return
- animate(target, alpha = 0, time = fade_time, flags = ANIMATION_PARALLEL)
diff --git a/code/datums/elements/undertile.dm b/code/datums/elements/undertile.dm
index 54c4ebab6cd..1f79c308fa7 100644
--- a/code/datums/elements/undertile.dm
+++ b/code/datums/elements/undertile.dm
@@ -51,7 +51,7 @@
if(PLANE_TO_TRUE(source.plane) != FLOOR_PLANE)
// We do this so that turfs that allow you to see what's underneath them don't have to be on the game plane (which causes ambient occlusion weirdness)
SET_PLANE_IMPLICIT(source, FLOOR_PLANE)
- source.layer = ABOVE_OPEN_TURF_LAYER
+ source.layer = BELOW_CATWALK_LAYER
ADD_TRAIT(source, TRAIT_UNDERFLOOR, REF(src))
diff --git a/code/datums/elements/wearable_client_colour.dm b/code/datums/elements/wearable_client_colour.dm
index 8757dd1098c..d2fde7cffc4 100644
--- a/code/datums/elements/wearable_client_colour.dm
+++ b/code/datums/elements/wearable_client_colour.dm
@@ -6,6 +6,8 @@
var/datum/client_colour/colour_type
///The slot(s) that enable the client colour
var/equip_slots = NONE
+ ///Source for the client colour
+ var/colour_source
///For items that want costumizable client colours
var/custom_colour
///if forced is false, we check that the user has the TRAIT_SEE_WORN_COLOURS before adding the colour.
@@ -13,7 +15,7 @@
///On examine, it'll tell which you have to press to toggle TRAIT_SEE_WORN_COLOURS.
var/key_info = "Figure it out yourself how"
-/datum/element/wearable_client_colour/Attach(obj/item/target, colour_type, equip_slots, custom_colour, forced = FALSE, comsig_toggle = COMSIG_CLICK_ALT)
+/datum/element/wearable_client_colour/Attach(obj/item/target, colour_type, equip_slots, colour_source, custom_colour, forced = FALSE, comsig_toggle = COMSIG_CLICK_ALT)
. = ..()
if(!isitem(target))
return ELEMENT_INCOMPATIBLE
@@ -23,6 +25,7 @@
src.colour_type = colour_type
src.equip_slots = equip_slots
+ src.colour_source = colour_source
src.custom_colour = custom_colour
src.forced = forced
@@ -90,19 +93,19 @@
var/datum/client_colour/colour_to_add = colour_type
if(custom_colour)
colour_to_add = new colour_to_add
- colour_to_add.colour = custom_colour
- equipper.add_client_colour(colour_to_add)
+ colour_to_add.color = custom_colour
+ equipper.add_client_colour(colour_to_add, colour_source)
/datum/element/wearable_client_colour/proc/on_trait_removed(mob/source, trait)
SIGNAL_HANDLER
- source.remove_client_colour(colour_type)
+ source.remove_client_colour(colour_source)
/datum/element/wearable_client_colour/proc/remove_client_colour(mob/dropper)
if(!forced)
UnregisterSignal(dropper, list(SIGNAL_ADDTRAIT(TRAIT_SEE_WORN_COLOURS), SIGNAL_REMOVETRAIT(TRAIT_SEE_WORN_COLOURS)))
if(!HAS_TRAIT(dropper, TRAIT_SEE_WORN_COLOURS))
return
- dropper.remove_client_colour(colour_type)
+ dropper.remove_client_colour(colour_source)
/datum/element/wearable_client_colour/proc/toggle_see_worn_colors(obj/item/source, mob/clicker)
SIGNAL_HANDLER
diff --git a/code/datums/embedding.dm b/code/datums/embedding.dm
index f52b01bec5a..b83aa4d1430 100644
--- a/code/datums/embedding.dm
+++ b/code/datums/embedding.dm
@@ -35,6 +35,10 @@
var/pain_stam_pct = 0
/// Traits which make target immune to us embedding into them, any trait from the list works
var/list/immune_traits = list(TRAIT_PIERCEIMMUNE)
+ /// The embed doesn't show up on examine, only on health analyzers.
+ /// (Note: This means you can't rip it out)
+ /// It will also hide its name (and downplay its severity) when referring to in messages.
+ var/stealthy_embed = FALSE
/// Thing that we're attached to
VAR_FINAL/obj/item/parent
@@ -85,6 +89,7 @@
brother.jostle_pain_mult = jostle_pain_mult
brother.pain_stam_pct = pain_stam_pct
brother.immune_traits = immune_traits.Copy()
+ brother.stealthy_embed = stealthy_embed
return brother
///Someone inspected our embeddable item
@@ -222,12 +227,13 @@
var/damage = parent.throwforce
if (!is_harmless(consider_stamina = TRUE))
- owner.throw_alert(ALERT_EMBEDDED_OBJECT, /atom/movable/screen/alert/embeddedobject)
+ if(!stealthy_embed)
+ owner.throw_alert(ALERT_EMBEDDED_OBJECT, /atom/movable/screen/alert/embeddedobject)
+ owner.add_mood_event("embedded", /datum/mood_event/embedded)
if (!is_harmless())
playsound(owner,'sound/items/weapons/bladeslice.ogg', 40)
if (owner_limb.can_bleed())
parent.add_mob_blood(owner) // it embedded itself in you, of course it's bloody!
- owner.add_mood_event("embedded", /datum/mood_event/embedded)
damage += parent.w_class * impact_pain_mult
SEND_SIGNAL(parent, COMSIG_ITEM_EMBEDDED, victim, target_limb)
@@ -397,7 +403,10 @@
damagetype = STAMINA,
)
- to_chat(owner, span_userdanger("[parent] embedded in your [owner_limb.plaintext_zone] jostles and stings!"))
+ if(stealthy_embed)
+ to_chat(owner, span_danger("Something in your [owner_limb.plaintext_zone] jostles and stings!"))
+ else
+ to_chat(owner, span_userdanger("[parent] embedded in your [owner_limb.plaintext_zone] jostles and stings!"))
jostle_effects()
/// Effects which should occur when the owner moves, sometimes
@@ -465,8 +474,10 @@
damage = pain_stam_pct * damage,
damagetype = STAMINA,
)
-
- to_chat(owner, span_userdanger("[parent] embedded in your [owner_limb.plaintext_zone] [pain_stam_pct < 1 ? "hurts!" : "weighs you down."]"))
+ if(stealthy_embed)
+ to_chat(owner, span_danger("Something in your [owner_limb.plaintext_zone] [pain_stam_pct < 1 ? "hurts!" : "weighs you down."]"))
+ else
+ to_chat(owner, span_userdanger("[parent] embedded in your [owner_limb.plaintext_zone] [pain_stam_pct < 1 ? "hurts!" : "weighs you down."]"))
/// Called every process, return TRUE in order to abort further processing - if it falls out, etc
/datum/embedding/proc/process_effect(seconds_per_tick)
@@ -513,8 +524,8 @@
/// Called when then item randomly falls out of a carbon. This handles the damage and descriptors, then calls remove_embedding()
/datum/embedding/proc/fall_out()
if(is_harmless())
- owner.visible_message(span_danger("[parent] falls off of [owner.name]'s [owner_limb.plaintext_zone]!"),
- span_userdanger("[parent] falls off of your [owner_limb.plaintext_zone]!"))
+ owner.visible_message(span_warning("[parent] falls off of [owner.name]'s [owner_limb.plaintext_zone]!"),
+ span_warning("[parent] falls off of your [owner_limb.plaintext_zone]!"))
remove_embedding()
return
diff --git a/code/datums/greyscale/_greyscale_config.dm b/code/datums/greyscale/_greyscale_config.dm
index fb878776d3f..1367ab747b0 100644
--- a/code/datums/greyscale/_greyscale_config.dm
+++ b/code/datums/greyscale/_greyscale_config.dm
@@ -30,6 +30,9 @@
/// The md5 file hash for the json configuration. Used to check if the file has changed
var/json_config_hash
+ /// The raw string contents of the JSON config file.
+ var/raw_json_string
+
/// String path to the icon file, used for reloading
var/string_icon_file
@@ -113,13 +116,13 @@
var/changed = FALSE
json_config = file(string_json_config)
- var/json_hash = md5asfile(json_config)
+ var/json_hash = rustg_hash_file("md5", string_json_config)
if(json_config_hash != json_hash)
json_config_hash = json_hash
changed = TRUE
icon_file = file(string_icon_file)
- var/icon_hash = md5asfile(icon_file)
+ var/icon_hash = rustg_hash_file("md5", icon_file)
if(icon_file_hash != icon_hash)
icon_file_hash = icon_hash
changed = TRUE
@@ -131,7 +134,8 @@
if(!changed)
return FALSE
- var/list/raw = json_decode(file2text(json_config))
+ raw_json_string = rustg_file_read(string_json_config)
+ var/list/raw = json_decode(raw_json_string)
ReadIconStateConfiguration(raw)
if(!length(icon_states))
diff --git a/code/datums/greyscale/config_types/greyscale_configs/greyscale_clothes.dm b/code/datums/greyscale/config_types/greyscale_configs/greyscale_clothes.dm
index 83491e77907..f9a2c25d8f3 100644
--- a/code/datums/greyscale/config_types/greyscale_configs/greyscale_clothes.dm
+++ b/code/datums/greyscale/config_types/greyscale_configs/greyscale_clothes.dm
@@ -830,3 +830,12 @@ SKYRAT EDIT END */
/datum/greyscale_config/jester_hat/worn
name = "Jester Hat (Worn)"
icon_file = 'icons/mob/clothing/head/costume.dmi'
+
+/datum/greyscale_config/fedora
+ name = "Fedora"
+ icon_file = 'icons/obj/clothing/head/hats.dmi'
+ json_config = 'code/datums/greyscale/json_configs/fedora.json'
+
+/datum/greyscale_config/fedora/worn
+ name = "Fedora (Worn)"
+ icon_file = 'icons/mob/clothing/head/hats.dmi'
diff --git a/code/datums/greyscale/config_types/greyscale_configs/greyscale_effects.dm b/code/datums/greyscale/config_types/greyscale_configs/greyscale_effects.dm
index 91cfb618c21..4d55a21963f 100644
--- a/code/datums/greyscale/config_types/greyscale_configs/greyscale_effects.dm
+++ b/code/datums/greyscale/config_types/greyscale_configs/greyscale_effects.dm
@@ -3,7 +3,7 @@
icon_file = 'icons/effects/96x96.dmi'
json_config = 'code/datums/greyscale/json_configs/heretic_rune.json'
-/datum/greyscale_config/manipulator_hand
- name = "Manipulator Hand"
+/datum/greyscale_config/manipulator_arm
+ name = "Manipulator Arm"
icon_file = 'icons/obj/machines/big_manipulator_parts/big_manipulator_hand.dmi'
json_config = 'code/datums/greyscale/json_configs/manipulator_hand.json'
diff --git a/code/datums/greyscale/config_types/greyscale_configs/greyscale_objects.dm b/code/datums/greyscale/config_types/greyscale_configs/greyscale_objects.dm
index 9556612be18..4f17ad5ae57 100644
--- a/code/datums/greyscale/config_types/greyscale_configs/greyscale_objects.dm
+++ b/code/datums/greyscale/config_types/greyscale_configs/greyscale_objects.dm
@@ -122,6 +122,11 @@
icon_file = 'icons/obj/pipes_n_cables/stationary_canisters.dmi'
json_config = 'code/datums/greyscale/json_configs/smooth_canister_stationary.json'
+/datum/greyscale_config/stationary_canister_overlays
+ name = "Stationary Canister"
+ icon_file = 'icons/obj/pipes_n_cables/stationary_canisters_misc.dmi'
+ json_config = 'code/datums/greyscale/json_configs/smooth_canister_stationary_overlays.json'
+
// MISC ATMOSPHERICS
/datum/greyscale_config/meter
name = "Meter"
diff --git a/code/datums/greyscale/json_configs/fedora.json b/code/datums/greyscale/json_configs/fedora.json
new file mode 100644
index 00000000000..2b7f6d0f89f
--- /dev/null
+++ b/code/datums/greyscale/json_configs/fedora.json
@@ -0,0 +1,16 @@
+{
+ "fedora_greyscale": [
+ {
+ "type": "icon_state",
+ "icon_state": "fedora_base",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ },
+ {
+ "type": "icon_state",
+ "icon_state": "fedora_sash",
+ "blend_mode": "overlay",
+ "color_ids": [ 2 ]
+ }
+ ]
+}
diff --git a/code/datums/greyscale/json_configs/smooth_canister_stationary.json b/code/datums/greyscale/json_configs/smooth_canister_stationary.json
index df01ce1e6d2..62e97d22f76 100644
--- a/code/datums/greyscale/json_configs/smooth_canister_stationary.json
+++ b/code/datums/greyscale/json_configs/smooth_canister_stationary.json
@@ -1,184 +1,376 @@
{
- "smooth": [
+ "canister-0": [
{
"type": "icon_state",
- "icon_state": "smooth",
+ "icon_state": "canister-0",
"blend_mode": "overlay",
"color_ids": [ 1 ]
}
],
- "window-fg": [
+ "canister-1": [
{
"type": "icon_state",
- "icon_state": "window-fg",
+ "icon_state": "canister-1",
"blend_mode": "overlay",
"color_ids": [ 1 ]
}
],
- "window-bg": [
+ "canister-2": [
{
"type": "icon_state",
- "icon_state": "window-bg",
+ "icon_state": "canister-2",
"blend_mode": "overlay",
"color_ids": [ 1 ]
}
],
- "1-i": [
+ "canister-3": [
{
"type": "icon_state",
- "icon_state": "1-i",
+ "icon_state": "canister-3",
"blend_mode": "overlay",
"color_ids": [ 1 ]
}
],
- "2-i": [
+ "canister-4": [
{
"type": "icon_state",
- "icon_state": "2-i",
+ "icon_state": "canister-4",
"blend_mode": "overlay",
"color_ids": [ 1 ]
}
],
- "3-i": [
+ "canister-5": [
{
"type": "icon_state",
- "icon_state": "3-i",
+ "icon_state": "canister-5",
"blend_mode": "overlay",
"color_ids": [ 1 ]
}
],
- "4-i": [
+ "canister-6": [
{
"type": "icon_state",
- "icon_state": "4-i",
+ "icon_state": "canister-6",
"blend_mode": "overlay",
"color_ids": [ 1 ]
}
],
- "1-n": [
+ "canister-7": [
{
"type": "icon_state",
- "icon_state": "1-n",
+ "icon_state": "canister-7",
"blend_mode": "overlay",
"color_ids": [ 1 ]
}
],
- "2-n": [
+ "canister-8": [
{
"type": "icon_state",
- "icon_state": "2-n",
+ "icon_state": "canister-8",
"blend_mode": "overlay",
"color_ids": [ 1 ]
}
],
- "3-s": [
+ "canister-9": [
{
"type": "icon_state",
- "icon_state": "3-s",
+ "icon_state": "canister-9",
"blend_mode": "overlay",
"color_ids": [ 1 ]
}
],
- "4-s": [
+ "canister-10": [
{
"type": "icon_state",
- "icon_state": "4-s",
+ "icon_state": "canister-10",
"blend_mode": "overlay",
"color_ids": [ 1 ]
}
],
- "1-w": [
+ "canister-11": [
{
"type": "icon_state",
- "icon_state": "1-w",
+ "icon_state": "canister-11",
"blend_mode": "overlay",
"color_ids": [ 1 ]
}
],
- "2-e": [
+ "canister-12": [
{
"type": "icon_state",
- "icon_state": "2-e",
+ "icon_state": "canister-12",
"blend_mode": "overlay",
"color_ids": [ 1 ]
}
],
- "3-w": [
+ "canister-13": [
{
"type": "icon_state",
- "icon_state": "3-w",
+ "icon_state": "canister-13",
"blend_mode": "overlay",
"color_ids": [ 1 ]
}
],
- "4-e": [
+ "canister-14": [
{
"type": "icon_state",
- "icon_state": "4-e",
+ "icon_state": "canister-14",
"blend_mode": "overlay",
"color_ids": [ 1 ]
}
],
- "1-nw": [
+ "canister-15": [
{
"type": "icon_state",
- "icon_state": "1-nw",
+ "icon_state": "canister-15",
"blend_mode": "overlay",
"color_ids": [ 1 ]
}
],
- "2-ne": [
+ "canister-21": [
{
"type": "icon_state",
- "icon_state": "2-ne",
+ "icon_state": "canister-21",
"blend_mode": "overlay",
"color_ids": [ 1 ]
}
],
- "3-sw": [
+ "canister-23": [
{
"type": "icon_state",
- "icon_state": "3-sw",
+ "icon_state": "canister-23",
"blend_mode": "overlay",
"color_ids": [ 1 ]
}
],
- "4-se": [
+ "canister-29": [
{
"type": "icon_state",
- "icon_state": "4-se",
+ "icon_state": "canister-29",
"blend_mode": "overlay",
"color_ids": [ 1 ]
}
],
- "1-f": [
+ "canister-31": [
{
"type": "icon_state",
- "icon_state": "1-f",
+ "icon_state": "canister-31",
"blend_mode": "overlay",
"color_ids": [ 1 ]
}
],
- "2-f": [
+ "canister-38": [
{
"type": "icon_state",
- "icon_state": "2-f",
+ "icon_state": "canister-38",
"blend_mode": "overlay",
"color_ids": [ 1 ]
}
],
- "3-f": [
+ "canister-39": [
{
"type": "icon_state",
- "icon_state": "3-f",
+ "icon_state": "canister-39",
"blend_mode": "overlay",
"color_ids": [ 1 ]
}
],
- "4-f": [
+ "canister-46": [
{
"type": "icon_state",
- "icon_state": "4-f",
+ "icon_state": "canister-46",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ }
+ ],
+ "canister-47": [
+ {
+ "type": "icon_state",
+ "icon_state": "canister-47",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ }
+ ],
+ "canister-55": [
+ {
+ "type": "icon_state",
+ "icon_state": "canister-55",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ }
+ ],
+ "canister-63": [
+ {
+ "type": "icon_state",
+ "icon_state": "canister-63",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ }
+ ],
+ "canister-74": [
+ {
+ "type": "icon_state",
+ "icon_state": "canister-74",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ }
+ ],
+ "canister-75": [
+ {
+ "type": "icon_state",
+ "icon_state": "canister-75",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ }
+ ],
+ "canister-78": [
+ {
+ "type": "icon_state",
+ "icon_state": "canister-78",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ }
+ ],
+ "canister-79": [
+ {
+ "type": "icon_state",
+ "icon_state": "canister-79",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ }
+ ],
+ "canister-95": [
+ {
+ "type": "icon_state",
+ "icon_state": "canister-95",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ }
+ ],
+ "canister-110": [
+ {
+ "type": "icon_state",
+ "icon_state": "canister-110",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ }
+ ],
+ "canister-111": [
+ {
+ "type": "icon_state",
+ "icon_state": "canister-111",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ }
+ ],
+ "canister-127": [
+ {
+ "type": "icon_state",
+ "icon_state": "canister-127",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ }
+ ],
+ "canister-137": [
+ {
+ "type": "icon_state",
+ "icon_state": "canister-137",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ }
+ ],
+ "canister-139": [
+ {
+ "type": "icon_state",
+ "icon_state": "canister-139",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ }
+ ],
+ "canister-141": [
+ {
+ "type": "icon_state",
+ "icon_state": "canister-141",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ }
+ ],
+ "canister-143": [
+ {
+ "type": "icon_state",
+ "icon_state": "canister-143",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ }
+ ],
+ "canister-157": [
+ {
+ "type": "icon_state",
+ "icon_state": "canister-157",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ }
+ ],
+ "canister-159": [
+ {
+ "type": "icon_state",
+ "icon_state": "canister-159",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ }
+ ],
+ "canister-175": [
+ {
+ "type": "icon_state",
+ "icon_state": "canister-175",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ }
+ ],
+ "canister-191": [
+ {
+ "type": "icon_state",
+ "icon_state": "canister-191",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ }
+ ],
+ "canister-203": [
+ {
+ "type": "icon_state",
+ "icon_state": "canister-203",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ }
+ ],
+ "canister-207": [
+ {
+ "type": "icon_state",
+ "icon_state": "canister-207",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ }
+ ],
+ "canister-223": [
+ {
+ "type": "icon_state",
+ "icon_state": "canister-223",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ }
+ ],
+ "canister-239": [
+ {
+ "type": "icon_state",
+ "icon_state": "canister-239",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ }
+ ],
+ "canister-255": [
+ {
+ "type": "icon_state",
+ "icon_state": "canister-255",
"blend_mode": "overlay",
"color_ids": [ 1 ]
}
diff --git a/code/datums/greyscale/json_configs/smooth_canister_stationary_overlays.json b/code/datums/greyscale/json_configs/smooth_canister_stationary_overlays.json
new file mode 100644
index 00000000000..6dc7e73c32b
--- /dev/null
+++ b/code/datums/greyscale/json_configs/smooth_canister_stationary_overlays.json
@@ -0,0 +1,18 @@
+{
+ "window-fg": [
+ {
+ "type": "icon_state",
+ "icon_state": "window-fg",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ }
+ ],
+ "window-bg": [
+ {
+ "type": "icon_state",
+ "icon_state": "window-bg",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ }
+ ]
+}
diff --git a/code/datums/http.dm b/code/datums/http.dm
index 8665b351ab7..080ca37a9d1 100644
--- a/code/datums/http.dm
+++ b/code/datums/http.dm
@@ -9,9 +9,12 @@
/// If present response body will be saved to this file.
var/output_file
+ /// If present request will timeout after this duration
+ var/timeout_seconds
+
var/_raw_response
-/datum/http_request/proc/prepare(method, url, body = "", list/headers, output_file)
+/datum/http_request/proc/prepare(method, url, body = "", list/headers, output_file, timeout_seconds)
if (!length(headers))
headers = ""
else
@@ -22,6 +25,7 @@
src.body = body
src.headers = headers
src.output_file = output_file
+ src.timeout_seconds = timeout_seconds
/datum/http_request/proc/execute_blocking()
_raw_response = rustg_http_request_blocking(method, url, body, headers, build_options())
@@ -39,9 +43,10 @@
in_progress = TRUE
/datum/http_request/proc/build_options()
- if(output_file)
- return json_encode(list("output_filename"=output_file,"body_filename"=null))
- return null
+ return json_encode(list(
+ "output_filename"=(output_file ? output_file : null),
+ "body_filename"=null,
+ "timeout_seconds"=(timeout_seconds ? timeout_seconds : null)))
/datum/http_request/proc/is_complete()
if (isnull(id))
diff --git a/code/datums/id_trim/ruins.dm b/code/datums/id_trim/ruins.dm
index b6f6422393c..6664058ce96 100644
--- a/code/datums/id_trim/ruins.dm
+++ b/code/datums/id_trim/ruins.dm
@@ -187,9 +187,3 @@
/datum/id_trim/away/director
assignment = "Director"
-
-//Lizard Gas Station ID
-/datum/id_trim/away/lizardgas
- assignment = "Lizard Gas Employee"
- access = list(ACCESS_FACTION_PUBLIC)
- big_pointer = TRUE
diff --git a/code/datums/martial/_martial.dm b/code/datums/martial/_martial.dm
index 8475c9e43f9..59e6856e36d 100644
--- a/code/datums/martial/_martial.dm
+++ b/code/datums/martial/_martial.dm
@@ -4,22 +4,22 @@
/// ID of the martial art
var/id = ""
/// The streak of attacks the user has performed
- var/streak = ""
+ VAR_FINAL/streak = ""
/// The maximum length of streaks allowed
var/max_streak_length = 6
+ /// Are we being actively used by a mob?
+ var/active = FALSE
+ /// Where this martial art is from, sometimes the same as the holder if it's tied to them
+ /// If the origin is deleted, this martial art will be too.
+ VAR_PRIVATE/datum/origin
/// The current mob associated with this martial art datum. Do not set directly.
VAR_PRIVATE/mob/living/holder
/// Weakref to the last mob we attacked, for determining when to reset streaks
VAR_PRIVATE/datum/weakref/current_target
- /// Used for temporary martial arts.
- /// This is a reference to the last martial art that was replaced by this one.
- VAR_PRIVATE/datum/martial_art/base
/// Path to verb to display help text for this martial art.
var/help_verb
- /// If TRUE, this martial art can be overridden and stored (via base) by other martial arts if deemed "temporary" via teach().
- var/allow_temp_override = TRUE
/// If TRUE, this martial art smashes tables when performing table slams and head smashes
var/smashes_tables = FALSE
/// If TRUE, a combo meter will be displayed on the HUD for the current streak
@@ -30,11 +30,9 @@
var/timerid
/// If TRUE, this style allows you to punch people despite being a pacifist (IE: Boxing, which does no damage)
var/pacifist_style = FALSE
-
-/datum/martial_art/Destroy()
- if(!isnull(holder))
- remove(holder)
- return ..()
+ /// If TRUE, the user is locked to using this martial art, and can't swap to other ones they know.
+ /// If the mob has two locked martial arts, it's first come first serve.
+ var/locked_to_use = FALSE
/datum/martial_art/serialize_list(list/options, list/semvers)
. = ..()
@@ -46,6 +44,33 @@
SET_SERIALIZATION_SEMVER(semvers, "1.0.0")
return .
+/datum/martial_art/New(datum/new_origin)
+ set_origin(new_origin)
+
+/datum/martial_art/Destroy()
+ if(!isnull(holder))
+ unlearn(holder)
+ if(!isnull(origin))
+ set_origin(null)
+ return ..()
+
+/datum/martial_art/proc/set_origin(datum/new_origin)
+ if(origin)
+ UnregisterSignal(origin, COMSIG_QDELETING)
+ origin = null
+ if(isnull(new_origin))
+ return
+ src.origin = new_origin
+ RegisterSignal(origin, COMSIG_QDELETING, PROC_REF(clear_origin))
+
+/datum/martial_art/proc/clear_origin()
+ SIGNAL_HANDLER
+ qdel(src)
+
+/datum/martial_art/proc/clear_holder(datum/source)
+ SIGNAL_HANDLER
+ unlearn(holder)
+
/// Signal proc for [COMSIG_LIVING_UNARMED_ATTACK] to hook into the appropriate proc
/datum/martial_art/proc/unarmed_strike(mob/living/source, atom/attack_target, proximity, modifiers)
SIGNAL_HANDLER
@@ -222,141 +247,132 @@
if(display_combos && update_icon)
holder.hud_used?.combo_display.update_icon_state(streak)
+/datum/martial_art/proc/smash_table(mob/living/source, mob/living/pushed_mob, obj/structure/table/table)
+ SIGNAL_HANDLER
+ if(smashes_tables)
+ table.deconstruct(FALSE)
+
/**
* Teaches the passed mob this martial art.
*
* Arguments
* * mob/living/new_holder - The mob to teach this martial art to.
- * * make_temporary - If FALSE, this martial art will completely replace any existing martial arts.
- * If TRUE, any existing martial art will be stored in the base variable, and will be restored when this martial art is removed.
- * This can only occur if allow_temp_override is TRUE.
*
* Returns
* * TRUE - The martial art was successfully taught.
* * FALSE - The mob failed to learn the martial art, for whatever reason.
*/
-/datum/martial_art/proc/teach(mob/living/new_holder, make_temporary = FALSE)
- SHOULD_CALL_PARENT(TRUE)
+/datum/martial_art/proc/teach(mob/living/new_holder)
+ SHOULD_NOT_OVERRIDE(TRUE)
- if(!istype(new_holder) || isnull(new_holder.mind))
+ if(!can_teach(new_holder) || holder == new_holder)
return FALSE
- var/datum/martial_art/existing_martial = new_holder.mind.martial_art
- if(!isnull(existing_martial))
- if(make_temporary && !existing_martial.allow_temp_override)
- return FALSE
-
- if(!isnull(existing_martial.base))
- store_martial_art(existing_martial.base)
- existing_martial.unstore_martial_art()
- else if(make_temporary)
- store_martial_art(existing_martial)
-
- // Nulls out any existing martial art, it'll get GC'd if nothing owns it
- existing_martial.remove(new_holder)
-
- new_holder.mind.martial_art = src
holder = new_holder
- on_teach(new_holder)
+ if(origin != new_holder)
+ RegisterSignal(holder, COMSIG_QDELETING, PROC_REF(clear_holder))
+ // locked martial arts always get inserted as the next up
+ // (so if you learn two locked martial arts, and you get rid of the first, the second will slot itself in)
+ if(locked_to_use && LAZYLEN(new_holder.martial_arts) >= 2)
+ LAZYINSERT(new_holder.martial_arts, 2, src)
+ else
+ LAZYADD(new_holder.martial_arts, src)
+ if(LAZYLEN(new_holder.martial_arts) >= 2)
+ // newly learned martials are preferred to be the active one
+ add_verb(new_holder, /mob/living/proc/verb_switch_style)
+ // if the active one is locked, this will no-op, which is fine
+ new_holder.switch_style(GET_ACTIVE_MARTIAL_ART(new_holder), src)
+ else if(!active)
+ activate_style(new_holder)
return TRUE
-/// Stores the passed martial art in the base var.
-/datum/martial_art/proc/store_martial_art(datum/martial_art/martial)
- if(!isnull(base))
- UnregisterSignal(base, COMSIG_QDELETING)
-
- base = martial
- RegisterSignal(base, COMSIG_QDELETING, PROC_REF(base_deleted))
-
-/// Unstores the base var.
-/datum/martial_art/proc/unstore_martial_art()
- UnregisterSignal(base, COMSIG_QDELETING)
- base = null
-
-/datum/martial_art/proc/base_deleted(datum/source)
- SIGNAL_HANDLER
- base = null
+/**
+ * Checks if the passed mob can be taught this martial art.
+ *
+ * Arguments
+ * * mob/living/new_holder - The mob to check
+ *
+ * Returns
+ * * TRUE - The mob can be taught this martial art
+ * * FALSE - The mob cannot be taught this martial art
+ */
+/datum/martial_art/proc/can_teach(mob/living/new_holder)
+ return isliving(new_holder)
/**
- * Removes this martial art from the passed mob AND their mind.
+ * Removes this martial art from the passed mob.
*
* Arguments
* * mob/living/old_holder - The mob to remove this martial art from.
*/
-/datum/martial_art/proc/remove(mob/living/old_holder)
- SHOULD_CALL_PARENT(TRUE)
+/datum/martial_art/proc/unlearn(mob/living/old_holder)
+ SHOULD_NOT_OVERRIDE(TRUE)
- ASSERT(old_holder == holder)
- ASSERT(old_holder.mind.martial_art == src)
-
- on_remove(old_holder)
- old_holder.mind.martial_art = null
- if(!isnull(base))
- base.teach(old_holder)
- unstore_martial_art()
- holder = null
-
-/**
- * A helper proc to remove the martial art from the passed mob fully, e
- * ven if stored in another martial art's base.
- *
- * Arguments
- * * mob/living/maybe_holder - The mob to check.
- *
- * Returns
- * * TRUE - If the martial art was removed in some way
- * * FALSE - If nothing happened
- */
-/datum/martial_art/proc/fully_remove(mob/living/maybe_holder)
- var/datum/martial_art/holder_art = maybe_holder.mind?.martial_art
- if(isnull(holder_art))
+ if(old_holder != holder)
return FALSE
- if(holder_art == src)
- remove(maybe_holder)
- return TRUE
-
- if(holder_art.base == src)
- holder_art.unstore_martial_art()
- return TRUE
-
- return FALSE
+ if(LAZYLEN(old_holder.martial_arts) >= 2 && !QDELING(old_holder))
+ old_holder.switch_style(src, GET_NEXT_MARTIAL_ART(old_holder))
+ else if(active)
+ deactivate_style(old_holder)
+ if(origin != old_holder)
+ UnregisterSignal(old_holder, COMSIG_QDELETING)
+ LAZYREMOVE(old_holder.martial_arts, src)
+ holder = null
+ if(LAZYLEN(old_holder.martial_arts) <= 1)
+ remove_verb(old_holder, /mob/living/proc/verb_switch_style)
+ return TRUE
/**
* Called when this martial art is added to a mob.
*/
-/datum/martial_art/proc/on_teach(mob/living/new_holder)
+/datum/martial_art/proc/activate_style(mob/living/new_holder)
+ SHOULD_CALL_PARENT(TRUE)
+ active = TRUE
if(help_verb)
add_verb(new_holder, help_verb)
- RegisterSignal(new_holder, COMSIG_QDELETING, PROC_REF(holder_deleted))
RegisterSignal(new_holder, COMSIG_LIVING_UNARMED_ATTACK, PROC_REF(unarmed_strike))
RegisterSignal(new_holder, COMSIG_LIVING_GRAB, PROC_REF(attempt_grab))
- RegisterSignal(new_holder, COMSIG_MOB_MIND_TRANSFERRED_OUT_OF, PROC_REF(transfer_martial_arts))
+ RegisterSignals(new_holder, list(COMSIG_LIVING_TABLE_SLAMMING, COMSIG_LIVING_TABLE_LIMB_SLAMMING), PROC_REF(smash_table))
/**
* Called when this martial art is removed from a mob.
*/
-/datum/martial_art/proc/on_remove(mob/living/remove_from)
+/datum/martial_art/proc/deactivate_style(mob/living/remove_from)
+ SHOULD_CALL_PARENT(TRUE)
+ active = FALSE
if(help_verb)
remove_verb(remove_from, help_verb)
- UnregisterSignal(remove_from, list(COMSIG_QDELETING, COMSIG_LIVING_UNARMED_ATTACK, COMSIG_LIVING_GRAB, COMSIG_MOB_MIND_TRANSFERRED_OUT_OF))
+ UnregisterSignal(remove_from, list(COMSIG_LIVING_UNARMED_ATTACK, COMSIG_LIVING_GRAB, COMSIG_LIVING_TABLE_SLAMMING, COMSIG_LIVING_TABLE_LIMB_SLAMMING))
-/datum/martial_art/proc/holder_deleted(datum/source)
- SIGNAL_HANDLER
- holder = null
+/mob/living/proc/verb_switch_style()
+ set name = "Swap Style"
+ set desc = "Switch to a different martial arts style."
+ set category = "IC"
-/// Signal proc for [COMSIG_MOB_MIND_TRANSFERRED_OUT_OF] to pass martial arts between bodies on mind transfer
-/// By this point the martial art's holder is the old body, but the mind that owns it is in the new body
-/datum/martial_art/proc/transfer_martial_arts(mob/living/old_body, mob/living/new_body)
- SIGNAL_HANDLER
+ var/datum/martial_art/current = GET_ACTIVE_MARTIAL_ART(src)
+ var/datum/martial_art/next = GET_NEXT_MARTIAL_ART(src)
- // This has some notable issues in that martial arts granted by items like Krav Maga
- // will follow the body swap, the easiest fix would be to move martial arts off of the mind
-
- if(!isnull(base)) // If we're home to a temporary one just don't touch it, give the base to the new body and leave it at that
- base.teach(new_body)
- unstore_martial_art()
+ if(current.locked_to_use)
+ to_chat(src, span_warning("You can't stop practicing [current]! It's too ingrained in your muscle memory."))
return
- on_remove(old_body) // on_remove rather than remove, because by this point the mind is already in the new body, which remove handles.
- teach(new_body)
+ switch_style(GET_ACTIVE_MARTIAL_ART(src), GET_NEXT_MARTIAL_ART(src))
+ to_chat(src, span_notice("You stop practicing [current] and start practicing [next]."))
+
+/// Deactivates the current martial art and activates the next one.
+/mob/living/proc/switch_style(datum/martial_art/current_martial, datum/martial_art/next_martial)
+ if(current_martial.locked_to_use)
+ return
+ // something's wrong if this assertion fails, but not terribly wrong that we need a stack trace
+ if(!current_martial.active || next_martial.active)
+ return
+
+ current_martial.deactivate_style(src)
+ next_martial.activate_style(src)
+ // front of the list with ye
+ LAZYREMOVE(martial_arts, next_martial)
+ LAZYINSERT(martial_arts, 1, next_martial)
+ // back of the list with ye
+ LAZYREMOVE(martial_arts, current_martial)
+ LAZYADD(martial_arts, current_martial)
diff --git a/code/datums/martial/boxing.dm b/code/datums/martial/boxing.dm
index 18f70fce94a..9d9407636d8 100644
--- a/code/datums/martial/boxing.dm
+++ b/code/datums/martial/boxing.dm
@@ -16,14 +16,15 @@
/// Balloon alert cooldown for warning our boxer to alternate their blows to get more damage
COOLDOWN_DECLARE(warning_cooldown)
-/datum/martial_art/boxing/teach(mob/living/new_holder, make_temporary)
- if(!ishuman(new_holder))
- return FALSE
+/datum/martial_art/boxing/can_teach(mob/living/new_holder)
+ return ishuman(new_holder)
+
+/datum/martial_art/boxing/activate_style(mob/living/new_holder)
+ . = ..()
new_holder.add_traits(boxing_traits, BOXING_TRAIT)
RegisterSignal(new_holder, COMSIG_LIVING_CHECK_BLOCK, PROC_REF(check_block))
- return ..()
-/datum/martial_art/boxing/on_remove(mob/living/remove_from)
+/datum/martial_art/boxing/deactivate_style(mob/living/remove_from)
remove_from.remove_traits(boxing_traits, BOXING_TRAIT)
UnregisterSignal(remove_from, list(COMSIG_LIVING_CHECK_BLOCK))
return ..()
diff --git a/code/datums/martial/cqc.dm b/code/datums/martial/cqc.dm
index 35f8a254e17..27c192d0aa5 100644
--- a/code/datums/martial/cqc.dm
+++ b/code/datums/martial/cqc.dm
@@ -15,12 +15,12 @@
/// Probability of successfully blocking attacks while on throw mode
var/block_chance = 75
-/datum/martial_art/cqc/on_teach(mob/living/new_holder)
+/datum/martial_art/cqc/activate_style(mob/living/new_holder)
. = ..()
RegisterSignal(new_holder, COMSIG_ATOM_ATTACKBY, PROC_REF(on_attackby))
RegisterSignal(new_holder, COMSIG_LIVING_CHECK_BLOCK, PROC_REF(check_block))
-/datum/martial_art/cqc/on_remove(mob/living/remove_from)
+/datum/martial_art/cqc/deactivate_style(mob/living/remove_from)
UnregisterSignal(remove_from, list(COMSIG_ATOM_ATTACKBY, COMSIG_LIVING_CHECK_BLOCK))
return ..()
diff --git a/code/datums/martial/krav_maga.dm b/code/datums/martial/krav_maga.dm
index d670b8eb638..135473cdaec 100644
--- a/code/datums/martial/krav_maga.dm
+++ b/code/datums/martial/krav_maga.dm
@@ -27,12 +27,13 @@
. = ..()
if(!.)
return
- if (owner.mind.martial_art.streak == "neck_chop")
+ var/datum/martial_art/source = target
+ if (source.streak == "neck_chop")
owner.visible_message(span_danger("[owner] assumes a neutral stance."), "Your next attack is cleared. ")
- owner.mind.martial_art.streak = ""
+ source.streak = ""
else
owner.visible_message(span_danger("[owner] assumes the Neck Chop stance!"), "Your next attack will be a Neck Chop. ")
- owner.mind.martial_art.streak = "neck_chop"
+ source.streak = "neck_chop"
/datum/action/leg_sweep
name = "Leg Sweep - Trips the victim, knocking them down for a brief moment."
@@ -44,12 +45,13 @@
. = ..()
if(!.)
return
- if (owner.mind.martial_art.streak == "leg_sweep")
+ var/datum/martial_art/source = target
+ if (source.streak == "leg_sweep")
owner.visible_message(span_danger("[owner] assumes a neutral stance."), "Your next attack is cleared. ")
- owner.mind.martial_art.streak = ""
+ source.streak = ""
else
owner.visible_message(span_danger("[owner] assumes the Leg Sweep stance!"), "Your next attack will be a Leg Sweep. ")
- owner.mind.martial_art.streak = "leg_sweep"
+ source.streak = "leg_sweep"
/datum/action/lung_punch//referred to internally as 'quick choke'
name = "Lung Punch - Delivers a strong punch just above the victim's abdomen, constraining the lungs. The victim will be unable to breathe for a short time."
@@ -61,14 +63,15 @@
. = ..()
if(!.)
return
- if (owner.mind.martial_art.streak == "quick_choke")
+ var/datum/martial_art/source = target
+ if (source.streak == "quick_choke")
owner.visible_message(span_danger("[owner] assumes a neutral stance."), "Your next attack is cleared. ")
- owner.mind.martial_art.streak = ""
+ source.streak = ""
else
owner.visible_message(span_danger("[owner] assumes the Lung Punch stance!"), "Your next attack will be a Lung Punch. ")
- owner.mind.martial_art.streak = "quick_choke"//internal name for lung punch
+ source.streak = "quick_choke"//internal name for lung punch
-/datum/martial_art/krav_maga/on_teach(mob/living/new_holder)
+/datum/martial_art/krav_maga/activate_style(mob/living/new_holder)
. = ..()
to_chat(new_holder, span_userdanger("You know the arts of [name]!"))
to_chat(new_holder, span_danger("Place your cursor over a move at the top of the screen to see what it does."))
@@ -76,7 +79,7 @@
legsweep.Grant(new_holder)
lungpunch.Grant(new_holder)
-/datum/martial_art/krav_maga/on_remove(mob/living/remove_from)
+/datum/martial_art/krav_maga/deactivate_style(mob/living/remove_from)
to_chat(remove_from, span_userdanger("You suddenly forget the arts of [name]..."))
neckchop?.Remove(remove_from)
legsweep?.Remove(remove_from)
diff --git a/code/datums/martial/mushpunch.dm b/code/datums/martial/mushpunch.dm
index e571f46be35..4c21d4f00ef 100644
--- a/code/datums/martial/mushpunch.dm
+++ b/code/datums/martial/mushpunch.dm
@@ -47,7 +47,7 @@
to_chat(user, span_spiderbroodmother("You devour [src], \
and a confluence of skill and power from the mushroom enhances your punches! \
You do need a short moment to charge these powerful punches."))
- var/datum/martial_art/mushpunch/mush = new()
+ var/datum/martial_art/mushpunch/mush = new(user)
mush.teach(user)
visible_message(
span_warning("[user] devours [src]."),
diff --git a/code/datums/martial/plasma_fist.dm b/code/datums/martial/plasma_fist.dm
index 8e24e876dec..ee52fb026b2 100644
--- a/code/datums/martial/plasma_fist.dm
+++ b/code/datums/martial/plasma_fist.dm
@@ -168,7 +168,7 @@
set desc = "Remember the martial techniques of the Plasma Fist."
set category = "Plasma Fist"
- var/datum/martial_art/plasma_fist/martial = usr.mind.martial_art
+ var/datum/martial_art/plasma_fist/martial = GET_ACTIVE_MARTIAL_ART(src)
to_chat(usr, "You clench your fists and have a flashback of knowledge... ")
to_chat(usr, "[span_notice("Tornado Sweep")]: Punch Punch Shove. Repulses opponent and everyone back.")
to_chat(usr, "[span_notice("Throwback")]: Shove Punch Shove. Throws the opponent and an item at them.")
diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm
index fdfd6e404ec..f3ab575363e 100644
--- a/code/datums/martial/sleeping_carp.dm
+++ b/code/datums/martial/sleeping_carp.dm
@@ -5,13 +5,12 @@
/datum/martial_art/the_sleeping_carp
name = "The Sleeping Carp"
id = MARTIALART_SLEEPINGCARP
- allow_temp_override = FALSE
help_verb = /mob/living/proc/sleeping_carp_help
display_combos = TRUE
/// List of traits applied to users of this martial art.
var/list/scarp_traits = list(TRAIT_NOGUNS, TRAIT_TOSS_GUN_HARD, TRAIT_HARDLY_WOUNDED, TRAIT_NODISMEMBER, TRAIT_HEAVY_SLEEPER)
-/datum/martial_art/the_sleeping_carp/on_teach(mob/living/new_holder)
+/datum/martial_art/the_sleeping_carp/activate_style(mob/living/new_holder)
. = ..()
new_holder.add_traits(scarp_traits, SLEEPING_CARP_TRAIT)
RegisterSignal(new_holder, COMSIG_ATOM_ATTACKBY, PROC_REF(on_attackby))
@@ -19,7 +18,7 @@
new_holder.faction |= FACTION_CARP //:D
new_holder.grant_language(/datum/language/carptongue, ALL, type)
-/datum/martial_art/the_sleeping_carp/on_remove(mob/living/remove_from)
+/datum/martial_art/the_sleeping_carp/deactivate_style(mob/living/remove_from)
remove_from.remove_traits(scarp_traits, SLEEPING_CARP_TRAIT)
UnregisterSignal(remove_from, list(COMSIG_ATOM_ATTACKBY, COMSIG_ATOM_PRE_BULLET_ACT))
remove_from.faction -= FACTION_CARP //:(
diff --git a/code/datums/martial/wrestling.dm b/code/datums/martial/wrestling.dm
index 4bcaf02b2d5..1358cc20e34 100644
--- a/code/datums/martial/wrestling.dm
+++ b/code/datums/martial/wrestling.dm
@@ -76,8 +76,9 @@ If you make a derivative work from this code, you must include this notification
. = ..()
if(!.)
return
+ var/datum/martial_art/source = target
owner.visible_message(span_danger("[owner] prepares to BODY SLAM!"), "Your next attack will be a BODY SLAM. ")
- owner.mind.martial_art.streak = "slam"
+ source.streak = "slam"
/datum/action/throw_wrassle
name = "Throw (Cinch) - Spin a cinched opponent around and throw them."
@@ -88,8 +89,9 @@ If you make a derivative work from this code, you must include this notification
. = ..()
if(!.)
return
+ var/datum/martial_art/source = target
owner.visible_message(span_danger("[owner] prepares to THROW!"), "Your next attack will be a THROW. ")
- owner.mind.martial_art.streak = "throw"
+ source.streak = "throw"
/datum/action/kick
name = "Kick - A powerful kick, sends people flying away from you. Also useful for escaping from bad situations."
@@ -100,8 +102,9 @@ If you make a derivative work from this code, you must include this notification
. = ..()
if(!.)
return
+ var/datum/martial_art/source = target
owner.visible_message(span_danger("[owner] prepares to KICK!"), "Your next attack will be a KICK. ")
- owner.mind.martial_art.streak = "kick"
+ source.streak = "kick"
/datum/action/strike
name = "Strike - Hit a neaby opponent with a quick attack."
@@ -112,8 +115,9 @@ If you make a derivative work from this code, you must include this notification
. = ..()
if(!.)
return
+ var/datum/martial_art/source = target
owner.visible_message(span_danger("[owner] prepares to STRIKE!"), "Your next attack will be a STRIKE. ")
- owner.mind.martial_art.streak = "strike"
+ source.streak = "strike"
/datum/action/drop
name = "Drop - Smash down onto an opponent."
@@ -124,10 +128,11 @@ If you make a derivative work from this code, you must include this notification
. = ..()
if(!.)
return
+ var/datum/martial_art/source = target
owner.visible_message(span_danger("[owner] prepares to LEG DROP!"), "Your next attack will be a LEG DROP. ")
- owner.mind.martial_art.streak = "drop"
+ source.streak = "drop"
-/datum/martial_art/wrestling/on_teach(mob/living/new_holder)
+/datum/martial_art/wrestling/activate_style(mob/living/new_holder)
. = ..()
to_chat(new_holder, span_userdanger("SNAP INTO A THIN TIM!"))
to_chat(new_holder, span_danger("Place your cursor over a move at the top of the screen to see what it does."))
@@ -137,7 +142,7 @@ If you make a derivative work from this code, you must include this notification
throw_wrassle.Grant(new_holder)
strike.Grant(new_holder)
-/datum/martial_art/wrestling/on_remove(mob/living/remove_from)
+/datum/martial_art/wrestling/deactivate_style(mob/living/remove_from)
to_chat(remove_from, span_userdanger("You no longer feel that the tower of power is too sweet to be sour..."))
drop?.Remove(remove_from)
kick?.Remove(remove_from)
diff --git a/code/datums/materials/_material.dm b/code/datums/materials/_material.dm
index d179be2dc01..58b2817e94f 100644
--- a/code/datums/materials/_material.dm
+++ b/code/datums/materials/_material.dm
@@ -168,7 +168,7 @@ Simple datum which is instanced once per type and is used for every object of sa
* Arguments:
* - amount: The amount of the material to break down.
*/
-/datum/material/proc/return_composition(amount = 1)
+/datum/material/proc/return_composition(amount = 1, flags)
// Yes we need the parenthesis, without them BYOND stringifies src into "src" and things break.
return list((src) = amount)
diff --git a/code/datums/materials/alloys.dm b/code/datums/materials/alloys.dm
index ff4c71c2f3e..b1025f4130e 100644
--- a/code/datums/materials/alloys.dm
+++ b/code/datums/materials/alloys.dm
@@ -7,13 +7,16 @@
/// The materials this alloy is made from weighted by their ratios.
var/list/composition = null
-/datum/material/alloy/return_composition(amount = 1)
+/datum/material/alloy/return_composition(amount = 1, flags)
+ if(flags & MATCONTAINER_ACCEPT_ALLOYS)
+ return ..()
+
. = list()
var/list/cached_comp = composition
for(var/comp_mat in cached_comp)
var/datum/material/component_material = GET_MATERIAL_REF(comp_mat)
- var/list/component_composition = component_material.return_composition(cached_comp[comp_mat])
+ var/list/component_composition = component_material.return_composition(cached_comp[comp_mat], flags)
for(var/comp_comp_mat in component_composition)
.[comp_comp_mat] += component_composition[comp_comp_mat] * amount
diff --git a/code/datums/mind/_mind.dm b/code/datums/mind/_mind.dm
index 59efd4bc149..1439418ba8b 100644
--- a/code/datums/mind/_mind.dm
+++ b/code/datums/mind/_mind.dm
@@ -51,8 +51,6 @@
var/special_role
var/list/restricted_roles = list()
- /// Martial art on this mind
- var/datum/martial_art/martial_art
/// List of antag datums on this mind
var/list/antag_datums
/// this mind's ANTAG_HUD should have this icon_state
@@ -124,7 +122,6 @@
.["name"] = name
.["ghostname"] = ghostname
.["memories"] = memories
- .["martial_art"] = martial_art
.["antag_datums"] = antag_datums
.["holy_role"] = holy_role
.["special_role"] = special_role
diff --git a/code/datums/mood.dm b/code/datums/mood.dm
index e05212cd983..eb41971ad96 100644
--- a/code/datums/mood.dm
+++ b/code/datums/mood.dm
@@ -32,10 +32,6 @@
/// List of mood events currently active on this datum
var/list/mood_events = list()
- /// Tracks the last mob stat, updates on change
- /// Used to stop processing SSmood
- var/last_stat = CONSCIOUS
-
/datum/mood/New(mob/living/mob_to_make_moody)
if (!istype(mob_to_make_moody))
stack_trace("Tried to apply mood to a non-living atom!")
@@ -83,40 +79,31 @@
/datum/mood/process(seconds_per_tick)
switch(mood_level)
if(MOOD_LEVEL_SAD4)
- set_sanity(sanity - 0.3 * seconds_per_tick, SANITY_INSANE)
+ adjust_sanity(-0.3 * seconds_per_tick, SANITY_INSANE)
if(MOOD_LEVEL_SAD3)
- set_sanity(sanity - 0.15 * seconds_per_tick, SANITY_INSANE)
+ adjust_sanity(-0.15 * seconds_per_tick, SANITY_INSANE)
if(MOOD_LEVEL_SAD2)
- set_sanity(sanity - 0.1 * seconds_per_tick, SANITY_CRAZY)
+ adjust_sanity(-0.1 * seconds_per_tick, SANITY_CRAZY)
if(MOOD_LEVEL_SAD1)
- set_sanity(sanity - 0.05 * seconds_per_tick, SANITY_UNSTABLE)
+ adjust_sanity(-0.05 * seconds_per_tick, SANITY_UNSTABLE)
if(MOOD_LEVEL_NEUTRAL)
- set_sanity(sanity, SANITY_UNSTABLE) //This makes sure that mood gets increased should you be below the minimum.
+ adjust_sanity(0, SANITY_UNSTABLE) //This makes sure that mood gets increased should you be below the minimum.
if(MOOD_LEVEL_HAPPY1)
- set_sanity(sanity + 0.2 * seconds_per_tick, SANITY_UNSTABLE)
+ adjust_sanity(0.2 * seconds_per_tick, SANITY_UNSTABLE)
if(MOOD_LEVEL_HAPPY2)
- set_sanity(sanity + 0.3 * seconds_per_tick, SANITY_UNSTABLE)
+ adjust_sanity(0.3 * seconds_per_tick, SANITY_UNSTABLE)
if(MOOD_LEVEL_HAPPY3)
- set_sanity(sanity + 0.4 * seconds_per_tick, SANITY_NEUTRAL, SANITY_MAXIMUM)
+ adjust_sanity(0.4 * seconds_per_tick, SANITY_NEUTRAL, SANITY_MAXIMUM)
if(MOOD_LEVEL_HAPPY4)
- set_sanity(sanity + 0.6 * seconds_per_tick, SANITY_NEUTRAL, SANITY_MAXIMUM)
+ adjust_sanity(0.6 * seconds_per_tick, SANITY_NEUTRAL, SANITY_MAXIMUM)
- // 0.416% is 15 successes / 3600 seconds. Calculated with 2 minute
- // mood runtime, so 50% average uptime across the hour.
- if(HAS_TRAIT(mob_parent, TRAIT_DEPRESSION) && SPT_PROB(0.416, seconds_per_tick))
- add_mood_event("depression", /datum/mood_event/depression)
-
- if(HAS_TRAIT(mob_parent, TRAIT_JOLLY) && SPT_PROB(0.416, seconds_per_tick))
- add_mood_event("jolly", /datum/mood_event/jolly)
-
-/datum/mood/proc/handle_mob_death(datum/source)
+/datum/mood/proc/handle_mob_death(datum/source, new_stat, old_stat)
SIGNAL_HANDLER
- if (last_stat == DEAD && mob_parent.stat != DEAD)
+ if (old_stat == DEAD && new_stat != DEAD)
START_PROCESSING(SSmood, src)
- else if (last_stat != DEAD && mob_parent.stat == DEAD)
+ else if (old_stat != DEAD && new_stat == DEAD)
STOP_PROCESSING(SSmood, src)
- last_stat = mob_parent.stat
/// Handles mood given by nutrition
/datum/mood/proc/update_nutrition_moodlets()
@@ -172,15 +159,15 @@
var/datum/mood_event/the_event
if (mood_events[category])
the_event = mood_events[category]
- if (the_event.type != type)
- clear_mood_event(category)
- else
+ if (the_event.type == type)
if (the_event.timeout)
if (!isnull(mood_to_copy_from))
the_event.timeout = mood_to_copy_from.timeout
addtimer(CALLBACK(src, PROC_REF(clear_mood_event), category), the_event.timeout, (TIMER_UNIQUE|TIMER_OVERRIDE))
qdel(mood_to_copy_from)
return // Don't need to update the event.
+
+ clear_mood_event(category)
var/list/params = args.Copy(3)
params.Insert(1, mob_parent)
@@ -216,6 +203,9 @@
qdel(event)
update_mood()
+/datum/mood/proc/get_mood_event(category)
+ return mood_events[category]
+
/// Updates the mobs mood.
/// Called after mood events have been added/removed.
/datum/mood/proc/update_mood()
@@ -224,13 +214,12 @@
mood = 0
shown_mood = 0
- SEND_SIGNAL(mob_parent, COMSIG_CARBON_MOOD_UPDATE)
-
for(var/category in mood_events)
var/datum/mood_event/the_event = mood_events[category]
mood += the_event.mood_change
if (!the_event.hidden)
shown_mood += the_event.mood_change
+
mood *= mood_modifier
shown_mood *= mood_modifier
@@ -255,6 +244,7 @@
mood_level = MOOD_LEVEL_HAPPY4
update_mood_icon()
+ SEND_SIGNAL(mob_parent, COMSIG_CARBON_MOOD_UPDATE)
/// Updates the mob's mood icon
/datum/mood/proc/update_mood_icon()
@@ -335,25 +325,62 @@
if(user != mob_parent)
return
+ if(user.stat >= UNCONSCIOUS)
+ return
print_mood(user)
/// Prints the users mood, sanity, and moodies to chat
/datum/mood/proc/print_mood(mob/user)
- var/msg = "[span_info("My current mental status: ")]\n"
+ var/msg = "[span_info("My current mental status: ")] "
+
+ if(!HAS_TRAIT(src, TRAIT_NOHUNGER))
+ msg += span_notice("My hunger: ")
+ var/nutrition = mob_parent.nutrition
+ switch(nutrition)
+ if(NUTRITION_LEVEL_FULL to INFINITY)
+ msg += "[span_info("I'm completely stuffed!")] "
+ if(NUTRITION_LEVEL_WELL_FED to NUTRITION_LEVEL_FULL)
+ msg += "[span_info("I'm well fed!")] "
+ if(NUTRITION_LEVEL_FED to NUTRITION_LEVEL_WELL_FED)
+ msg += "[span_info("I'm not hungry.")] "
+ if(NUTRITION_LEVEL_HUNGRY to NUTRITION_LEVEL_FED)
+ msg += "[span_info("I could use a bite to eat.")] "
+ if(NUTRITION_LEVEL_STARVING to NUTRITION_LEVEL_HUNGRY)
+ msg += "[span_warning("I feel quite hungry.")] "
+ if(0 to NUTRITION_LEVEL_STARVING)
+ msg += "[span_boldwarning("I'm starving!")] "
+
+ var/drunkness = mob_parent.get_drunk_amount()
+ if(drunkness >= 1)
+ msg += span_notice("My current drunkenness: ")
+ switch(drunkness)
+ if(1 to 10)
+ msg += "[span_info("I'm feeling a little tipsy.")] "
+ if(11 to 21)
+ msg += "[span_info("I'm feeling a bit drunk.")] "
+ if(21 to 41)
+ msg += "[span_info("I'm feeling quite drunk.")] "
+ if(41 to 61)
+ msg += "[span_info("I'm feeling very drunk.")] "
+ if(61 to 81)
+ msg += "[span_warning("I'm feeling like a mess.")] "
+ if(81 to INFINITY)
+ msg += "[span_boldwarning("I'm completely wasted.")] "
+
msg += span_notice("My current sanity: ") //Long term
//ORIGINAL
/*
switch(sanity)
if(SANITY_GREAT to INFINITY)
- msg += "[span_boldnicegreen("My mind feels like a temple!")]\n"
+ msg += "[span_boldnicegreen("My mind feels like a temple!")] "
if(SANITY_NEUTRAL to SANITY_GREAT)
- msg += "[span_nicegreen("I have been feeling great lately!")]\n"
+ msg += "[span_nicegreen("I have been feeling great lately!")] "
if(SANITY_DISTURBED to SANITY_NEUTRAL)
- msg += "[span_nicegreen("I have felt quite decent lately.")]\n"
+ msg += "[span_nicegreen("I have felt quite decent lately.")] "
if(SANITY_UNSTABLE to SANITY_DISTURBED)
- msg += "[span_warning("I'm feeling a little bit unhinged...")]\n"
+ msg += "[span_warning("I'm feeling a little bit unhinged...")] "
if(SANITY_CRAZY to SANITY_UNSTABLE)
- msg += "[span_warning("I'm freaking out!!")]\n"
+ msg += "[span_warning("I'm freaking out!!")] "
if(SANITY_INSANE to SANITY_CRAZY)
msg += "[span_boldwarning("AHAHAHAHAHAHAHAHAHAH!!")]\n"
*/
@@ -381,21 +408,21 @@
/*
switch(mood_level)
if(MOOD_LEVEL_SAD4)
- msg += "[span_boldwarning("I wish I was dead!")]\n"
+ msg += "[span_boldwarning("I wish I was dead!")] "
if(MOOD_LEVEL_SAD3)
- msg += "[span_boldwarning("I feel terrible...")]\n"
+ msg += "[span_boldwarning("I feel terrible...")] "
if(MOOD_LEVEL_SAD2)
- msg += "[span_boldwarning("I feel very upset.")]\n"
+ msg += "[span_boldwarning("I feel very upset.")] "
if(MOOD_LEVEL_SAD1)
- msg += "[span_warning("I'm a bit sad.")]\n"
+ msg += "[span_warning("I'm a bit sad.")] "
if(MOOD_LEVEL_NEUTRAL)
- msg += "[span_grey("I'm alright.")]\n"
+ msg += "[span_grey("I'm alright.")] "
if(MOOD_LEVEL_HAPPY1)
- msg += "[span_nicegreen("I feel pretty okay.")]\n"
+ msg += "[span_nicegreen("I feel pretty okay.")] "
if(MOOD_LEVEL_HAPPY2)
- msg += "[span_boldnicegreen("I feel pretty good.")]\n"
+ msg += "[span_boldnicegreen("I feel pretty good.")] "
if(MOOD_LEVEL_HAPPY3)
- msg += "[span_boldnicegreen("I feel amazing!")]\n"
+ msg += "[span_boldnicegreen("I feel amazing!")] "
if(MOOD_LEVEL_HAPPY4)
msg += "[span_boldnicegreen("I love life!")]\n"
*/
@@ -423,28 +450,36 @@
else
msg += "[span_notice("No clue.")]\n"
- msg += "[span_notice("Moodlets:")]\n"//All moodlets
- msg += get_alcohol_processing(user)
- msg += get_drunk_mood(user)
+ var/list/additional_lines = list()
+ SEND_SIGNAL(user, COMSIG_CARBON_MOOD_CHECK, additional_lines)
+ if (length(additional_lines))
+ msg += "[additional_lines.Join(" ")] "
+
+ msg += "[span_notice("Moodlets:")] "//All moodlets
if(mood_events.len && !HAS_TRAIT(user, TRAIT_MOOD_NOEXAMINE)) // ORIGINAL - //if(mood_events.len)
//SKYRAT EDIT CHANGE END
for(var/category in mood_events)
var/datum/mood_event/event = mood_events[category]
+ msg += "• "
switch(event.mood_change)
if(-INFINITY to MOOD_SAD2)
- msg += span_boldwarning(event.description + "\n")
+ msg += "[span_boldwarning(event.description)] "
if(MOOD_SAD2 to MOOD_SAD1)
- msg += span_warning(event.description + "\n")
+ msg += "[span_warning(event.description)] "
if(MOOD_SAD1 to MOOD_NEUTRAL)
- msg += span_grey(event.description + "\n")
+ msg += "[span_grey(event.description)] "
if(MOOD_NEUTRAL to MOOD_HAPPY1)
- msg += span_info(event.description + "\n")
+ msg += "[span_info(event.description)] "
if(MOOD_HAPPY1 to MOOD_HAPPY2)
- msg += span_nicegreen(event.description + "\n")
+ msg += "[span_nicegreen(event.description)] "
if(MOOD_HAPPY2 to INFINITY)
- msg += span_boldnicegreen(event.description + "\n")
+ msg += "[span_boldnicegreen(event.description)] "
else
- msg += "[span_grey("I don't have much of a reaction to anything right now.")]\n"
+ msg += "• [span_grey("I don't have much of a reaction to anything right now.")] "
+
+ if(LAZYLEN(mob_parent.quirks))
+ msg += span_notice("You have these quirks: [mob_parent.get_quirk_string(FALSE, CAT_QUIRK_ALL)].")
+
to_chat(user, boxed_message(msg))
/// Updates the mob's moodies, if the area provides a mood bonus
@@ -524,10 +559,16 @@
// If the new amount would move towards the acceptable range faster then use it instead
if(amount < minimum && sanity < minimum)
amount = sanity + 0.7
- if((!override && HAS_TRAIT(mob_parent, TRAIT_UNSTABLE)) || amount > maximum)
+
+ if(!override && HAS_TRAIT(mob_parent, TRAIT_UNSTABLE))
amount = min(sanity, amount)
+
+ if (amount > maximum)
+ amount = min(amount, maximum)
+
if(amount == sanity) //Prevents stuff from flicking around.
return
+
sanity = amount
SEND_SIGNAL(mob_parent, COMSIG_CARBON_SANITY_UPDATE, amount)
switch(sanity)
@@ -563,13 +604,17 @@
sanity_level = SANITY_LEVEL_GREAT
// Crazy or insane = add some uncommon hallucinations
- if(sanity_level >= SANITY_CRAZY)
+ if(sanity_level >= SANITY_LEVEL_CRAZY)
mob_parent.apply_status_effect(/datum/status_effect/hallucination/sanity)
else
mob_parent.remove_status_effect(/datum/status_effect/hallucination/sanity)
update_mood_icon()
+/// Adjusts sanity by a value
+/datum/mood/proc/adjust_sanity(amount, minimum = SANITY_INSANE, maximum = SANITY_GREAT, override = FALSE)
+ set_sanity(sanity + amount, minimum, maximum, override)
+
/// Sets the insanity effect on the mob
/datum/mood/proc/set_insanity_effect(newval)
if (newval == insanity_effect)
@@ -589,7 +634,7 @@
/// Helper to forcefully drain sanity
/datum/mood/proc/direct_sanity_drain(amount)
- set_sanity(sanity + amount, override = TRUE)
+ adjust_sanity(amount, override = TRUE)
/**
* Returns true if you already have a mood from a provided category.
diff --git a/code/datums/mood_events/_mood_event.dm b/code/datums/mood_events/_mood_event.dm
index 8f319533800..499b5f892e6 100644
--- a/code/datums/mood_events/_mood_event.dm
+++ b/code/datums/mood_events/_mood_event.dm
@@ -20,12 +20,12 @@
/// Owner of this mood event
var/mob/living/owner
/// List of required jobs for this mood event
- var/list/required_job = list()
+ var/list/required_job
/datum/mood_event/New(mob/living/emotional_mob, ...)
owner = emotional_mob
var/list/params = args.Copy(2)
- if ((length(required_job) > 0) && owner.mind && !(owner.mind.assigned_role.type in required_job))
+ if (LAZYLEN(required_job) && !is_type_in_list(owner.mind?.assigned_role, required_job))
qdel(src)
return
add_effects(arglist(params))
diff --git a/code/datums/mood_events/generic_negative_events.dm b/code/datums/mood_events/generic_negative_events.dm
index af30aa6e33f..7fa9cf37d91 100644
--- a/code/datums/mood_events/generic_negative_events.dm
+++ b/code/datums/mood_events/generic_negative_events.dm
@@ -153,12 +153,12 @@
mood_change = -3
/datum/mood_event/claustrophobia
- description = "Why do I feel trapped?! Let me out!!!"
+ description = "Why do I feel trapped?! Let me out!!!"
mood_change = -7
timeout = 1 MINUTES
/datum/mood_event/bright_light
- description = "I hate it in the light...I need to find a darker place..."
+ description = "I hate it in the light... I need to find a darker place..."
mood_change = -12
/datum/mood_event/family_heirloom_missing
@@ -516,3 +516,16 @@
description = "I didn't want to believe it, but there are people out there that are genuinely evil."
mood_change = -4
timeout = 1 MINUTES
+
+/datum/mood_event/smoke_in_face
+ description = "Cigarette smoke is disgusting."
+ mood_change = -3
+ timeout = 30 SECONDS
+
+/datum/mood_event/smoke_in_face/add_effects(param)
+ if(HAS_TRAIT(owner, TRAIT_ANOSMIA))
+ description = "Cigarette smoke is unpleasant."
+ mood_change = -1
+ if(HAS_TRAIT(owner, TRAIT_SMOKER))
+ description = "Blowing smoke in my face, really?"
+ mood_change = 0
diff --git a/code/datums/mutable_appearance.dm b/code/datums/mutable_appearance.dm
index db5acbca388..0d115c63db8 100644
--- a/code/datums/mutable_appearance.dm
+++ b/code/datums/mutable_appearance.dm
@@ -49,3 +49,11 @@
check_topdown_validity(appearance)
return appearance
+
+/// Takes an input mutable appearance, returns a copy of it with the hidden flag flipped to avoid inheriting dir from what it's drawn on
+/// This inheriting thing is handled by a hidden flag on the /image (MAs are subtypes of /image)
+/proc/make_mutable_appearance_directional(mutable_appearance/to_process, dir = NORTH)
+ // We use the image() proc in combo with a manually set dir to flip this flag
+ // We can then copy the image's appearance to retain the flag, even on MAs and such
+ var/image/holder = image(to_process, dir = dir)
+ return new /mutable_appearance(holder)
diff --git a/code/datums/progressbar.dm b/code/datums/progressbar.dm
index 676cf455bfc..5656d8c8598 100644
--- a/code/datums/progressbar.dm
+++ b/code/datums/progressbar.dm
@@ -69,9 +69,9 @@
continue
progress_bar.listindex--
- progress_bar.bar.pixel_y = ICON_SIZE_Y + offset_y + (PROGRESSBAR_HEIGHT * (progress_bar.listindex - 1))
+ progress_bar.bar.pixel_z = ICON_SIZE_Y + offset_y + (PROGRESSBAR_HEIGHT * (progress_bar.listindex - 1))
var/dist_to_travel = ICON_SIZE_Y + offset_y + (PROGRESSBAR_HEIGHT * (progress_bar.listindex - 1)) - PROGRESSBAR_HEIGHT
- animate(progress_bar.bar, pixel_y = dist_to_travel, time = PROGRESSBAR_ANIMATION_TIME, easing = SINE_EASING)
+ animate(progress_bar.bar, pixel_z = dist_to_travel, time = PROGRESSBAR_ANIMATION_TIME, easing = SINE_EASING)
LAZYREMOVEASSOC(user.progressbars, bar_loc, src)
user = null
@@ -120,10 +120,10 @@
///Adds a smoothly-appearing progress bar image to the player's screen.
/datum/progressbar/proc/add_prog_bar_image_to_client()
- bar.pixel_y = 0
+ bar.pixel_z = 0
bar.alpha = 0
user_client.images += bar
- animate(bar, pixel_y = ICON_SIZE_Y + offset_y + (PROGRESSBAR_HEIGHT * (listindex - 1)), alpha = 255, time = PROGRESSBAR_ANIMATION_TIME, easing = SINE_EASING)
+ animate(bar, pixel_z = ICON_SIZE_Y + offset_y + (PROGRESSBAR_HEIGHT * (listindex - 1)), alpha = 255, time = PROGRESSBAR_ANIMATION_TIME, easing = SINE_EASING)
///Updates the progress bar image visually.
diff --git a/code/datums/proximity_monitor/fields/heretic_arena.dm b/code/datums/proximity_monitor/fields/heretic_arena.dm
index af949963a7c..ebf782cf400 100644
--- a/code/datums/proximity_monitor/fields/heretic_arena.dm
+++ b/code/datums/proximity_monitor/fields/heretic_arena.dm
@@ -154,7 +154,7 @@ GLOBAL_LIST_EMPTY(heretic_arenas)
/datum/status_effect/arena_tracker/proc/on_crit_somebody()
owner.cut_overlay(crown_overlay)
crown_overlay = mutable_appearance('icons/mob/effects/crown.dmi', "arena_victor", -HALO_LAYER)
- crown_overlay.pixel_y = 24
+ crown_overlay.pixel_z = 24
owner.add_overlay(crown_overlay)
owner.remove_traits(list(TRAIT_ELDRITCH_ARENA_PARTICIPANT, TRAIT_NO_TELEPORT), TRAIT_STATUS_EFFECT(id))
@@ -200,7 +200,7 @@ GLOBAL_LIST_EMPTY(heretic_arenas)
RegisterSignal(owner, COMSIG_MOB_APPLY_DAMAGE, PROC_REF(damage_taken))
owner.add_traits(list(TRAIT_ELDRITCH_ARENA_PARTICIPANT, TRAIT_NO_TELEPORT), TRAIT_STATUS_EFFECT(id))
crown_overlay = mutable_appearance('icons/mob/effects/crown.dmi', "arena_fighter", -HALO_LAYER)
- crown_overlay.pixel_y = 24
+ crown_overlay.pixel_z = 24
owner.add_overlay(crown_overlay)
return TRUE
diff --git a/code/datums/quirks/_quirk.dm b/code/datums/quirks/_quirk.dm
index 85fd0fb806d..c9f6173a8f3 100644
--- a/code/datums/quirks/_quirk.dm
+++ b/code/datums/quirks/_quirk.dm
@@ -125,7 +125,7 @@
if(!quirk_transfer && lose_text)
to_chat(quirk_holder, lose_text)
- if(mob_trait && !QDELETED(quirk_holder)) // BUBBER EDIT CHANGE - Original: if(mob_trait) - Temp fix until https://github.com/tgstation/tgstation/pull/90044
+ if(mob_trait && !QDELETED(quirk_holder))
REMOVE_TRAIT(quirk_holder, mob_trait, QUIRK_TRAIT)
if(quirk_flags & QUIRK_PROCESSES)
diff --git a/code/datums/quirks/negative_quirks/addict.dm b/code/datums/quirks/negative_quirks/addict.dm
index 09b25ef46b2..e19b8f69bf9 100644
--- a/code/datums/quirks/negative_quirks/addict.dm
+++ b/code/datums/quirks/negative_quirks/addict.dm
@@ -36,7 +36,7 @@
if(istype(drug_instance, /obj/item/storage/pill_bottle))
var/pill_state = "pill[rand(1,20)]"
for(var/i in 1 to 7)
- var/obj/item/reagent_containers/pill/pill = new(drug_instance)
+ var/obj/item/reagent_containers/applicator/pill/pill = new(drug_instance)
pill.icon_state = pill_state
pill.reagents.add_reagent(reagent_type, 3)
diff --git a/code/datums/quirks/negative_quirks/all_nighter.dm b/code/datums/quirks/negative_quirks/all_nighter.dm
index cb11ba0d5fa..8220972ad22 100644
--- a/code/datums/quirks/negative_quirks/all_nighter.dm
+++ b/code/datums/quirks/negative_quirks/all_nighter.dm
@@ -80,6 +80,7 @@
/datum/quirk/all_nighter/process(seconds_per_tick)
var/happy_camper = TRUE
var/beauty_sleep = TRUE
+ var/all_nighter = quirk_holder.mob_mood?.get_mood_event("all_nighter")
if(quirk_holder.IsSleeping())
five_more_minutes += SLEEP_BANK_MULTIPLIER * seconds_per_tick
@@ -93,9 +94,9 @@
happy_camper = FALSE
//adjusts the mood event accordingly
- if(("all_nighter" in quirk_holder.mob_mood?.mood_events) && happy_camper)
+ if(all_nighter && happy_camper)
quirk_holder.clear_mood_event("all_nighter", /datum/mood_event/all_nighter)
- if(!("all_nighter" in quirk_holder.mob_mood?.mood_events) && !happy_camper)
+ if(!all_nighter && !happy_camper)
quirk_holder.add_mood_event("all_nighter", /datum/mood_event/all_nighter)
to_chat(quirk_holder, span_danger("You start feeling tired again."))
diff --git a/code/datums/quirks/negative_quirks/claustrophobia.dm b/code/datums/quirks/negative_quirks/claustrophobia.dm
index 6091324deda..2b70dcada6f 100644
--- a/code/datums/quirks/negative_quirks/claustrophobia.dm
+++ b/code/datums/quirks/negative_quirks/claustrophobia.dm
@@ -5,53 +5,11 @@
value = -4
medical_record_text = "Patient demonstrates a fear of tight spaces."
hardcore_value = 5
- quirk_flags = QUIRK_HUMAN_ONLY|QUIRK_PROCESSES
+ quirk_flags = QUIRK_HUMAN_ONLY
mail_goodies = list(/obj/item/reagent_containers/syringe/convermol) // to help breathing
- maximum_process_stat = SOFT_CRIT
- no_process_traits = list(TRAIT_MIND_TEMPORARILY_GONE, TRAIT_FEARLESS, TRAIT_KNOCKEDOUT)
+
+/datum/quirk/claustrophobia/add(client/client_source)
+ quirk_holder.AddComponentFrom(type, /datum/component/fearful, list(/datum/terror_handler/simple_source/claustrophobia, /datum/terror_handler/simple_source/clausophobia))
/datum/quirk/claustrophobia/remove()
- quirk_holder.clear_mood_event("claustrophobia")
-
-/datum/quirk/claustrophobia/process(seconds_per_tick)
- // BUBBER EDIT START: Vore
- if(istype(quirk_holder.loc, /obj/vore_belly))
- quirk_holder.clear_mood_event("claustrophobia")
- return
- // BUBBER EDIT END
- var/nick_spotted = FALSE
-
-/* SKYRAT EDIT REMOVAL START
- for(var/mob/living/carbon/human/possible_claus in view(5, quirk_holder))
- if(evaluate_jolly_levels(possible_claus))
- nick_spotted = TRUE
- break
-SKYRAT EDIT REMOVAL END */
-
- if(!nick_spotted && isturf(quirk_holder.loc))
- quirk_holder.clear_mood_event("claustrophobia")
- return
-
- quirk_holder.add_mood_event("claustrophobia", /datum/mood_event/claustrophobia)
- quirk_holder.losebreath += 0.25 // miss a breath one in four times
- if(SPT_PROB(25, seconds_per_tick))
- if(nick_spotted)
- to_chat(quirk_holder, span_warning("Santa Claus is here! I gotta get out of here!"))
- else
- to_chat(quirk_holder, span_warning("You feel trapped! Must escape... can't breathe..."))
-
-///investigates whether possible_saint_nick possesses a high level of christmas cheer
-/datum/quirk/claustrophobia/proc/evaluate_jolly_levels(mob/living/carbon/human/possible_saint_nick)
- if(!istype(possible_saint_nick))
- return FALSE
-
- if(istype(possible_saint_nick.back, /obj/item/storage/backpack/santabag))
- return TRUE
-
- if(istype(possible_saint_nick.head, /obj/item/clothing/head/costume/santa) || istype(possible_saint_nick.head, /obj/item/clothing/head/helmet/space/santahat))
- return TRUE
-
- if(istype(possible_saint_nick.wear_suit, /obj/item/clothing/suit/space/santa))
- return TRUE
-
- return FALSE
+ quirk_holder.RemoveComponentSource(type, /datum/component/fearful)
diff --git a/code/datums/quirks/negative_quirks/depression.dm b/code/datums/quirks/negative_quirks/depression.dm
index 0bf15516105..b72b5791db9 100644
--- a/code/datums/quirks/negative_quirks/depression.dm
+++ b/code/datums/quirks/negative_quirks/depression.dm
@@ -2,11 +2,19 @@
name = "Depression"
desc = "You sometimes just hate life."
icon = FA_ICON_FROWN
- mob_trait = TRAIT_DEPRESSION
value = -3
gain_text = span_danger("You start feeling depressed.")
lose_text = span_notice("You no longer feel depressed.") //if only it were that easy!
medical_record_text = "Patient has a mild mood disorder causing them to experience acute episodes of depression."
- quirk_flags = QUIRK_HUMAN_ONLY|QUIRK_MOODLET_BASED
+ quirk_flags = QUIRK_HUMAN_ONLY|QUIRK_MOODLET_BASED|QUIRK_PROCESSES
hardcore_value = 2
mail_goodies = list(/obj/item/storage/pill_bottle/happinesspsych)
+
+/datum/quirk/depression/process(seconds_per_tick)
+ // 0.416% is 15 successes / 3600 seconds. Calculated with 2 minute
+ // mood runtime, so 50% average uptime across the hour.
+ if(SPT_PROB(0.416, seconds_per_tick))
+ quirk_holder.add_mood_event("depression", /datum/mood_event/depression)
+
+/datum/quirk/depression/remove()
+ quirk_holder.clear_mood_event("depression")
diff --git a/code/datums/quirks/negative_quirks/insanity.dm b/code/datums/quirks/negative_quirks/insanity.dm
index c5fc1afdf0d..9401d006b67 100644
--- a/code/datums/quirks/negative_quirks/insanity.dm
+++ b/code/datums/quirks/negative_quirks/insanity.dm
@@ -17,7 +17,7 @@
if(!iscarbon(quirk_holder))
return
var/mob/living/carbon/carbon_quirk_holder = quirk_holder
-
+
// Setup our special RDS mild hallucination.
// Not a unique subtype so not to plague subtypesof,
// also as we inherit the names and values from our quirk.
@@ -28,6 +28,7 @@
added_trauma.scan_desc = LOWER_TEXT(name)
added_trauma.gain_text = null
added_trauma.lose_text = null
+ added_trauma.uncapped = client_source?.prefs?.read_preference(/datum/preference/toggle/rds_limit)
carbon_quirk_holder.gain_trauma(added_trauma)
added_trama_ref = WEAKREF(added_trauma)
@@ -39,3 +40,7 @@
/datum/quirk/insanity/remove()
QDEL_NULL(added_trama_ref)
+
+/datum/quirk_constant_data/rds_limit
+ associated_typepath = /datum/quirk/insanity
+ customization_options = list(/datum/preference/toggle/rds_limit)
diff --git a/code/datums/quirks/negative_quirks/nyctophobia.dm b/code/datums/quirks/negative_quirks/nyctophobia.dm
index 94664f43f85..cf958ab84da 100644
--- a/code/datums/quirks/negative_quirks/nyctophobia.dm
+++ b/code/datums/quirks/negative_quirks/nyctophobia.dm
@@ -9,39 +9,7 @@
no_process_traits = list(TRAIT_MIND_TEMPORARILY_GONE, TRAIT_FEARLESS, TRAIT_KNOCKEDOUT)
/datum/quirk/nyctophobia/add(client/client_source)
- RegisterSignal(quirk_holder, COMSIG_MOVABLE_MOVED, PROC_REF(on_holder_moved))
+ quirk_holder.AddComponentFrom(type, /datum/component/fearful, list(/datum/terror_handler/simple_source/nyctophobia))
/datum/quirk/nyctophobia/remove()
- UnregisterSignal(quirk_holder, COMSIG_MOVABLE_MOVED)
- quirk_holder.clear_mood_event("nyctophobia")
-
-/// Called when the quirk holder moves. Updates the quirk holder's mood.
-/datum/quirk/nyctophobia/proc/on_holder_moved(mob/living/source, atom/old_loc, dir, forced)
- SIGNAL_HANDLER
-
- if(quirk_holder.stat != CONSCIOUS || quirk_holder.IsSleeping() || quirk_holder.IsUnconscious())
- return
-
- if(HAS_TRAIT(quirk_holder, TRAIT_FEARLESS))
- return
-
- var/mob/living/carbon/human/human_holder = quirk_holder
-
- if(human_holder.dna?.species.id in list(SPECIES_SHADOW, SPECIES_NIGHTMARE))
- return
-
- if((human_holder.sight & SEE_TURFS) == SEE_TURFS)
- return
-
- var/turf/holder_turf = get_turf(quirk_holder)
-
- var/lums = holder_turf.get_lumcount()
-
- if(lums > LIGHTING_TILE_IS_DARK)
- quirk_holder.clear_mood_event("nyctophobia")
- return
-
- if(quirk_holder.move_intent == MOVE_INTENT_RUN)
- to_chat(quirk_holder, span_warning("Easy, easy, take it slow... you're in the dark..."))
- quirk_holder.toggle_move_intent()
- quirk_holder.add_mood_event("nyctophobia", /datum/mood_event/nyctophobia)
+ quirk_holder.RemoveComponentSource(type, /datum/component/fearful)
diff --git a/code/datums/quirks/negative_quirks/prosopagnosia.dm b/code/datums/quirks/negative_quirks/prosopagnosia.dm
index 9b41713e6ce..3911cb45056 100644
--- a/code/datums/quirks/negative_quirks/prosopagnosia.dm
+++ b/code/datums/quirks/negative_quirks/prosopagnosia.dm
@@ -3,23 +3,34 @@
desc = "You have a mental disorder that prevents you from being able to recognize faces at all."
icon = FA_ICON_USER_SECRET
value = -4
- mob_trait = TRAIT_PROSOPAGNOSIA
medical_record_text = "Patient suffers from prosopagnosia and cannot recognize faces."
hardcore_value = 5
mail_goodies = list(/obj/item/skillchip/appraiser) // bad at recognizing faces but good at recognizing IDs
/datum/quirk/prosopagnosia/add(client/client_source)
RegisterSignal(quirk_holder, COMSIG_MOB_REQUESTING_SCREENTIP_NAME_FROM_USER, PROC_REF(screentip_name_override))
+ RegisterSignal(quirk_holder, COMSIG_LIVING_PERCEIVE_EXAMINE_NAME, PROC_REF(examine_name_override))
quirk_holder.mob_flags |= MOB_HAS_SCREENTIPS_NAME_OVERRIDE
/datum/quirk/prosopagnosia/remove()
- UnregisterSignal(quirk_holder, COMSIG_MOB_REQUESTING_SCREENTIP_NAME_FROM_USER)
+ UnregisterSignal(quirk_holder, list(COMSIG_MOB_REQUESTING_SCREENTIP_NAME_FROM_USER, COMSIG_LIVING_PERCEIVE_EXAMINE_NAME))
-/datum/quirk/prosopagnosia/proc/screentip_name_override(datum/source, list/returned_name, obj/item/held_item, atom/hovered)
+/datum/quirk/prosopagnosia/proc/examine_name_override(datum/source, mob/living/carbon/human/examined, visible_name, list/name_override)
SIGNAL_HANDLER
- if(!ishuman(hovered))
+ if(!ishuman(examined) || source == examined)
return NONE
- returned_name[1] = "Unknown"
+ var/id_name = examined.get_id_name("")
+ name_override[1] = id_name ? "[id_name]?" : "Unknown"
+ return COMPONENT_EXAMINE_NAME_OVERRIDEN
+
+/datum/quirk/prosopagnosia/proc/screentip_name_override(datum/source, list/returned_name, obj/item/held_item, mob/living/carbon/human/hovered)
+ SIGNAL_HANDLER
+
+ if(!ishuman(hovered) || source == hovered)
+ return NONE
+
+ var/id_name = hovered.get_id_name("")
+ returned_name[1] = id_name ? "[id_name]?" : "Unknown"
return SCREENTIP_NAME_SET
diff --git a/code/datums/quirks/negative_quirks/pushover.dm b/code/datums/quirks/negative_quirks/pushover.dm
index 663d8173759..1c781ac0a50 100644
--- a/code/datums/quirks/negative_quirks/pushover.dm
+++ b/code/datums/quirks/negative_quirks/pushover.dm
@@ -1,6 +1,6 @@
/datum/quirk/pushover
name = "Pushover"
- desc = "Your first instinct is always to let people push you around. Resisting out of grabs will take conscious effort."
+ desc = "Your first instinct is always to let people push you around. Resisting out of grabs is noticeably more difficult."
icon = FA_ICON_HANDSHAKE
value = -8
mob_trait = TRAIT_GRABWEAKNESS
diff --git a/code/datums/quirks/neutral_quirks/monochromatic.dm b/code/datums/quirks/neutral_quirks/monochromatic.dm
index 6c1b8c2ef78..3295ca321a8 100644
--- a/code/datums/quirks/neutral_quirks/monochromatic.dm
+++ b/code/datums/quirks/neutral_quirks/monochromatic.dm
@@ -12,7 +12,7 @@
)
/datum/quirk/monochromatic/add(client/client_source)
- quirk_holder.add_client_colour(/datum/client_colour/monochrome)
+ quirk_holder.add_client_colour(/datum/client_colour/monochrome, QUIRK_TRAIT)
/datum/quirk/monochromatic/post_add()
if(is_detective_job(quirk_holder.mind.assigned_role))
@@ -20,4 +20,4 @@
quirk_holder.playsound_local(quirk_holder, 'sound/ambience/security/ambidet1.ogg', 50, FALSE)
/datum/quirk/monochromatic/remove()
- quirk_holder.remove_client_colour(/datum/client_colour/monochrome)
+ quirk_holder.remove_client_colour(QUIRK_TRAIT)
diff --git a/code/datums/quirks/positive_quirks/jolly.dm b/code/datums/quirks/positive_quirks/jolly.dm
index 7f6c334ba9d..a6d9ea3c199 100644
--- a/code/datums/quirks/positive_quirks/jolly.dm
+++ b/code/datums/quirks/positive_quirks/jolly.dm
@@ -3,7 +3,15 @@
desc = "You sometimes just feel happy, for no reason at all."
icon = FA_ICON_GRIN
value = 4
- mob_trait = TRAIT_JOLLY
- quirk_flags = QUIRK_HUMAN_ONLY|QUIRK_MOODLET_BASED
+ quirk_flags = QUIRK_HUMAN_ONLY|QUIRK_MOODLET_BASED|QUIRK_PROCESSES
medical_record_text = "Patient demonstrates constant euthymia irregular for environment. It's a bit much, to be honest."
mail_goodies = list(/obj/item/clothing/mask/joy)
+
+/datum/quirk/jolly/process(seconds_per_tick)
+ // 0.416% is 15 successes / 3600 seconds. Calculated with 2 minute
+ // mood runtime, so 50% average uptime across the hour.
+ if(SPT_PROB(0.416, seconds_per_tick))
+ quirk_holder.add_mood_event("jolly", /datum/mood_event/jolly)
+
+/datum/quirk/jolly/remove()
+ quirk_holder.clear_mood_event("jolly")
diff --git a/code/datums/quirks/positive_quirks/spacer.dm b/code/datums/quirks/positive_quirks/spacer.dm
index 006cc163d9d..a33f46aae56 100644
--- a/code/datums/quirks/positive_quirks/spacer.dm
+++ b/code/datums/quirks/positive_quirks/spacer.dm
@@ -14,7 +14,7 @@
medical_record_text = "Patient is well-adapted to non-terrestrial environments."
mail_goodies = list(
/obj/item/storage/pill_bottle/ondansetron,
- /obj/item/reagent_containers/pill/gravitum,
+ /obj/item/reagent_containers/applicator/pill/gravitum,
)
/// How high spacers get bumped up to
var/modded_height = HUMAN_HEIGHT_TALLER
diff --git a/code/datums/quirks/positive_quirks/strong_stomach.dm b/code/datums/quirks/positive_quirks/strong_stomach.dm
index 8c0a3f3b137..3cfcc085233 100644
--- a/code/datums/quirks/positive_quirks/strong_stomach.dm
+++ b/code/datums/quirks/positive_quirks/strong_stomach.dm
@@ -8,5 +8,5 @@
lose_text = span_danger("Looking at food on the ground makes you feel a little queasy.")
medical_record_text = "Patient has a stronger than average immune system...to food poisoning, at least."
mail_goodies = list(
- /obj/item/reagent_containers/pill/ondansetron,
+ /obj/item/reagent_containers/applicator/pill/ondansetron,
)
diff --git a/code/datums/records/manifest.dm b/code/datums/records/manifest.dm
index 3e81468a9b8..072fd93179c 100644
--- a/code/datums/records/manifest.dm
+++ b/code/datums/records/manifest.dm
@@ -98,7 +98,7 @@ GLOBAL_DATUM_INIT(manifest, /datum/manifest, new)
/// Injects a record into the manifest.
-/datum/manifest/proc/inject(mob/living/carbon/human/person, client/person_client) // SKYRAT EDIT - RP Records - ORIGINAL: /datum/manifest/proc/inject(mob/living/carbon/human/person)
+/datum/manifest/proc/inject(mob/living/carbon/human/person, atom/appearance_proxy, client/person_client) // SKYRAT EDIT - RP Records - ORIGINAL: /datum/manifest/proc/inject(mob/living/carbon/human/person, atom/appearance_proxy)
set waitfor = FALSE
if(!(person.mind?.assigned_role.job_flags & JOB_CREW_MANIFEST))
return
@@ -107,7 +107,7 @@ GLOBAL_DATUM_INIT(manifest, /datum/manifest, new)
var/obj/item/card/id/id_card = person.get_idcard(hand_first = FALSE)
var/assignment = id_card?.get_trim_assignment() || person.mind.assigned_role.title
- var/mutable_appearance/character_appearance = new(person.appearance)
+ var/mutable_appearance/character_appearance = new(appearance_proxy?.appearance || person.appearance)
var/person_gender = "Other"
if(person.gender == "male")
person_gender = "Male"
@@ -179,6 +179,14 @@ GLOBAL_DATUM_INIT(manifest, /datum/manifest, new)
target.rank = assignment
target.trim = trim
+///Removes a record based on its name.
+/datum/manifest/proc/remove(name)
+ var/datum/record/crew/target = find_record(name)
+ if(!target)
+ return
+ general -= target
+ qdel(target)
+
/**
* Using the name to find the record, and person in reference to the body, we recreate photos for the manifest (and records).
* Args:
diff --git a/code/datums/records/record.dm b/code/datums/records/record.dm
index 1b168530057..f855d8849a5 100644
--- a/code/datums/records/record.dm
+++ b/code/datums/records/record.dm
@@ -250,7 +250,7 @@
var/mutable_appearance/appearance = character_appearance
appearance.setDir(orientation)
if(add_height_chart)
- appearance.underlays += mutable_appearance('icons/obj/machines/photobooth.dmi', "height_chart", alpha = 125, appearance_flags = RESET_ALPHA|RESET_COLOR|RESET_TRANSFORM)
+ appearance.underlays += mutable_appearance('icons/obj/machines/photobooth.dmi', "height_chart", alpha = 125, appearance_flags = RESET_ALPHA|RESET_COLOR|RESET_TRANSFORM|KEEP_APART)
picture_image = getFlatIcon(appearance)
else
picture_image = character_appearance
diff --git a/code/datums/shuttles/mining.dm b/code/datums/shuttles/mining.dm
index 909bc6c928e..21747a488e3 100644
--- a/code/datums/shuttles/mining.dm
+++ b/code/datums/shuttles/mining.dm
@@ -52,10 +52,6 @@
suffix = "nebula"
name = "mining shuttle (Nebula)"
-/datum/map_template/shuttle/mining/nebula
- suffix = "nebula"
- name = "mining shuttle (Nebula)"
-
// MINING COMMON SHUTTLES
/datum/map_template/shuttle/mining_common
port_id = "mining_common"
diff --git a/code/datums/status_effects/buffs.dm b/code/datums/status_effects/buffs.dm
index f1d2db3e898..be76fa8d6f3 100644
--- a/code/datums/status_effects/buffs.dm
+++ b/code/datums/status_effects/buffs.dm
@@ -437,7 +437,7 @@
owner.log_message("entered a blood frenzy", LOG_ATTACK)
to_chat(owner, span_narsiesmall("KILL, KILL, KILL! YOU HAVE NO ALLIES ANYMORE, NO TEAM MATES OR ALLEGIANCES! KILL THEM ALL!"))
- var/datum/client_colour/colour = owner.add_client_colour(/datum/client_colour/bloodlust)
+ var/datum/client_colour/colour = owner.add_client_colour(/datum/client_colour/bloodlust, REF(src))
QDEL_IN(colour, 1.1 SECONDS)
return TRUE
diff --git a/code/datums/status_effects/buffs/bioware/cortex.dm b/code/datums/status_effects/buffs/bioware/cortex.dm
index de11dab1eac..6134b9d7f6b 100644
--- a/code/datums/status_effects/buffs/bioware/cortex.dm
+++ b/code/datums/status_effects/buffs/bioware/cortex.dm
@@ -13,8 +13,18 @@
// Imprinted brain - Cures basic traumas continuously
/datum/status_effect/bioware/cortex/imprinted
- tick_interval = 2 SECONDS
-/datum/status_effect/bioware/cortex/imprinted/tick(seconds_between_ticks)
+/datum/status_effect/bioware/cortex/imprinted/bioware_gained()
var/mob/living/carbon/human/human_owner = owner
- human_owner.cure_trauma_type(resilience = TRAUMA_RESILIENCE_BASIC)
+ human_owner.cure_all_traumas(resilience = TRAUMA_RESILIENCE_BASIC)
+ RegisterSignal(human_owner, COMSIG_CARBON_GAIN_TRAUMA, PROC_REF(on_gain_trauma))
+
+/datum/status_effect/bioware/cortex/imprinted/bioware_lost()
+ UnregisterSignal(owner, COMSIG_CARBON_GAIN_TRAUMA)
+
+/datum/status_effect/bioware/cortex/imprinted/proc/on_gain_trauma(datum/source, datum/brain_trauma/trauma, resilience)
+ SIGNAL_HANDLER
+ if(isnull(resilience))
+ resilience = trauma.resilience
+ if(resilience <= TRAUMA_RESILIENCE_BASIC) // there SHOULD be nothing lower than TRAUMA_RESILIENCE_BASIC, but I'd prefer to not make assumptions in case this ever gets some sort of refactor
+ return COMSIG_CARBON_BLOCK_TRAUMA
diff --git a/code/datums/status_effects/buffs/stop_drop_roll.dm b/code/datums/status_effects/buffs/stop_drop_roll.dm
index 96db96372dd..e7ff393a1dd 100644
--- a/code/datums/status_effects/buffs/stop_drop_roll.dm
+++ b/code/datums/status_effects/buffs/stop_drop_roll.dm
@@ -17,13 +17,7 @@
RegisterSignal(owner, COMSIG_LIVING_SET_BODY_POSITION, PROC_REF(body_position_changed))
ADD_TRAIT(owner, TRAIT_HANDS_BLOCKED, TRAIT_STATUS_EFFECT(id)) // they're kinda busy!
- owner.visible_message(
- span_danger("[owner] rolls on the floor, trying to put [owner.p_them()]self out!"),
- span_notice("You stop, drop, and roll!"),
- )
- // Start with one weaker roll
- owner.spin(spintime = actual_interval, speed = actual_interval / 4)
- owner.adjust_fire_stacks(-0.25)
+ start_rolling()
for (var/obj/item/dropped in owner.loc)
dropped.extinguish() // Effectively extinguish your items by rolling on them
@@ -33,6 +27,14 @@
UnregisterSignal(owner, list(COMSIG_MOVABLE_MOVED, COMSIG_LIVING_SET_BODY_POSITION))
REMOVE_TRAIT(owner, TRAIT_HANDS_BLOCKED, TRAIT_STATUS_EFFECT(id))
+/datum/status_effect/stop_drop_roll/proc/start_rolling()
+ owner.visible_message(
+ span_danger("[owner] rolls on the floor, trying to put [owner.p_them()]self out!"),
+ span_notice("You stop, drop, and roll!"),
+ )
+ // Start with one weaker roll
+ reduce_firestacks(0.25)
+
/datum/status_effect/stop_drop_roll/tick(seconds_between_ticks)
if(HAS_TRAIT(owner, TRAIT_IMMOBILIZED) || HAS_TRAIT(owner, TRAIT_INCAPACITATED))
qdel(src)
@@ -44,17 +46,17 @@
return
owner.spin(spintime = actual_interval, speed = actual_interval / 4)
- owner.adjust_fire_stacks(-1)
-
- if(owner.fire_stacks > 0)
+ if(!reduce_firestacks(1))
return
- owner.visible_message(
- span_danger("[owner] successfully extinguishes [owner.p_them()]self!"),
- span_notice("You extinguish yourself."),
- )
- qdel(src)
+ stop_rolling_successful()
+/// Return TRUE to stop the us from rolling.
+/datum/status_effect/stop_drop_roll/proc/reduce_firestacks(amt = 1)
+ owner.adjust_fire_stacks(-1 * amt)
+ return owner.fire_stacks <= 0
+
+/// Called when we just, stop rolling, due to movement or other reasons. Maybe still on fire, maybe not.
/datum/status_effect/stop_drop_roll/proc/stop_rolling(datum/source, ...)
SIGNAL_HANDLER
@@ -62,8 +64,54 @@
to_chat(owner, span_notice("You stop rolling around."))
qdel(src)
+/// Called when we've successfully extinguished ourselves.
+/datum/status_effect/stop_drop_roll/proc/stop_rolling_successful()
+ owner.visible_message(
+ span_danger("[owner] successfully extinguishes [owner.p_them()]self!"),
+ span_notice("You extinguish yourself."),
+ )
+ qdel(src)
+
/datum/status_effect/stop_drop_roll/proc/body_position_changed(datum/source, new_value, old_value)
SIGNAL_HANDLER
if(new_value != LYING_DOWN)
stop_rolling()
+
+/// Subtype of rolling triggered when someone hallucinating fire tries to stop, drop, and roll.
+/datum/status_effect/stop_drop_roll/hallucinating
+ /// Weakref to the fire hallucination
+ var/datum/weakref/hallucination_weakref
+
+/datum/status_effect/stop_drop_roll/hallucinating/on_creation(mob/living/new_owner, datum/weakref/hallucination_weakref)
+ src.hallucination_weakref = hallucination_weakref
+ return ..()
+
+/datum/status_effect/stop_drop_roll/hallucinating/start_rolling()
+ owner.visible_message(
+ span_danger("[owner] starts rolling around on the floor, flailing about!"),
+ span_notice("You stop, drop, and roll!"),
+ )
+ reduce_firestacks(1) // more effective cause it's not real
+
+/datum/status_effect/stop_drop_roll/hallucinating/reduce_firestacks(amt = 1)
+ var/datum/hallucination/fire/hallucination = hallucination_weakref?.resolve()
+ if(!istype(hallucination))
+ return TRUE
+
+ hallucination.fake_firestacks += (-1 * amt)
+ if(hallucination.fake_firestacks <= 0)
+ hallucination.clear_fire()
+ return TRUE
+ return FALSE
+
+/datum/status_effect/stop_drop_roll/hallucinating/stop_rolling_successful()
+ var/datum/hallucination/fire/hallucination = hallucination_weakref?.resolve()
+ if(istype(hallucination))
+ hallucination.clear_fire()
+
+ owner.visible_message(
+ span_danger("[owner] stops flailing around on the ground."),
+ span_notice("You extinguish yourself."),
+ )
+ qdel(src)
diff --git a/code/datums/status_effects/debuffs/debuffs.dm b/code/datums/status_effects/debuffs/debuffs.dm
index 274b6133c53..4ee7f46ce85 100644
--- a/code/datums/status_effects/debuffs/debuffs.dm
+++ b/code/datums/status_effects/debuffs/debuffs.dm
@@ -368,8 +368,8 @@
return FALSE
marked_underlay = new()
- marked_underlay.pixel_x = -owner.pixel_x
- marked_underlay.pixel_y = -owner.pixel_y
+ marked_underlay.pixel_w = -owner.pixel_x
+ marked_underlay.pixel_z = -owner.pixel_y
marked_underlay.transform *= 0.5
owner.vis_contents += marked_underlay
animate(marked_underlay, ready_delay, transform = matrix() * 1.2, flags = CIRCULAR_EASING | EASE_IN)
@@ -390,7 +390,7 @@
name = "Crusher mark underlay"
icon = 'icons/effects/effects.dmi'
icon_state = "shield"
- appearance_flags = TILE_BOUND|LONG_GLIDE|RESET_COLOR|PIXEL_SCALE
+ appearance_flags = TILE_BOUND|LONG_GLIDE|RESET_COLOR|PIXEL_SCALE|KEEP_APART
vis_flags = VIS_UNDERLAY
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
@@ -578,7 +578,7 @@
return FALSE
RegisterSignal(owner, COMSIG_MOVABLE_HEAR, PROC_REF(hypnotize))
ADD_TRAIT(owner, TRAIT_MUTE, TRAIT_STATUS_EFFECT(id))
- owner.add_client_colour(/datum/client_colour/monochrome/trance)
+ owner.add_client_colour(/datum/client_colour/monochrome, REF(src))
owner.visible_message("[stun ? span_warning("[owner] stands still as [owner.p_their()] eyes seem to focus on a distant point.") : ""]", \
span_warning(pick("You feel your thoughts slow down...", "You suddenly feel extremely dizzy...", "You feel like you're in the middle of a dream...","You feel incredibly relaxed...")))
return TRUE
@@ -592,7 +592,7 @@
UnregisterSignal(owner, COMSIG_MOVABLE_HEAR)
REMOVE_TRAIT(owner, TRAIT_MUTE, TRAIT_STATUS_EFFECT(id))
owner.remove_status_effect(/datum/status_effect/dizziness)
- owner.remove_client_colour(/datum/client_colour/monochrome/trance)
+ owner.remove_client_colour(REF(src))
to_chat(owner, span_warning("You snap out of your trance!"))
/datum/status_effect/trance/get_examine_text()
diff --git a/code/datums/status_effects/debuffs/hallucination.dm b/code/datums/status_effects/debuffs/hallucination.dm
index 6ab7df7f244..c6a06b22e87 100644
--- a/code/datums/status_effects/debuffs/hallucination.dm
+++ b/code/datums/status_effects/debuffs/hallucination.dm
@@ -5,22 +5,26 @@
alert_type = null
tick_interval = 2 SECONDS
remove_on_fullheal = TRUE
+ processing_speed = STATUS_EFFECT_NORMAL_PROCESS
/// Biotypes which cannot hallucinate.
var/barred_biotypes = NO_HALLUCINATION_BIOTYPES
/// The lower range of when the next hallucination will trigger after one occurs.
- var/lower_tick_interval = 10 SECONDS
+ var/lower_tick_interval = 20 SECONDS
/// The upper range of when the next hallucination will trigger after one occurs.
- var/upper_tick_interval = 60 SECONDS
+ var/upper_tick_interval = 80 SECONDS
+ /// The maximum hallucination tier that can be picked.
+ var/max_hallucination_tier = HALLUCINATION_TIER_COMMON
+ /// If TRUE, we only select hallucinations from the hallucination_tier.
+ /// If FALSE, it will also include anything below the hallucination_tier.
+ var/strict_tier = FALSE
+ /// Tier can be variable, based on the duration of the hallucination.
+ var/variable_tier = TRUE
/// The cooldown for when the next hallucination can occur
COOLDOWN_DECLARE(hallucination_cooldown)
-/datum/status_effect/hallucination/on_creation(mob/living/new_owner, duration, lower_tick_interval, upper_tick_interval)
- if(isnum(duration))
- src.duration = duration
- if(isnum(lower_tick_interval))
- src.lower_tick_interval = lower_tick_interval
- if(isnum(upper_tick_interval))
- src.upper_tick_interval = upper_tick_interval
+/datum/status_effect/hallucination/on_creation(mob/living/new_owner, new_duration)
+ if(isnum(new_duration))
+ src.duration = new_duration
return ..()
/datum/status_effect/hallucination/on_apply()
@@ -86,15 +90,39 @@
if(!COOLDOWN_FINISHED(src, hallucination_cooldown))
return
- var/datum/hallucination/picked_hallucination = pick_weight(GLOB.random_hallucination_weighted_list)
- owner.cause_hallucination(picked_hallucination, "[id] status effect")
- COOLDOWN_START(src, hallucination_cooldown, rand(lower_tick_interval, upper_tick_interval))
+ var/lower_cd = lower_tick_interval
+ var/upper_cd = upper_tick_interval
+ if(!variable_tier)
+ var/seconds_left = (duration - world.time) / 10
+ switch(seconds_left)
+ if(0 to 20)
+ max_hallucination_tier = HALLUCINATION_TIER_COMMON
+ lower_tick_interval *= 1.2
+ upper_tick_interval *= 1.2
+ if(20 to 60)
+ max_hallucination_tier = prob(10) ? HALLUCINATION_TIER_RARE : HALLUCINATION_TIER_UNCOMMON
+ if(60 to 120)
+ max_hallucination_tier = HALLUCINATION_TIER_RARE
+ lower_cd *= 0.75
+ upper_cd *= 0.75
+ if(120 to INFINITY)
+ max_hallucination_tier = HALLUCINATION_TIER_VERYSPECIAL
+ lower_cd *= 0.5
+ upper_cd *= 0.5
+
+ var/datum/hallucination/picked_hallucination = get_random_hallucination(max_hallucination_tier, strict_tier)
+ if(!owner.cause_hallucination(picked_hallucination, "[id] status effect"))
+ lower_cd *= 0.25
+ upper_cd *= 0.25
+ COOLDOWN_START(src, hallucination_cooldown, rand(lower_cd, upper_cd))
// Sanity related hallucinations
/datum/status_effect/hallucination/sanity
id = "low sanity"
status_type = STATUS_EFFECT_REFRESH
duration = STATUS_EFFECT_PERMANENT // This lasts "forever", only goes away with sanity gain
+ max_hallucination_tier = HALLUCINATION_TIER_UNCOMMON
+ variable_tier = FALSE
/datum/status_effect/hallucination/sanity/on_health_scan(datum/source, list/render_list, advanced, mob/user, mode, tochat)
return
@@ -133,3 +161,18 @@
else
stack_trace("[type] was assigned a mob which was not crazy or insane. (was: [owner.mob_mood.sanity_level])")
qdel(src)
+
+/datum/status_effect/hallucination/perceptomatrix
+ id = "perceptomatrix_hallucination"
+ status_type = STATUS_EFFECT_REFRESH
+ strict_tier = TRUE
+ variable_tier = FALSE
+
+/datum/status_effect/hallucination/perceptomatrix/refresh(mob/living/refresh_owner, new_duration)
+ src.duration += new_duration
+
+/datum/status_effect/hallucination/perceptomatrix/on_creation(mob/living/new_owner, new_duration)
+ if(isnum(new_duration))
+ src.lower_tick_interval = new_duration * 0.2
+ src.upper_tick_interval = new_duration
+ return ..()
diff --git a/code/datums/status_effects/debuffs/jitteriness.dm b/code/datums/status_effects/debuffs/jitteriness.dm
index 32460b433b0..ad9a7625133 100644
--- a/code/datums/status_effects/debuffs/jitteriness.dm
+++ b/code/datums/status_effects/debuffs/jitteriness.dm
@@ -22,9 +22,7 @@
/datum/status_effect/jitter/on_remove()
UnregisterSignal(owner, COMSIG_LIVING_DEATH)
owner.clear_mood_event(id)
- // juuust in case, reset our x and y's from our jittering
- owner.pixel_x = 0
- owner.pixel_y = 0
+ owner.update_offsets()
/datum/status_effect/jitter/get_examine_text()
switch(duration - world.time)
diff --git a/code/datums/status_effects/debuffs/terrified.dm b/code/datums/status_effects/debuffs/terrified.dm
index 61c4abcea3b..dcbe2f1f80e 100644
--- a/code/datums/status_effects/debuffs/terrified.dm
+++ b/code/datums/status_effects/debuffs/terrified.dm
@@ -1,155 +1,26 @@
-/// Amount of terror passively generated (or removed) on every tick based on lighting.
-#define DARKNESS_TERROR_AMOUNT 10
-/// How much terror a random panic attack will give the victim.
-#define PANIC_ATTACK_TERROR_AMOUNT 35
-/// Amount of terror actively removed (or generated) upon being hugged.
-#define HUG_TERROR_AMOUNT 60
+/// How much terror is applied upon first cast of Terrify
+#define TERROR_INITIAL_AMOUNT 100
/// Amount of terror caused by subsequent casting of the Terrify spell.
#define STACK_TERROR_AMOUNT 135
-/// The soft cap on how much passively generated terror you can have. Takes about 30 seconds to reach without the victim being actively terrorized.
-#define DARKNESS_TERROR_CAP 400
-
-/// The terror_buildup threshold for minor fear effects to occur.
-#define TERROR_FEAR_THRESHOLD 140
-/// The terror_buildup threshold for the more serious effects. Takes about 20 seconds of darkness buildup to reach.
-#define TERROR_PANIC_THRESHOLD 300
-/// Terror buildup will cause a heart attack and knock them out, removing the status effect.
-#define TERROR_HEART_ATTACK_THRESHOLD 600
-
/datum/status_effect/terrified
id = "terrified"
status_type = STATUS_EFFECT_REFRESH
remove_on_fullheal = TRUE
alert_type = /atom/movable/screen/alert/status_effect/terrified
- ///A value that represents how much "terror" the victim has built up. Higher amounts cause more averse effects.
- var/terror_buildup = 100
-
-/datum/status_effect/terrified/refresh(effect, ...) //Don't call parent, just add to the current amount
- freak_out(STACK_TERROR_AMOUNT)
/datum/status_effect/terrified/on_apply()
- RegisterSignal(owner, COMSIG_CARBON_PRE_MISC_HELP, PROC_REF(comfort_owner))
- owner.emote("scream")
to_chat(owner, span_alert("The darkness closes in around you, shadows dance around the corners of your vision... It feels like something is watching you!"))
+ owner.emote("scream")
+ owner.AddComponentFrom("terrified", /datum/component/fearful, list(/datum/terror_handler/simple_source/nyctophobia/terrified), TERROR_INITIAL_AMOUNT)
return TRUE
/datum/status_effect/terrified/on_remove()
- UnregisterSignal(owner, COMSIG_CARBON_HELPED)
- owner.remove_fov_trait(id, FOV_270_DEGREES)
+ owner.RemoveComponentSource("terrified", /datum/component/fearful)
-/datum/status_effect/terrified/tick(seconds_between_ticks)
- if(check_surrounding_darkness())
- if(terror_buildup < DARKNESS_TERROR_CAP)
- terror_buildup += DARKNESS_TERROR_AMOUNT
- else
- terror_buildup -= DARKNESS_TERROR_AMOUNT
-
- if(terror_buildup <= 0) //If we've completely calmed down, we remove the status effect.
- qdel(src)
- return
-
- if(terror_buildup >= TERROR_FEAR_THRESHOLD) //The onset, minor effects of terror buildup
- owner.adjust_dizzy_up_to(10 SECONDS * seconds_between_ticks, 10 SECONDS)
- owner.adjust_stutter_up_to(10 SECONDS * seconds_between_ticks, 10 SECONDS)
- owner.adjust_jitter_up_to(10 SECONDS * seconds_between_ticks, 10 SECONDS)
-
- if(terror_buildup >= TERROR_PANIC_THRESHOLD) //If you reach this amount of buildup in an engagement, it's time to start looking for a way out.
- owner.playsound_local(get_turf(owner), 'sound/effects/health/slowbeat.ogg', 40, 0, channel = CHANNEL_HEARTBEAT, use_reverb = FALSE)
- owner.add_fov_trait(id, FOV_270_DEGREES) //Terror induced tunnel vision
- owner.adjust_eye_blur_up_to(10 SECONDS * seconds_between_ticks, 10 SECONDS)
- if(prob(5)) //We have a little panic attack. Consider it GENTLE ENCOURAGEMENT to start running away.
- freak_out(PANIC_ATTACK_TERROR_AMOUNT)
- owner.visible_message(
- span_warning("[owner] drops to the floor for a moment, clutching their chest."),
- span_alert("Your heart lurches in your chest. You can't take much more of this!"),
- span_hear("You hear a grunt."),
- )
- else
- owner.remove_fov_trait(id, FOV_270_DEGREES)
-
- if(terror_buildup >= TERROR_HEART_ATTACK_THRESHOLD) //You should only be able to reach this by actively terrorizing someone
- owner.visible_message(
- span_warning("[owner] clutches [owner.p_their()] chest for a moment, then collapses to the floor."),
- span_alert("The shadows begin to creep up from the corners of your vision, and then there is nothing..."),
- span_hear("You hear something heavy collide with the ground."),
- )
- var/datum/disease/heart_failure/heart_attack = new(src)
- heart_attack.stage_prob = 2 //Advances twice as fast
- owner.ForceContractDisease(heart_attack)
- owner.Unconscious(20 SECONDS)
- qdel(src) //Victim passes out from fear, calming them down and permenantly damaging their heart.
-
-/datum/status_effect/terrified/get_examine_text()
- if(terror_buildup > DARKNESS_TERROR_CAP) //If we're approaching a heart attack
- return span_boldwarning("[owner.p_They()] [owner.p_are()] seizing up, about to collapse in fear!")
-
- if(terror_buildup >= TERROR_PANIC_THRESHOLD)
- return span_boldwarning("[owner] is visibly trembling and twitching. It looks like [owner.p_theyre()] freaking out!")
-
- if(terror_buildup >= TERROR_FEAR_THRESHOLD)
- return span_warning("[owner] looks very worried about something. [owner.p_are(TRUE)] [owner.p_they()] alright?")
-
- return span_notice("[owner] looks rather anxious. [owner.p_They()] could probably use a hug...")
-
-/// If we get a hug from a friend, we calm down! If we get a hug from a nightmare, we FREAK OUT.
-/datum/status_effect/terrified/proc/comfort_owner(datum/source, mob/living/hugger)
- SIGNAL_HANDLER
-
- if(hugger == owner)
- return
-
- if(isnightmare(hugger)) //hey wait a minute, that's not a comforting, friendly hug!
- if(check_surrounding_darkness())
- addtimer(CALLBACK(src, PROC_REF(freak_out), HUG_TERROR_AMOUNT))
- owner.visible_message(
- span_warning("[owner] recoils in fear as [hugger] waves [hugger.p_their()] arms and shrieks at [owner.p_them()]!"),
- span_boldwarning("The shadows lash out at you, and you drop to the ground in fear!"),
- span_hear("You hear someone shriek in fear. How embarassing!"),
- )
- return COMPONENT_BLOCK_MISC_HELP
-
- terror_buildup -= HUG_TERROR_AMOUNT
- owner.visible_message(
- span_notice("[owner] seems to relax as [hugger] gives [owner.p_them()] a comforting hug."),
- span_nicegreen("You feel yourself calm down as [hugger] gives you a reassuring hug."),
- span_hear("You hear shuffling and a sigh of relief."),
- )
-
-/**
- * Checks the surroundings of our victim and returns TRUE if the user is surrounded by enough darkness
- *
- * Checks the surrounded tiles for light amount. If the user has more light nearby, return true.
- * Otherwise, return false
- */
-
-/datum/status_effect/terrified/proc/check_surrounding_darkness()
- var/lit_tiles = 0
- var/unlit_tiles = 0
-
- for(var/turf/open/turf_to_check in range(1, owner.loc))
- var/light_amount = turf_to_check.get_lumcount()
- if(light_amount > 0.2)
- lit_tiles++
- else
- unlit_tiles++
-
- return lit_tiles < unlit_tiles
-
-/**
- * Adds to the victim's terror buildup, makes them scream, and knocks them over for a moment.
- *
- * Makes the victm scream and adds the passed amount to their buildup.
- * Knocks over the victim for a brief moment.
- *
- * * amount - how much terror buildup this freakout will cause
- */
-
-/datum/status_effect/terrified/proc/freak_out(amount)
- terror_buildup += amount
- owner.Knockdown(0.5 SECONDS)
- if(prob(50))
- owner.emote("scream")
+/datum/status_effect/terrified/refresh(effect, ...)
+ // Jank way of adding terror to the existing component
+ owner.AddComponentFrom("terrified", /datum/component/fearful, null, STACK_TERROR_AMOUNT)
/// The status effect popup for the terror status effect
/atom/movable/screen/alert/status_effect/terrified
@@ -157,11 +28,5 @@
desc = "You feel a supernatural darkness settle in around you, overwhelming you with panic! Get into the light!"
icon_state = "terrified"
-#undef DARKNESS_TERROR_AMOUNT
-#undef PANIC_ATTACK_TERROR_AMOUNT
-#undef HUG_TERROR_AMOUNT
+#undef TERROR_INITIAL_AMOUNT
#undef STACK_TERROR_AMOUNT
-#undef DARKNESS_TERROR_CAP
-#undef TERROR_FEAR_THRESHOLD
-#undef TERROR_PANIC_THRESHOLD
-#undef TERROR_HEART_ATTACK_THRESHOLD
diff --git a/code/datums/status_effects/debuffs/vision/blindness.dm b/code/datums/status_effects/debuffs/vision/blindness.dm
index c0e5249cad6..caf8e98a2b0 100644
--- a/code/datums/status_effects/debuffs/vision/blindness.dm
+++ b/code/datums/status_effects/debuffs/vision/blindness.dm
@@ -4,6 +4,8 @@
/// Blindness
/datum/status_effect/grouped/blindness
+ // This is not "remove on fullheal" as in practice,
+ // fullheal should instead remove all the sources and in turn cure this
id = "blindness"
tick_interval = STATUS_EFFECT_NO_TICK
alert_type = /atom/movable/screen/alert/status_effect/blind
@@ -11,37 +13,52 @@
SIGNAL_REMOVETRAIT(TRAIT_SIGHT_BYPASS),
SIGNAL_ADDTRAIT(TRAIT_SIGHT_BYPASS),
)
- // This is not "remove on fullheal" as in practice,
- // fullheal should instead remove all the sources and in turn cure this
+ /// List of sources which prevent SIGHT_BYPASS from working
+ var/static/list/blocking_sources = list(
+ QUIRK_TRAIT, // Meant to be completely immutable
+ ECHOLOCATION_TRAIT, // Breaks the UI badly
+ UNCONSCIOUS_TRAIT, // Duh
+ )
/datum/status_effect/grouped/blindness/on_apply()
- if(!CAN_BE_BLIND(owner))
+ if (!CAN_BE_BLIND(owner))
return FALSE
RegisterSignals(owner, update_signals, PROC_REF(update_blindness))
-
update_blindness()
-
return ..()
+/datum/status_effect/grouped/blindness/source_added(source, ...)
+ update_blindness()
+
+/datum/status_effect/grouped/blindness/source_removed(source, removing)
+ if (!removing)
+ update_blindness()
+
/datum/status_effect/grouped/blindness/proc/update_blindness()
- if(!CAN_BE_BLIND(owner)) // future proofing
+ if (!CAN_BE_BLIND(owner)) // future proofing
qdel(src)
return
- if(HAS_TRAIT(owner, TRAIT_SIGHT_BYPASS))
- make_unblind()
+ if (!HAS_TRAIT(owner, TRAIT_SIGHT_BYPASS))
+ make_blind()
return
- make_blind()
+
+ for (var/blocker in blocking_sources)
+ if (owner.is_blind_from(blocker))
+ make_blind()
+ return
+
+ make_unblind()
/datum/status_effect/grouped/blindness/proc/make_blind()
owner.overlay_fullscreen(id, /atom/movable/screen/fullscreen/blind)
// You are blind - at most, able to make out shapes near you
- owner.add_client_colour(/datum/client_colour/monochrome/blind)
+ owner.add_client_colour(/datum/client_colour/monochrome, REF(src))
/datum/status_effect/grouped/blindness/proc/make_unblind()
owner.clear_fullscreen(id)
- owner.remove_client_colour(/datum/client_colour/monochrome/blind)
+ owner.remove_client_colour(REF(src))
/datum/status_effect/grouped/blindness/on_remove()
make_unblind()
diff --git a/code/datums/status_effects/neutral.dm b/code/datums/status_effects/neutral.dm
index 4a3dc8bd0b7..dd80a09e43f 100644
--- a/code/datums/status_effects/neutral.dm
+++ b/code/datums/status_effects/neutral.dm
@@ -734,6 +734,8 @@
id = "spotlight_light"
processing_speed = STATUS_EFFECT_NORMAL_PROCESS
alert_type = null
+ /// Color of the light
+ var/spotlight_color = "#e2e2ca"
/// Dummy lighting object to simulate the spotlight highlighting the mob.
var/obj/effect/dummy/lighting_obj/moblight/mob_light_obj
/// First visual overlay, this one sits on the back of the mob.
@@ -747,14 +749,16 @@
return ..()
/datum/status_effect/spotlight_light/on_apply()
- mob_light_obj = owner.mob_light(2, 1.5, "#e2e2ca")
+ mob_light_obj = owner.mob_light(2, 1.5, spotlight_color)
beam_from_above_a = new /obj/effect/overlay/spotlight
+ beam_from_above_a.color = spotlight_color
beam_from_above_a.alpha = BEAM_ALPHA
owner.vis_contents += beam_from_above_a
beam_from_above_a.layer = BELOW_MOB_LAYER
beam_from_above_b = new /obj/effect/overlay/spotlight
+ beam_from_above_b.color = spotlight_color
beam_from_above_b.alpha = BEAM_ALPHA
beam_from_above_b.layer = ABOVE_MOB_LAYER
beam_from_above_b.pixel_y = -2 //Slight vertical offset for an illusion of volume
@@ -763,9 +767,14 @@
return TRUE
/datum/status_effect/spotlight_light/on_remove()
- if(beam_from_above_a || beam_from_above_b)
- owner.vis_contents -= beam_from_above_a
- owner.vis_contents -= beam_from_above_b
+ owner.vis_contents -= beam_from_above_a
+ owner.vis_contents -= beam_from_above_b
+ QDEL_NULL(beam_from_above_a)
+ QDEL_NULL(beam_from_above_b)
QDEL_NULL(mob_light_obj)
+/datum/status_effect/spotlight_light/divine
+ id = "divine_spotlight"
+ duration = 3 SECONDS
+
#undef BEAM_ALPHA
diff --git a/code/datums/status_effects/stacking_effect.dm b/code/datums/status_effects/stacking_effect.dm
index d3f128045ce..5f396a6817f 100644
--- a/code/datums/status_effects/stacking_effect.dm
+++ b/code/datums/status_effects/stacking_effect.dm
@@ -120,10 +120,10 @@
status_overlay = mutable_appearance(overlay_file, "[overlay_state][stacks]")
status_underlay = mutable_appearance(underlay_file, "[underlay_state][stacks]")
var/icon_height = owner.get_cached_height()
- status_overlay.pixel_x = -owner.pixel_x
- status_overlay.pixel_y = FLOOR(icon_height * 0.25, 1)
+ status_overlay.pixel_w = -owner.pixel_x
+ status_overlay.pixel_z = FLOOR(icon_height * 0.25, 1)
status_overlay.transform = matrix() * (icon_height/ICON_SIZE_Y) //scale the status's overlay size based on the target's icon size
- status_underlay.pixel_x = -owner.pixel_x
+ status_underlay.pixel_w = -owner.pixel_x
status_underlay.transform = matrix() * (icon_height/ICON_SIZE_Y) * 3
status_underlay.alpha = 40
owner.add_overlay(status_overlay)
diff --git a/code/datums/storage/subtypes/pockets.dm b/code/datums/storage/subtypes/pockets.dm
index 961d4941261..aed72ddacad 100644
--- a/code/datums/storage/subtypes/pockets.dm
+++ b/code/datums/storage/subtypes/pockets.dm
@@ -94,7 +94,7 @@
/obj/item/scalpel,
/obj/item/dnainjector,
/obj/item/reagent_containers/syringe,
- /obj/item/reagent_containers/pill,
+ /obj/item/reagent_containers/applicator/pill,
/obj/item/reagent_containers/hypospray/medipen,
/obj/item/reagent_containers/dropper,
/obj/item/implanter,
diff --git a/code/datums/wires/_wires.dm b/code/datums/wires/_wires.dm
index d81e68d8bc1..a7e0eaf7b62 100644
--- a/code/datums/wires/_wires.dm
+++ b/code/datums/wires/_wires.dm
@@ -88,6 +88,7 @@
LAZYCLEARLIST(assemblies)
return ..()
+/// Adds a number of wires which do absolutely nothing.
/datum/wires/proc/add_duds(duds)
while(duds)
var/dud = WIRE_DUD_PREFIX + "[--duds]"
@@ -102,30 +103,35 @@
qdel(src)
/datum/wires/proc/randomize()
- var/static/list/possible_colors = list(
- "blue",
- "brown",
- "crimson",
- "cyan",
- "gold",
- "green",
- "grey",
- "lime",
- "magenta",
- "orange",
- "pink",
- "purple",
- "red",
- "silver",
- "violet",
- "white",
- "yellow",
+ var/static/list/default_possible_colors = list(
+ "blue",
+ "brown",
+ "crimson",
+ "cyan",
+ "gold",
+ "green",
+ "grey",
+ "lime",
+ "magenta",
+ "orange",
+ "pink",
+ "purple",
+ "red",
+ "silver",
+ "violet",
+ "white",
+ "yellow",
)
- var/list/my_possible_colors = possible_colors.Copy()
+ if(length(wires) > length(default_possible_colors))
+ stack_trace("Wire type [type] has more wires than possible colors, consider adding more colors or removing wires.")
+
+ var/list/possible_colors = default_possible_colors.Copy()
for(var/wire in shuffle(wires))
- colors[pick_n_take(my_possible_colors)] = wire
+ if(!length(possible_colors))
+ possible_colors = default_possible_colors.Copy()
+ colors[pick_n_take(possible_colors)] = wire
/datum/wires/proc/shuffle_wires()
colors.Cut()
diff --git a/code/datums/wires/big_manipulator.dm b/code/datums/wires/big_manipulator.dm
index b23050c2978..f66786d06d0 100644
--- a/code/datums/wires/big_manipulator.dm
+++ b/code/datums/wires/big_manipulator.dm
@@ -21,11 +21,11 @@
/datum/wires/big_manipulator/get_status()
var/obj/machinery/big_manipulator/manipulator_big = holder
var/list/status = list()
- status += "The big light bulb is [manipulator_big.on_button_cutted ? "went out" : manipulator_big.on ? "green" : "red"]."
+ status += "The big light bulb [manipulator_big.power_access_wire_cut ? "has went out" : "is glowing [manipulator_big.on ? "green" : "red"]"]."
status += "The small red light shows: [isnull(manipulator_big.containment_obj) ? "empty" : "full"]."
status += "Text on the yellow board shows: [manipulator_big.selected_type.name]."
- status += "There are [manipulator_big.manipulate_mode] text on the small blue panel."
- status += "The purple light is [manipulator_big.only_highest_priority ? "on" : "off"]."
+ status += "There are [manipulator_big.interaction_mode] text on the small blue panel."
+ status += "The purple light is [manipulator_big.override_priority ? "on" : "off"]."
status += "The number on small white panel shows [manipulator_big.manipulator_throw_range]."
return status
@@ -35,20 +35,20 @@
if(WIRE_ON)
manipulator_big.try_press_on(usr)
if(WIRE_DROP)
- manipulator_big.drop_containment_item()
+ manipulator_big.drop_held_object()
if(WIRE_ITEM_TYPE)
- manipulator_big.change_what_take_type()
+ manipulator_big.cycle_pickup_type()
if(WIRE_CHANGE_MODE)
manipulator_big.change_mode()
if(WIRE_ONE_PRIORITY_BUTTON)
- manipulator_big.only_highest_priority = !manipulator_big.only_highest_priority
+ manipulator_big.override_priority = !manipulator_big.override_priority
if(WIRE_THROW_RANGE)
- manipulator_big.change_throw_range()
+ manipulator_big.cycle_throw_range()
/datum/wires/big_manipulator/on_cut(wire, mend, source)
var/obj/machinery/big_manipulator/manipulator_big = holder
if(wire == WIRE_ON)
if(mend)
- manipulator_big.on_button_cutted = FALSE
+ manipulator_big.power_access_wire_cut = FALSE
return
- manipulator_big.on_button_cutted = TRUE
+ manipulator_big.power_access_wire_cut = TRUE
diff --git a/code/datums/wires/explosive.dm b/code/datums/wires/explosive.dm
index c8d576cf4f3..2b474f4cb1d 100644
--- a/code/datums/wires/explosive.dm
+++ b/code/datums/wires/explosive.dm
@@ -42,23 +42,30 @@
return
. = ..()
-/datum/wires/explosive/chem_grenade/attach_assembly(color, obj/item/assembly/S)
- if(istype(S,/obj/item/assembly/timer))
- var/obj/item/grenade/chem_grenade/G = holder
- var/obj/item/assembly/timer/T = S
- G.det_time = T.saved_time*10
- else if(istype(S,/obj/item/assembly/prox_sensor))
- var/obj/item/assembly/prox_sensor/sensor = S
- var/obj/item/grenade/chem_grenade/grenade = holder
+/datum/wires/explosive/chem_grenade/attach_assembly(color, obj/item/assembly/assembly)
+ fingerprint = assembly.fingerprintslast
+ var/obj/item/grenade/chem_grenade/grenade = holder
+ if(!assembly.secured)
+ assembly.toggle_secure()
+
+ if(istype(assembly, /obj/item/assembly/timer))
+ var/obj/item/assembly/timer/timer = assembly
+ grenade.det_time = timer.saved_time SECONDS
+ return ..()
+
+ if(istype(assembly, /obj/item/assembly/prox_sensor))
+ var/obj/item/assembly/prox_sensor/sensor = assembly
grenade.landminemode = sensor
sensor.proximity_monitor.set_ignore_if_not_on_turf(FALSE)
- else if(istype(S,/obj/item/assembly/health))
- var/obj/item/assembly/health/sensor = S
- if(!sensor.secured)
- sensor.toggle_secure()
- if(!sensor.scanning)
- sensor.toggle_scan()
- fingerprint = S.fingerprintslast
+ sensor.time = grenade.det_time * 0.1
+ return ..()
+
+ if(!istype(assembly, /obj/item/assembly/health))
+ return ..()
+
+ var/obj/item/assembly/health/sensor = assembly
+ if(!sensor.scanning)
+ sensor.toggle_scan()
return ..()
/datum/wires/explosive/chem_grenade/explode()
@@ -71,8 +78,7 @@
if(!grenade.dud_flags)
message_admins(message)
log_game(message)
- var/mob/M = get_mob_by_ckey(fingerprint)
- grenade.log_grenade(M) //Used in arm_grenade() too but this one conveys where the mob who triggered the bomb is
+ grenade.log_grenade(get_mob_by_ckey(fingerprint)) //Used in arm_grenade() too but this one conveys where the mob who triggered the bomb is
if(grenade.landminemode)
grenade.detonate() ///already armed
else
@@ -80,22 +86,24 @@
/datum/wires/explosive/chem_grenade/detach_assembly(color)
- var/obj/item/assembly/S = get_attached(color)
- if(S && istype(S))
- assemblies -= color
- S.connected = null
- S.holder = null
- S.forceMove(holder.drop_location())
- var/obj/item/grenade/chem_grenade/G = holder
- G.landminemode = null
- return S
+ var/obj/item/assembly/assembly = get_attached(color)
+ if(!istype(assembly))
+ return
+
+ var/obj/item/grenade/chem_grenade/grenade = holder
+ assemblies -= color
+ assembly.connected = null
+ assembly.holder = null
+ assembly.forceMove(holder.drop_location())
+ grenade.landminemode = null
+ return assembly
/datum/wires/explosive/c4 // Also includes X4
holder_type = /obj/item/grenade/c4
/datum/wires/explosive/c4/explode()
- var/obj/item/grenade/c4/P = holder
- P.detonate()
+ var/obj/item/grenade/c4/bomb = holder
+ bomb.detonate()
/datum/wires/explosive/pizza
holder_type = /obj/item/pizzabox
@@ -110,37 +118,38 @@
/datum/wires/explosive/pizza/interactable(mob/user)
if(!..())
return FALSE
- var/obj/item/pizzabox/P = holder
- if(P.open && P.bomb)
+ var/obj/item/pizzabox/pizza_bomb = holder
+ if(pizza_bomb.open && pizza_bomb.bomb)
return TRUE
/datum/wires/explosive/pizza/get_status()
- var/obj/item/pizzabox/P = holder
+ var/obj/item/pizzabox/pizza_bomb = holder
var/list/status = list()
- status += "The red light is [P.bomb_active ? "on" : "off"]."
- status += "The green light is [P.bomb_defused ? "on": "off"]."
+ status += "The red light is [pizza_bomb.bomb_active ? "on" : "off"]."
+ status += "The green light is [pizza_bomb.bomb_defused ? "on": "off"]."
return status
/datum/wires/explosive/pizza/on_pulse(wire)
- var/obj/item/pizzabox/P = holder
- switch(wire)
- if(WIRE_DISARM) // Pulse to toggle
- P.bomb_defused = !P.bomb_defused
- else // Boom
- explode()
+ var/obj/item/pizzabox/pizza_bomb = holder
+ if(wire == WIRE_DISARM) // Pulse to toggle
+ pizza_bomb.bomb_defused = !pizza_bomb.bomb_defused
+ else // Boom
+ explode()
/datum/wires/explosive/pizza/on_cut(wire, mend, source)
- var/obj/item/pizzabox/P = holder
- switch(wire)
- if(WIRE_DISARM) // Disarm and untrap the box.
- if(!mend)
- P.bomb_defused = TRUE
- else
- if(!mend && !P.bomb_defused)
- if (!isnull(source))
- log_combat(source, holder, "cut the detonation wire for")
- explode()
+ if (mend)
+ return
+
+ var/obj/item/pizzabox/pizza_bomb = holder
+ if(wire == WIRE_DISARM) // Disarm and untrap the box.
+ pizza_bomb.bomb_defused = TRUE
+ return
+
+ if(!pizza_bomb.bomb_defused)
+ if (!isnull(source))
+ log_combat(source, holder, "cut the detonation wire for")
+ explode()
/datum/wires/explosive/pizza/explode()
- var/obj/item/pizzabox/P = holder
- P.bomb.detonate()
+ var/obj/item/pizzabox/pizza_bomb = holder
+ pizza_bomb.bomb.detonate()
diff --git a/code/datums/wires/holopad.dm b/code/datums/wires/holopad.dm
new file mode 100644
index 00000000000..72a8a518b21
--- /dev/null
+++ b/code/datums/wires/holopad.dm
@@ -0,0 +1,47 @@
+/datum/wires/holopad
+ holder_type = /obj/machinery/holopad
+ proper_name = "holopad"
+
+/datum/wires/holopad/interactable(mob/user)
+ var/obj/machinery/holopad/holopad = holder
+
+ return holopad.panel_open ? ..() : FALSE
+
+/datum/wires/holopad/New(atom/holder)
+ wires = list(
+ WIRE_LOOP_MODE,
+ WIRE_REPLAY_MODE
+ )
+ return ..()
+
+/datum/wires/holopad/get_status()
+ var/obj/machinery/holopad/holopad = holder
+ var/list/status = list()
+ status += "The purple light is [holopad.loop_mode ? "on" : "off"]."
+ status += "The red light is [holopad.replay_mode ? "on" : "off"]."
+ return status
+
+/datum/wires/holopad/on_pulse(wire)
+ var/obj/machinery/holopad/holopad = holder
+ switch(wire)
+ if(WIRE_LOOP_MODE)
+ holopad.loop_mode = !holopad.loop_mode
+ if(WIRE_REPLAY_MODE)
+ if (!holopad.replay_mode)
+ holopad.replay_start()
+ holopad.replay_mode = TRUE
+ else
+ holopad.replay_stop()
+ holopad.replay_mode = FALSE
+ return ..()
+
+/datum/wires/holopad/on_cut(wire, mend, source)
+ var/obj/machinery/holopad/holopad = holder
+ if(wire == WIRE_REPLAY_MODE)
+ if(mend)
+ holopad.replay_stop()
+ holopad.replay_mode = FALSE
+ else
+ holopad.replay_start()
+ holopad.replay_mode = TRUE
+ return ..()
diff --git a/code/datums/wires/syndicatebomb.dm b/code/datums/wires/syndicatebomb.dm
index d7f98f07deb..3b79e3c4188 100644
--- a/code/datums/wires/syndicatebomb.dm
+++ b/code/datums/wires/syndicatebomb.dm
@@ -4,109 +4,140 @@
randomize = TRUE
/datum/wires/syndicatebomb/New(atom/holder)
+ setup_wires()
+ return ..()
+
+/**
+ * Handles setting up the wires list.
+ *
+ * * num_booms: The number of boom wires to add.
+ * * num_duds: The number of dud wires to add.
+ */
+/datum/wires/syndicatebomb/proc/setup_wires(num_booms = 2, num_duds = 0)
wires = list(
- WIRE_BOOM, WIRE_BOOM2, WIRE_UNBOLT,
- WIRE_ACTIVATE, WIRE_DELAY, WIRE_PROCEED
+ WIRE_ACTIVATE,
+ WIRE_DELAY,
+ WIRE_PROCEED,
+ WIRE_UNBOLT,
)
- ..()
+ add_booms(num_booms)
+ add_duds(num_duds)
+ shuffle_wires()
+
+/// Adds a number of wires which will explode the bomb if pulse/cut
+/datum/wires/syndicatebomb/proc/add_booms(booms = 2)
+ for(var/i in 1 to booms)
+ wires += "[WIRE_BOOM] [i]"
/datum/wires/syndicatebomb/interactable(mob/user)
- if(!..())
+ var/obj/machinery/syndicatebomb/bomb = holder
+ return ..() && bomb.open_panel
+
+/// Translates numbered boom wires into WIRE_BOOM.
+/datum/wires/syndicatebomb/proc/parse_wire(wire)
+ return findtext(wire, WIRE_BOOM) ? WIRE_BOOM : wire
+
+/// Checks if the bomb, if detonated, is dangerous to the user.
+/datum/wires/syndicatebomb/proc/is_dangerous()
+ var/obj/machinery/syndicatebomb/bomb = holder
+ if(isnull(bomb.payload))
return FALSE
- var/obj/machinery/syndicatebomb/P = holder
- if(P.open_panel)
- return TRUE
+ if(istype(bomb.payload, /obj/item/bombcore/training))
+ return FALSE
+ return TRUE
-/datum/wires/syndicatebomb/on_pulse(wire)
- var/obj/machinery/syndicatebomb/B = holder
- switch(wire)
- if(WIRE_BOOM,WIRE_BOOM2)
- if(B.active)
- holder.visible_message(span_danger("[icon2html(B, viewers(holder))] An alarm sounds! It's go-"))
- B.explode_now = TRUE
- if(!istype(B.payload, /obj/machinery/syndicatebomb/training))
- tell_admins(B)
- // Cursed usr use but no easy way to get the pulser
- if(isliving(usr))
- add_memory_in_range(B, 7, /datum/memory/bomb_defuse_failure, protagonist = usr, antagonist = B)
+/datum/wires/syndicatebomb/on_pulse(wire, mob/user)
+ var/obj/machinery/syndicatebomb/bomb = holder
+ switch(parse_wire(wire))
+ if(WIRE_BOOM)
+ if(!bomb.active)
+ holder.visible_message(span_notice("[icon2html(bomb, viewers(holder))] Nothing happens."))
+ return
- else
- holder.visible_message(span_notice("[icon2html(B, viewers(holder))] Nothing happens."))
+ holder.visible_message(span_danger("[icon2html(bomb, viewers(holder))] An alarm sounds! It's go-"))
+ bomb.explode_now = TRUE
+ if(is_dangerous())
+ tell_admins(bomb, user, "detonated via boom wire")
+ if(isliving(user))
+ add_memory_in_range(bomb, 7, /datum/memory/bomb_defuse_failure, protagonist = user, antagonist = bomb)
if(WIRE_UNBOLT)
- holder.visible_message(span_notice("[icon2html(B, viewers(holder))] The bolts spin in place for a moment."))
+ holder.visible_message(span_notice("[icon2html(bomb, viewers(holder))] The bolts spin in place for a moment."))
if(WIRE_DELAY)
- if(B.delayedbig)
- holder.visible_message(span_notice("[icon2html(B, viewers(holder))] Nothing happens."))
- else
- holder.visible_message(span_notice("[icon2html(B, viewers(holder))] The bomb chirps."))
- playsound(B, 'sound/machines/chime.ogg', 30, TRUE)
- B.detonation_timer += 300
- if(B.active)
- B.delayedbig = TRUE
+ if(bomb.delayedbig)
+ holder.visible_message(span_notice("[icon2html(bomb, viewers(holder))] Nothing happens."))
+ return
+
+ holder.visible_message(span_notice("[icon2html(bomb, viewers(holder))] The bomb chirps."))
+ playsound(bomb, 'sound/machines/chime.ogg', 30, TRUE)
+ bomb.detonation_timer += (30 SECONDS)
+ if(bomb.active)
+ bomb.delayedbig = TRUE
if(WIRE_PROCEED)
- holder.visible_message(span_danger("[icon2html(B, viewers(holder))] The bomb buzzes ominously!"))
- playsound(B, 'sound/machines/buzz/buzz-sigh.ogg', 30, TRUE)
- var/seconds = B.seconds_remaining()
+ holder.visible_message(span_danger("[icon2html(bomb, viewers(holder))] The bomb buzzes ominously!"))
+ playsound(bomb, 'sound/machines/buzz/buzz-sigh.ogg', 30, TRUE)
+ var/seconds = bomb.seconds_remaining()
if(seconds >= 61) // Long fuse bombs can suddenly become more dangerous if you tinker with them.
- B.detonation_timer = world.time + 600
+ bomb.detonation_timer = world.time + (60 SECONDS)
else if(seconds >= 21)
- B.detonation_timer -= 100
+ bomb.detonation_timer -= (10 SECONDS)
else if(seconds >= 11) // Both to prevent negative timers and to have a little mercy.
- B.detonation_timer = world.time + 100
+ bomb.detonation_timer = world.time + (10 SECONDS)
if(WIRE_ACTIVATE)
- if(!B.active)
- holder.visible_message(span_danger("[icon2html(B, viewers(holder))] You hear the bomb start ticking!"))
- B.activate()
- B.update_appearance()
- else if(B.delayedlittle)
- holder.visible_message(span_notice("[icon2html(B, viewers(holder))] Nothing happens."))
+ if(!bomb.active)
+ holder.visible_message(span_danger("[icon2html(bomb, viewers(holder))] You hear the bomb start ticking!"))
+ bomb.activate()
+ bomb.update_appearance()
+ else if(bomb.delayedlittle)
+ holder.visible_message(span_notice("[icon2html(bomb, viewers(holder))] Nothing happens."))
else
- holder.visible_message(span_notice("[icon2html(B, viewers(holder))] The bomb seems to hesitate for a moment."))
- B.detonation_timer += 100
- B.delayedlittle = TRUE
+ holder.visible_message(span_notice("[icon2html(bomb, viewers(holder))] The bomb seems to hesitate for a moment."))
+ bomb.detonation_timer += 100
+ bomb.delayedlittle = TRUE
/datum/wires/syndicatebomb/on_cut(wire, mend, source)
- var/obj/machinery/syndicatebomb/B = holder
- switch(wire)
- if(WIRE_BOOM,WIRE_BOOM2)
- if(!mend && B.active)
- holder.visible_message(span_danger("[icon2html(B, viewers(holder))] An alarm sounds! It's go-"))
- B.explode_now = TRUE
- if(!istype(B.payload, /obj/machinery/syndicatebomb/training))
- tell_admins(B)
- if(isliving(source))
- log_combat(source, holder, "cut the detonation wire for")
- add_memory_in_range(B, 7, /datum/memory/bomb_defuse_failure, protagonist = source, antagonist = B)
+ var/obj/machinery/syndicatebomb/bomb = holder
+ switch(parse_wire(wire))
+ if(WIRE_BOOM)
+ if(mend || !bomb.active)
+ return
+ holder.visible_message(span_danger("[icon2html(bomb, viewers(holder))] An alarm sounds! It's go-"))
+ bomb.explode_now = TRUE
+ if(is_dangerous())
+ tell_admins(bomb, source, "detonated via boom wire")
+ if(isliving(source))
+ add_memory_in_range(bomb, 7, /datum/memory/bomb_defuse_failure, protagonist = source, antagonist = bomb)
if(WIRE_UNBOLT)
- if(!mend && B.anchored)
- holder.visible_message(span_notice("[icon2html(B, viewers(holder))] The bolts lift out of the ground!"))
- playsound(B, 'sound/effects/stealthoff.ogg', 30, TRUE)
- B.set_anchored(FALSE)
+ if(mend || !bomb.anchored)
+ return
+ holder.visible_message(span_notice("[icon2html(bomb, viewers(holder))] The bolts lift out of the ground!"))
+ playsound(bomb, 'sound/effects/stealthoff.ogg', 30, TRUE)
+ bomb.set_anchored(FALSE)
if(WIRE_PROCEED)
- if(!mend && B.active)
- holder.visible_message(span_danger("[icon2html(B, viewers(holder))] The digital display on the device deactivates."))
- B.examinable_countdown = FALSE
-
+ if(mend || !bomb.active)
+ return
+ holder.visible_message(span_danger("[icon2html(bomb, viewers(holder))] The digital display on the device deactivates."))
+ bomb.examinable_countdown = FALSE
if(WIRE_ACTIVATE)
- if(!mend && B.active)
- var/bomb_time_left = B.seconds_remaining()
- holder.visible_message(span_notice("[icon2html(B, viewers(holder))] The timer stops! The bomb has been defused!"))
- B.active = FALSE
- B.delayedlittle = FALSE
- B.delayedbig = FALSE
- B.examinable_countdown = TRUE
- B.update_appearance()
- if(isliving(usr))
- add_memory_in_range(B, 7, /datum/memory/bomb_defuse_success, protagonist = usr, antagonist = B, bomb_time_left = bomb_time_left)
+ if(mend || !bomb.active)
+ return
+ var/bomb_time_left = bomb.seconds_remaining()
+ holder.visible_message(span_notice("[icon2html(bomb, viewers(holder))] The timer stops! The bomb has been defused!"))
+ bomb.defuse()
+ if(is_dangerous())
+ tell_admins(bomb, source, "defused")
+ if(isliving(source))
+ add_memory_in_range(bomb, 7, /datum/memory/bomb_defuse_success, protagonist = source, antagonist = bomb, bomb_time_left = bomb_time_left)
-/datum/wires/syndicatebomb/proc/tell_admins(obj/machinery/syndicatebomb/B)
- var/turf/T = get_turf(B)
- log_game("\A [B] was detonated via boom wire at [AREACOORD(T)].")
- message_admins("A [B.name] was detonated via boom wire at [ADMIN_VERBOSEJMP(T)].")
+/datum/wires/syndicatebomb/proc/tell_admins(obj/machinery/syndicatebomb/bomb, atom/source, what_happened)
+ var/turf/bombloc = get_turf(bomb)
+ log_game("\A [bomb] was [what_happened] at [AREACOORD(bombloc)] by [source || "nothing(?)"].")
+ message_admins("\A [bomb] was [what_happened] at [ADMIN_VERBOSEJMP(bombloc)] by [source ? ADMIN_LOOKUPFLW(source) : "nothing(?)"].")
+ if(isliving(source))
+ log_combat(source, bomb, what_happened)
diff --git a/code/datums/world_topic.dm b/code/datums/world_topic.dm
index 406fbd8fa45..0dbf1a9d7c7 100644
--- a/code/datums/world_topic.dm
+++ b/code/datums/world_topic.dm
@@ -23,7 +23,8 @@
var/keyword
var/log = TRUE
var/key_valid
- var/require_comms_key = FALSE
+ /// If the comms.txt config key is required. If you flip this to false, ensure the code is correct and the query you receive is legit.
+ var/require_comms_key = TRUE
/datum/world_topic/proc/TryRun(list/input)
key_valid = (CONFIG_GET(string/comms_key) == input["key"]) && CONFIG_GET(string/comms_key) && input["key"]
@@ -42,12 +43,18 @@
/datum/world_topic/proc/Run(list/input)
CRASH("Run() not implemented for [type]!")
-// TOPICS
+/** TOPICS
+ * These are the handlers for world.Export() -> World.Topic() server communication.
+ * Double check to ensure any calls are correct and the query is legit.
+ * World.Topic() exploits can be very devastating since these can be called via a normal player connection without a client.
+ * https://secure.byond.com/docs/ref/index.html#/world/proc/Topic
+*/
// If you modify the protocol for this, update tools/Tgstation.PRAnnouncer
/datum/world_topic/ping
keyword = "ping"
log = FALSE
+ require_comms_key = FALSE
/datum/world_topic/ping/Run(list/input)
. = 0
@@ -57,6 +64,7 @@
/datum/world_topic/playing
keyword = "playing"
log = FALSE
+ require_comms_key = FALSE
/datum/world_topic/playing/Run(list/input)
return GLOB.player_list.len
@@ -64,7 +72,6 @@
// If you modify the protocol for this, update tools/Tgstation.PRAnnouncer
/datum/world_topic/pr_announce
keyword = "announce"
- require_comms_key = TRUE
var/static/list/PRcounts = list() //PR id -> number of times announced this round
/datum/world_topic/pr_announce/Run(list/input)
@@ -83,14 +90,12 @@
/datum/world_topic/ahelp_relay
keyword = "Ahelp"
- require_comms_key = TRUE
/datum/world_topic/ahelp_relay/Run(list/input)
relay_msg_admins(span_adminnotice("HELP: [input["source"]] [input["message_sender"]]: [input["message"]] "))
/datum/world_topic/comms_console
keyword = "Comms_Console"
- require_comms_key = TRUE
var/list/timers
@@ -161,7 +166,6 @@
/datum/world_topic/news_report
keyword = "News_Report"
- require_comms_key = TRUE
/datum/world_topic/news_report/Run(list/input)
@@ -169,14 +173,12 @@
/datum/world_topic/adminmsg
keyword = "adminmsg"
- require_comms_key = TRUE
/datum/world_topic/adminmsg/Run(list/input)
return TgsPm(input[keyword], input["msg"], input["sender"])
/datum/world_topic/namecheck
keyword = "namecheck"
- require_comms_key = TRUE
/datum/world_topic/namecheck/Run(list/input)
log_admin("world/Topic Name Check: [input["sender"]] on [input["namecheck"]]")
@@ -186,13 +188,13 @@
/datum/world_topic/adminwho
keyword = "adminwho"
- require_comms_key = TRUE
/datum/world_topic/adminwho/Run(list/input)
return tgsadminwho()
/datum/world_topic/status
keyword = "status"
+ require_comms_key = FALSE
/datum/world_topic/status/Run(list/input)
. = list()
diff --git a/code/datums/wounds/_wounds.dm b/code/datums/wounds/_wounds.dm
index fdecc89680a..62b48e6910e 100644
--- a/code/datums/wounds/_wounds.dm
+++ b/code/datums/wounds/_wounds.dm
@@ -19,6 +19,8 @@
/datum/wound
/// What it's named
var/name = "Wound"
+ /// Optional, what is the wound named when someone is checking themselves (IE, no scanner - just with their eyes and hands)
+ var/undiagnosed_name
/// The description shown on the scanners
var/desc = ""
/// The basic treatment suggested by health analyzers
@@ -601,7 +603,7 @@
/datum/wound/proc/get_examine_description(mob/user)
. = get_wound_description(user)
if(HAS_TRAIT(src, TRAIT_WOUND_SCANNED))
- . += span_notice("\nThere is a holo-image next to the wound that seems to contain indications for treatment.")
+ . += span_notice(" There is a holo-image next to the wound that seems to contain indications for treatment.")
return .
@@ -618,6 +620,30 @@
return get_desc_intensity(desc)
+/**
+ * Used when a mob is examining themselves / their limbs
+ *
+ * Reports what this wound looks like to them
+ *
+ * It should be formatted as an extension of the limb:
+ * Input is something like "Your chest is bruised.",
+ * you would add something like "It is bleeding."
+ *
+ * * self_aware - if TRUE, the examiner is more aware of themselves and thus may get more detailed information
+ *
+ * Return a string, to be concatenated with other organ / limb status strings. Include spans and punctuation.
+ */
+/datum/wound/proc/get_self_check_description(self_aware)
+ switch(severity)
+ if(WOUND_SEVERITY_TRIVIAL)
+ return span_danger("It's suffering [a_or_from] [LOWER_TEXT(undiagnosed_name || name)].")
+ if(WOUND_SEVERITY_MODERATE)
+ return span_warning("It's suffering [a_or_from] [LOWER_TEXT(undiagnosed_name || name)].")
+ if(WOUND_SEVERITY_SEVERE)
+ return span_boldwarning("It's suffering [a_or_from] [LOWER_TEXT(undiagnosed_name || name)]!")
+ if(WOUND_SEVERITY_CRITICAL)
+ return span_boldwarning("It's suffering [a_or_from] [LOWER_TEXT(undiagnosed_name || name)]!!")
+
/// A hook proc used to modify desc before it is spanned via [get_desc_intensity]. Useful for inserting spans yourself.
/datum/wound/proc/modify_desc_before_span(desc, mob/user)
return desc
diff --git a/code/datums/wounds/blunt.dm b/code/datums/wounds/blunt.dm
index 219b7dd8805..e0716513958 100644
--- a/code/datums/wounds/blunt.dm
+++ b/code/datums/wounds/blunt.dm
@@ -1,3 +1,5 @@
/datum/wound/blunt
name = "Blunt Wound"
sound_effect = 'sound/effects/wounds/crack1.ogg'
+ undiagnosed_name = "Painful Bruising"
+ a_or_from = "some"
diff --git a/code/datums/wounds/bones.dm b/code/datums/wounds/bones.dm
index 1771a87e579..a50ef89b714 100644
--- a/code/datums/wounds/bones.dm
+++ b/code/datums/wounds/bones.dm
@@ -107,7 +107,7 @@
if(!victim || !limb)
qdel(src)
return
- to_chat(victim, span_green("Your [limb.plaintext_zone] has recovered from its [name]!"))
+ to_chat(victim, span_green("Your [limb.plaintext_zone] has recovered from its [LOWER_TEXT(undiagnosed_name || name)]!"))
remove_wound()
/// If we're a human who's punching something with a broken arm, we might hurt ourselves doing so
@@ -228,6 +228,8 @@
/// Joint Dislocation (Moderate Blunt)
/datum/wound/blunt/bone/moderate
name = "Joint Dislocation"
+ undiagnosed_name = "Dislocation"
+ a_or_from = "a"
desc = "Patient's limb has been unset from socket, causing pain and reduced motor function."
treat_text = "Apply Bonesetter to the affected limb. \
Manual relocation by via an aggressive grab and a tight hug to the affected limb may also suffice."
@@ -270,6 +272,9 @@
return ..()
+/datum/wound/blunt/bone/moderate/get_self_check_description(self_aware)
+ return span_warning("It feels dislocated!")
+
/// Getting smushed in an airlock/firelock is a last-ditch attempt to try relocating your limb
/datum/wound/blunt/bone/moderate/proc/door_crush()
SIGNAL_HANDLER
@@ -284,7 +289,7 @@
return FALSE
if(user.grab_state == GRAB_PASSIVE)
- to_chat(user, span_warning("You must have [victim] in an aggressive grab to manipulate [victim.p_their()] [LOWER_TEXT(name)]!"))
+ to_chat(user, span_warning("You must have [victim] in an aggressive grab to manipulate [victim.p_their()] [LOWER_TEXT(undiagnosed_name || name)]!"))
return TRUE
if(user.grab_state >= GRAB_AGGRESSIVE)
@@ -401,6 +406,8 @@
/// Compound Fracture (Critical Blunt)
/datum/wound/blunt/bone/critical
name = "Compound Fracture"
+ undiagnosed_name = null // you can tell it's a compound fracture at a glance because of a skin breakage
+ a_or_from = "a"
desc = "Patient's bones have suffered multiple fractures, \
couped with a break in the skin, causing significant pain and near uselessness of limb."
treat_text = "Immediately bind the affected limb with gauze or a splint. Repair surgically. \
diff --git a/code/datums/wounds/burns.dm b/code/datums/wounds/burns.dm
index aa28dfb8eaf..ef7404415a9 100644
--- a/code/datums/wounds/burns.dm
+++ b/code/datums/wounds/burns.dm
@@ -5,6 +5,7 @@
// TODO: well, a lot really, but specifically I want to add potential fusing of clothing/equipment on the affected area, and limb infections, though those may go in body part code
/datum/wound/burn
name = "Burn Wound"
+ undiagnosed_name = "Burns"
a_or_from = "from"
sound_effect = 'sound/effects/wounds/sizzle1.ogg'
diff --git a/code/datums/wounds/pierce.dm b/code/datums/wounds/pierce.dm
index 4bf2664fb34..b7fb7017e8d 100644
--- a/code/datums/wounds/pierce.dm
+++ b/code/datums/wounds/pierce.dm
@@ -3,6 +3,21 @@
Piercing wounds
*/
/datum/wound/pierce
+ undiagnosed_name = "Puncture"
+
+/datum/wound/pierce/get_self_check_description(self_aware)
+ if(!limb.can_bleed())
+ return ..()
+
+ switch(severity)
+ if(WOUND_SEVERITY_TRIVIAL)
+ return span_danger("It's leaking blood from a small [LOWER_TEXT(undiagnosed_name || name)].")
+ if(WOUND_SEVERITY_MODERATE)
+ return span_warning("It's leaking blood from a [LOWER_TEXT(undiagnosed_name || name)].")
+ if(WOUND_SEVERITY_SEVERE)
+ return span_boldwarning("It's leaking blood from a serious [LOWER_TEXT(undiagnosed_name || name)]!")
+ if(WOUND_SEVERITY_CRITICAL)
+ return span_boldwarning("It's leaking blood from a major [LOWER_TEXT(undiagnosed_name || name)]!!")
/datum/wound/pierce/bleed
name = "Piercing Wound"
@@ -91,7 +106,7 @@
if(QDELETED(src))
return
if(SPT_PROB(2.5, seconds_per_tick))
- to_chat(victim, span_notice("You feel the [LOWER_TEXT(name)] in your [limb.plaintext_zone] firming up from the cold!"))
+ to_chat(victim, span_notice("You feel the [LOWER_TEXT(undiagnosed_name || name)] in your [limb.plaintext_zone] firming up from the cold!"))
if(HAS_TRAIT(victim, TRAIT_BLOODY_MESS))
adjust_blood_flow(0.25 * seconds_per_tick) // old heparin used to just add +2 bleed stacks per tick, this adds 0.5 bleed flow to all open cuts which is probably even stronger as long as you can cut them first
diff --git a/code/datums/wounds/slash.dm b/code/datums/wounds/slash.dm
index 2ec5700e03c..5a0b99a070a 100644
--- a/code/datums/wounds/slash.dm
+++ b/code/datums/wounds/slash.dm
@@ -5,8 +5,23 @@
/datum/wound/slash
name = "Slashing (Cut) Wound"
+ undiagnosed_name = "Cut"
sound_effect = 'sound/items/weapons/slice.ogg'
+/datum/wound/slash/get_self_check_description(self_aware)
+ if(!limb.can_bleed())
+ return ..()
+
+ switch(severity)
+ if(WOUND_SEVERITY_TRIVIAL)
+ return span_danger("It's leaking blood from a small [LOWER_TEXT(undiagnosed_name || name)].")
+ if(WOUND_SEVERITY_MODERATE)
+ return span_warning("It's leaking blood from a [LOWER_TEXT(undiagnosed_name || name)].")
+ if(WOUND_SEVERITY_SEVERE)
+ return span_boldwarning("It's leaking blood from a serious [LOWER_TEXT(undiagnosed_name || name)]!")
+ if(WOUND_SEVERITY_CRITICAL)
+ return span_boldwarning("It's leaking blood from a major [LOWER_TEXT(undiagnosed_name || name)]!!")
+
/datum/wound_pregen_data/flesh_slash
abstract = TRUE
diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm
index 5ef0f578120..cbe227905f3 100644
--- a/code/game/area/areas.dm
+++ b/code/game/area/areas.dm
@@ -103,7 +103,7 @@
var/list/cameras
- ///Typepath to limit the areas (subtypes included) that atoms in this area can smooth with. Used for shuttles.
+ /// Typepath to limit the areas (subtypes included) that atoms in this area can smooth with. Used for shuttles.
var/area/area_limited_icon_smoothing
/// The energy usage of the area in the last machines SS tick.
@@ -124,6 +124,9 @@
/// List of all air scrubbers in the area
var/list/obj/machinery/atmospherics/components/unary/vent_scrubber/air_scrubbers = list()
+ /// Are shuttles allowed to dock in this area
+ var/allow_shuttle_docking = FALSE
+
/**
* A list of teleport locations
*
diff --git a/code/game/area/areas/mining.dm b/code/game/area/areas/mining.dm
index 957956cb12d..50e078959fd 100644
--- a/code/game/area/areas/mining.dm
+++ b/code/game/area/areas/mining.dm
@@ -135,6 +135,7 @@
area_flags = VALID_TERRITORY | UNIQUE_AREA | FLORA_ALLOWED
sound_environment = SOUND_AREA_LAVALAND
ambient_buzz = 'sound/ambience/lavaland/magma.ogg'
+ allow_shuttle_docking = TRUE
/area/lavaland/surface
name = "Lavaland"
@@ -192,6 +193,7 @@
ambience_index = AMBIENCE_ICEMOON
sound_environment = SOUND_AREA_ICEMOON
ambient_buzz = 'sound/ambience/lavaland/magma.ogg'
+ allow_shuttle_docking = TRUE
/area/icemoon/surface
name = "Icemoon"
diff --git a/code/game/area/areas/misc.dm b/code/game/area/areas/misc.dm
index 63290754db5..de1cbff381b 100644
--- a/code/game/area/areas/misc.dm
+++ b/code/game/area/areas/misc.dm
@@ -16,6 +16,7 @@
flags_1 = CAN_BE_DIRTY_1
sound_environment = SOUND_AREA_SPACE
ambient_buzz = null //Space is deafeningly quiet
+ allow_shuttle_docking = TRUE
/area/space/nearstation
icon_state = "space_near"
diff --git a/code/game/area/areas/station/misc.dm b/code/game/area/areas/station/misc.dm
index fbbe0e8a512..be99950c736 100644
--- a/code/game/area/areas/station/misc.dm
+++ b/code/game/area/areas/station/misc.dm
@@ -32,3 +32,4 @@
ambience_index = AMBIENCE_MINING
area_flags = UNIQUE_AREA
outdoors = TRUE
+ allow_shuttle_docking = TRUE
diff --git a/code/game/atom/_atom.dm b/code/game/atom/_atom.dm
index d54b96c6cb7..953aa70139e 100644
--- a/code/game/atom/_atom.dm
+++ b/code/game/atom/_atom.dm
@@ -111,15 +111,7 @@
///Icon-smoothing behavior.
var/smoothing_flags = NONE
///What directions this is currently smoothing with. IMPORTANT: This uses the smoothing direction flags as defined in icon_smoothing.dm, instead of the BYOND flags.
- var/smoothing_junction = null //This starts as null for us to know when it's first set, but after that it will hold a 8-bit mask ranging from 0 to 255.
- ///Smoothing variable
- var/top_left_corner
- ///Smoothing variable
- var/top_right_corner
- ///Smoothing variable
- var/bottom_left_corner
- ///Smoothing variable
- var/bottom_right_corner
+ var/smoothing_junction = null
///What smoothing groups does this atom belongs to, to match canSmoothWith. If null, nobody can smooth with it. Must be sorted.
var/list/smoothing_groups = null
///List of smoothing groups this atom can smooth with. If this is null and atom is smooth, it smooths only with itself. Must be sorted.
diff --git a/code/game/atom/atom_color.dm b/code/game/atom/atom_color.dm
index 4b20a004228..3c01429efc4 100644
--- a/code/game/atom/atom_color.dm
+++ b/code/game/atom/atom_color.dm
@@ -16,7 +16,7 @@
*/
var/list/atom_colours
/// Currently used color filter - cached because its applied to all of our overlays because BYOND is horrific
- var/cached_color_filter
+ var/list/cached_color_filter
///Adds an instance of colour_type to the atom's atom_colours list
/atom/proc/add_atom_colour(coloration, colour_priority)
@@ -35,7 +35,6 @@
atom_colours[colour_priority] = list(coloration, color_type)
update_atom_colour()
-
///Removes an instance of colour_type from the atom's atom_colours list
/atom/proc/remove_atom_colour(colour_priority, coloration)
if(!atom_colours)
@@ -94,13 +93,14 @@
///Resets the atom's color to null, and then sets it to the highest priority colour available
/atom/proc/update_atom_colour()
var/old_filter = cached_color_filter
+ var/old_color = color
color = null
cached_color_filter = null
remove_filter(ATOM_PRIORITY_COLOR_FILTER)
REMOVE_KEEP_TOGETHER(src, ATOM_COLOR_TRAIT)
if (!atom_colours)
- if (old_filter)
+ if (!(SEND_SIGNAL(src, COMSIG_ATOM_COLOR_UPDATED, old_color || old_filter) & COMPONENT_CANCEL_COLOR_APPEARANCE_UPDATE) && old_filter)
update_appearance()
return
@@ -115,7 +115,7 @@
break
ADD_KEEP_TOGETHER(src, ATOM_COLOR_TRAIT)
- if (cached_color_filter != old_filter)
+ if (!(SEND_SIGNAL(src, COMSIG_ATOM_COLOR_UPDATED, old_color != color || old_filter != cached_color_filter) & COMPONENT_CANCEL_COLOR_APPEARANCE_UPDATE) && cached_color_filter != old_filter)
update_appearance()
/// Same as update_atom_color, but simplifies overlay coloring
diff --git a/code/game/atom/atom_examine.dm b/code/game/atom/atom_examine.dm
index 2151e3927b9..8fda89b5550 100644
--- a/code/game/atom/atom_examine.dm
+++ b/code/game/atom/atom_examine.dm
@@ -132,7 +132,11 @@
return "\a [src]"
/mob/living/get_examine_name(mob/user)
- return get_visible_name()
+ var/visible_name = get_visible_name()
+ var/list/name_override = list(visible_name)
+ if(SEND_SIGNAL(user, COMSIG_LIVING_PERCEIVE_EXAMINE_NAME, src, visible_name, name_override) & COMPONENT_EXAMINE_NAME_OVERRIDEN)
+ return name_override[1]
+ return visible_name
/// Icon displayed in examine
/atom/proc/get_examine_icon(mob/user)
diff --git a/code/game/atom/atom_materials.dm b/code/game/atom/atom_materials.dm
index 305c8b217d9..e8e291e708c 100644
--- a/code/game/atom/atom_materials.dm
+++ b/code/game/atom/atom_materials.dm
@@ -292,13 +292,13 @@
* Arguments:
* - flags: A set of flags determining how exactly the materials are broken down.
*/
-/atom/proc/get_material_composition()
+/atom/proc/get_material_composition(flags)
. = list()
var/list/cached_materials = custom_materials
for(var/mat in cached_materials)
var/datum/material/material = GET_MATERIAL_REF(mat)
- var/list/material_comp = material.return_composition(cached_materials[mat])
+ var/list/material_comp = material.return_composition(cached_materials[mat], flags)
for(var/comp_mat in material_comp)
.[comp_mat] += material_comp[comp_mat]
diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm
index 0b0bb6cc154..6c490e422c6 100644
--- a/code/game/atoms_movable.dm
+++ b/code/game/atoms_movable.dm
@@ -87,9 +87,6 @@
///Internal holder for emissive blocker object, do not use directly use blocks_emissive
var/atom/movable/render_step/emissive_blocker/em_block
- ///Used for the calculate_adjacencies proc for icon smoothing.
- var/can_be_unanchored = FALSE
-
///Lazylist to keep track on the sources of illumination.
var/list/affected_dynamic_lights
///Highest-intensity light affecting us, which determines our visibility.
diff --git a/code/game/data_huds.dm b/code/game/data_huds.dm
index 34e47b5d654..3469e3ba29f 100644
--- a/code/game/data_huds.dm
+++ b/code/game/data_huds.dm
@@ -558,10 +558,10 @@ Diagnostic HUDs!
/atom/proc/adjust_hud_position(image/holder, animate_time = null)
if (animate_time)
- animate(holder, pixel_x = -(get_cached_width() - ICON_SIZE_X) / 2, pixel_y = get_cached_height() - ICON_SIZE_Y, time = animate_time)
+ animate(holder, pixel_w = -(get_cached_width() - ICON_SIZE_X) / 2, pixel_z = get_cached_height() - ICON_SIZE_Y, time = animate_time)
return
- holder.pixel_x = -(get_cached_width() - ICON_SIZE_X) / 2
- holder.pixel_y = get_cached_height() - ICON_SIZE_Y
+ holder.pixel_w = -(get_cached_width() - ICON_SIZE_X) / 2
+ holder.pixel_z = get_cached_height() - ICON_SIZE_Y
/atom/proc/set_hud_image_state(hud_type, hud_state, x_offset = 0, y_offset = 0)
if (!hud_list) // Still initializing
@@ -574,5 +574,5 @@ Diagnostic HUDs!
holder.icon_state = hud_state
adjust_hud_position(holder)
if (x_offset || y_offset)
- holder.pixel_x += x_offset
- holder.pixel_y += y_offset
+ holder.pixel_w += x_offset
+ holder.pixel_z += y_offset
diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm
index b4ce13ecf89..2f5d5a49073 100644
--- a/code/game/machinery/autolathe.dm
+++ b/code/game/machinery/autolathe.dm
@@ -38,7 +38,7 @@
/datum/component/material_container, \
SSmaterials.materials_by_category[MAT_CATEGORY_ITEM_MATERIAL], \
0, \
- MATCONTAINER_EXAMINE, \
+ MATCONTAINER_EXAMINE|MATCONTAINER_ACCEPT_ALLOYS, \
container_signals = list(COMSIG_MATCONTAINER_ITEM_CONSUMED = TYPE_PROC_REF(/obj/machinery/autolathe, AfterMaterialInsert)) \
)
. = ..()
@@ -80,7 +80,7 @@
return NONE
if(held_item.tool_behaviour == TOOL_SCREWDRIVER)
- context[SCREENTIP_CONTEXT_RMB] = "[panel_open ? "Close" : "Open"] Panel"
+ context[SCREENTIP_CONTEXT_LMB] = "[panel_open ? "Close" : "Open"] Panel"
return CONTEXTUAL_SCREENTIP_SET
if(panel_open && held_item.tool_behaviour == TOOL_CROWBAR)
@@ -92,7 +92,7 @@
if(default_deconstruction_crowbar(tool))
return ITEM_INTERACT_SUCCESS
-/obj/machinery/autolathe/screwdriver_act_secondary(mob/living/user, obj/item/tool)
+/obj/machinery/autolathe/screwdriver_act(mob/living/user, obj/item/tool)
. = ITEM_INTERACT_BLOCKING
if(default_deconstruction_screwdriver(user, "autolathe_t", "autolathe", tool))
return ITEM_INTERACT_SUCCESS
@@ -419,47 +419,55 @@
drop_direction = 0
return CLICK_ACTION_SUCCESS
-/obj/machinery/autolathe/attackby(obj/item/attacking_item, mob/living/user, params)
- if(user.combat_mode) //so we can hit the machine
+/obj/machinery/autolathe/base_item_interaction(mob/living/user, obj/item/tool, list/modifiers)
+ if(user.combat_mode)
return ..()
if(busy)
balloon_alert(user, "it's busy!")
- return TRUE
+ return ITEM_INTERACT_BLOCKING
- if(panel_open && is_wire_tool(attacking_item))
+ if(panel_open && is_wire_tool(tool))
wires.interact(user)
- return TRUE
+ return ITEM_INTERACT_SUCCESS
if(machine_stat)
- return TRUE
+ return ..()
- if(istype(attacking_item, /obj/item/disk/design_disk))
- user.visible_message(span_notice("[user] begins to load \the [attacking_item] in \the [src]..."),
- balloon_alert(user, "uploading design..."),
- span_hear("You hear the chatter of a floppy drive."))
- busy = TRUE
- if(do_after(user, 14.4, target = src))
- var/obj/item/disk/design_disk/disky = attacking_item
- var/list/not_imported
- for(var/datum/design/blueprint as anything in disky.blueprints)
- if(!blueprint)
- continue
- if(blueprint.build_type & AUTOLATHE)
- imported_designs[blueprint.id] = TRUE
- else
- LAZYADD(not_imported, blueprint.name)
- if(not_imported)
- to_chat(user, span_warning("The following design[length(not_imported) > 1 ? "s" : ""] couldn't be imported: [english_list(not_imported)]"))
- busy = FALSE
- update_static_data_for_all_viewers()
- return TRUE
+ if(!istype(tool, /obj/item/disk/design_disk))
+ return ..()
if(panel_open)
balloon_alert(user, "close the panel first!")
- return FALSE
+ return ITEM_INTERACT_BLOCKING
- return ..()
+ user.visible_message(span_notice("[user] begins to load \the [tool] in \the [src]..."),
+ balloon_alert(user, "uploading design..."),
+ span_hear("You hear the chatter of a floppy drive."))
+ busy = TRUE
+
+ if(!do_after(user, 1.5 SECONDS, target = src))
+ busy = FALSE
+ update_static_data_for_all_viewers()
+ balloon_alert(user, "interrupted!")
+ return ITEM_INTERACT_BLOCKING
+
+ var/obj/item/disk/design_disk/disky = tool
+ var/list/not_imported
+ for(var/datum/design/blueprint as anything in disky.blueprints)
+ if(!blueprint)
+ continue
+ if(blueprint.build_type & AUTOLATHE)
+ imported_designs[blueprint.id] = TRUE
+ else
+ LAZYADD(not_imported, blueprint.name)
+
+ if(not_imported)
+ to_chat(user, span_warning("The following design[length(not_imported) > 1 ? "s" : ""] couldn't be imported: [english_list(not_imported)]"))
+
+ busy = FALSE
+ update_static_data_for_all_viewers()
+ return ITEM_INTERACT_SUCCESS
/obj/machinery/autolathe/RefreshParts()
. = ..()
diff --git a/code/game/machinery/big_manipulator.dm b/code/game/machinery/big_manipulator.dm
index f4d04656b32..da56a74e1f6 100644
--- a/code/game/machinery/big_manipulator.dm
+++ b/code/game/machinery/big_manipulator.dm
@@ -1,39 +1,55 @@
-#define DROP_ITEM_MODE "drop"
-#define USE_ITEM_MODE "use"
-#define THROW_ITEM_MODE "throw"
+#define INTERACT_DROP "drop"
+#define INTERACT_USE "use"
+#define INTERACT_THROW "throw"
#define TAKE_ITEMS 1
#define TAKE_CLOSETS 2
#define TAKE_HUMANS 3
-/// Manipulator Core. Main part of the mechanism that carries out the entire process.
+#define DELAY_STEP 0.1
+#define MAX_DELAY 30
+
+#define MIN_DELAY_TIER_1 2
+#define MIN_DELAY_TIER_2 1.4
+#define MIN_DELAY_TIER_3 0.8
+#define MIN_DELAY_TIER_4 0.2
+
+#define STATUS_BUSY TRUE
+#define STATUS_IDLE FALSE
+
+#define WORKER_SINGLE_USE "single"
+#define WORKER_EMPTY_USE "empty"
+#define WORKER_NORMAL_USE "normal"
+
+/// The Big Manipulator's core. Main part of the mechanism that carries out the entire process.
/obj/machinery/big_manipulator
name = "Big Manipulator"
- desc = "Take and drop objects. Innovation..."
+ desc = "Operates different objects. Truly, a groundbreaking innovation..."
icon = 'icons/obj/machines/big_manipulator_parts/big_manipulator_core.dmi'
icon_state = "core"
density = TRUE
circuit = /obj/item/circuitboard/machine/big_manipulator
greyscale_colors = "#d8ce13"
greyscale_config = /datum/greyscale_config/big_manipulator
- /// How many time manipulator need to take and drop item.
- var/working_speed = 2 SECONDS
+ /// Min time manipulator can have in delay. Changing on upgrade.
+ var/minimal_delay = MIN_DELAY_TIER_1
+ /// The time it takes for the manipulator to complete the action cycle.
+ var/interaction_delay = MIN_DELAY_TIER_1
+
/// Using high tier manipulators speeds up big manipulator and requires more energy.
var/power_use_lvl = 0.2
- /// When manipulator already working with item inside he don't take any new items.
- var/on_work = FALSE
- /// Activate mechanism.
+ /// The status of the manipulator - `IDLE` or `BUSY`.
+ var/status = STATUS_IDLE
+ /// Is the manipulator turned on?
var/on = FALSE
- /// Dir to get turf where we take items.
+ /// The direction the manipulator arm will take items from.
var/take_here = NORTH
- /// Dir to get turf where we drop items.
+ /// The direction the manipulator arm will drop items to.
var/drop_here = SOUTH
- /// Turf where we take items.
+ /// The turf where the manipulator arm will take items from.
var/turf/take_turf
- /// Turf where we drop items.
+ /// The turf where the manipulator arm will drop items to.
var/turf/drop_turf
- /// How will manipulator manipulate the object? drop it out by default.
- var/manipulate_mode = DROP_ITEM_MODE
/// Priority settings depending on the manipulator drop mode that are available to this manipulator. Filled during Initialize.
var/list/priority_settings_for_drop = list()
/// Priority settings depending on the manipulator use mode that are available to this manipulator. Filled during Initialize.
@@ -41,27 +57,31 @@
/// What priority settings are available to use at the moment.
/// We also use this list to sort priorities from ascending to descending.
var/list/allowed_priority_settings = list()
- /// Obj inside manipulator.
+ /// The object inside the manipulator.
var/datum/weakref/containment_obj
- /// Obj used as filter
+ /// The object used as a filter.
var/datum/weakref/filter_obj
- /// Poor monkey that needs to use mode works.
+ /// The poor monkey that needs to use mode works.
var/datum/weakref/monkey_worker
- /// Other manipulator component.
- var/obj/effect/big_manipulator_hand/manipulator_hand
- /// Here some ui setting we can on/off:
- /// If activated: after item was used manipulator will also drop it.
- var/drop_item_after_use = TRUE
- /// If activated: will select only 1 priority and will not continue to look at the priorities below.
- var/only_highest_priority = FALSE
- /// Var for throw item mode: changes the range from which the manipulator throws an object.
+ /// weakref to id that locked this manipualtor.
+ var/datum/weakref/locked_by_this_id
+ /// Is manipulator locked by identity id.
+ var/id_locked = FALSE
+ /// The manipulator's arm.
+ var/obj/effect/big_manipulator_arm/manipulator_arm
+
+ /// How should the manipulator interact with the object?
+ var/interaction_mode = INTERACT_DROP
+ /// How should the worker interact with the object?
+ var/worker_interaction = WORKER_NORMAL_USE
+ /// The distance the thrown object should travel when thrown.
var/manipulator_throw_range = 1
- /// Selected type that manipulator will take for take and drop loop.
+ /// Overrides the priority selection, only accessing the top priority list element.
+ var/override_priority = FALSE
+ /// The `type` the manipulator will interact with only.
var/atom/selected_type
- /// Just a lazy number to change selected_type type in array.
- var/selected_type_by_number = 1
- /// Variable for the wire that disables the power button if the wire is cut.
- var/on_button_cutted = FALSE
+ /// Is the power access wire cut? Disables the power button if `TRUE`.
+ var/power_access_wire_cut = FALSE
/// List where we can set selected type. Taking items by Initialize.
var/list/allowed_types_to_pick_up = list(
/obj/item,
@@ -71,11 +91,11 @@
/obj/machinery/big_manipulator/Initialize(mapload)
. = ..()
take_and_drop_turfs_check()
- create_manipulator_hand()
- RegisterSignal(manipulator_hand, COMSIG_QDELETING, PROC_REF(on_hand_qdel))
+ create_manipulator_arm()
+ RegisterSignal(manipulator_arm, COMSIG_QDELETING, PROC_REF(on_hand_qdel))
manipulator_lvl()
set_up_priority_settings()
- selected_type = allowed_types_to_pick_up[selected_type_by_number]
+ selected_type = allowed_types_to_pick_up[1]
if(on)
press_on(pressed_by = null)
set_wires(new /datum/wires/big_manipulator(src))
@@ -120,7 +140,7 @@
/obj/machinery/big_manipulator/Destroy(force)
. = ..()
- qdel(manipulator_hand)
+ qdel(manipulator_arm)
if(!isnull(containment_obj))
var/obj/containment_resolve = containment_obj?.resolve()
containment_resolve?.forceMove(get_turf(containment_resolve))
@@ -130,6 +150,7 @@
var/mob/monkey_resolve = monkey_worker?.resolve()
if(!isnull(monkey_resolve))
monkey_resolve.forceMove(get_turf(monkey_resolve))
+ locked_by_this_id = null
/obj/machinery/big_manipulator/Exited(atom/movable/gone, direction)
if(isnull(monkey_worker))
@@ -137,10 +158,10 @@
var/mob/living/carbon/human/species/monkey/poor_monkey = monkey_worker.resolve()
if(gone != poor_monkey)
return
- if(!is_type_in_list(poor_monkey, manipulator_hand.vis_contents))
+ if(!is_type_in_list(poor_monkey, manipulator_arm.vis_contents))
return
- manipulator_hand.vis_contents -= poor_monkey
- if(manipulate_mode == USE_ITEM_MODE)
+ manipulator_arm.vis_contents -= poor_monkey
+ if(interaction_mode == INTERACT_USE)
change_mode()
poor_monkey.remove_offsets(type)
monkey_worker = null
@@ -149,10 +170,10 @@
. = ..()
take_and_drop_turfs_check()
if(isnull(get_turf(src)))
- qdel(manipulator_hand)
+ qdel(manipulator_arm)
return
- if(!manipulator_hand)
- create_manipulator_hand()
+ if(!manipulator_arm)
+ create_manipulator_arm()
/obj/machinery/big_manipulator/emag_act(mob/user, obj/item/card/emag/emag_card)
. = ..()
@@ -170,7 +191,7 @@
/obj/machinery/big_manipulator/wrench_act_secondary(mob/living/user, obj/item/tool)
. = ..()
- if(on_work || on)
+ if(status == STATUS_BUSY || on)
to_chat(user, span_warning("[src] is activated!"))
return ITEM_INTERACT_BLOCKING
rotate_big_hand()
@@ -178,7 +199,7 @@
return ITEM_INTERACT_SUCCESS
/obj/machinery/big_manipulator/can_be_unfasten_wrench(mob/user, silent)
- if(on_work || on)
+ if(status == STATUS_BUSY || on)
to_chat(user, span_warning("[src] is activated!"))
return FAILED_UNFASTEN
return ..()
@@ -215,7 +236,7 @@
/obj/machinery/big_manipulator/mouse_drop_dragged(atom/drop_point, mob/user, src_location, over_location, params)
if(isnull(monkey_worker))
return
- if(on_work)
+ if(status == STATUS_BUSY)
balloon_alert(user, "turn it off first!")
return
var/mob/living/carbon/human/species/monkey/poor_monkey = monkey_worker.resolve()
@@ -234,7 +255,7 @@
return
if(!isnull(monkey_worker))
return
- if(on_work)
+ if(status == STATUS_BUSY)
balloon_alert(user, "turn it off first!")
return
var/mob/living/carbon/human/species/monkey/poor_monkey = monkey
@@ -249,19 +270,39 @@
monkey_worker = WEAKREF(poor_monkey)
poor_monkey.drop_all_held_items()
poor_monkey.forceMove(src)
- manipulator_hand.vis_contents += poor_monkey
- poor_monkey.dir = manipulator_hand.dir
+ manipulator_arm.vis_contents += poor_monkey
+ poor_monkey.dir = manipulator_arm.dir
poor_monkey.add_offsets(
type,
- x_add = 32 + manipulator_hand.calculate_item_offset(TRUE, pixels_to_offset = 16),
- y_add = 32 + manipulator_hand.calculate_item_offset(FALSE, pixels_to_offset = 16)
+ x_add = 32 + manipulator_arm.calculate_item_offset(TRUE, pixels_to_offset = 16),
+ y_add = 32 + manipulator_arm.calculate_item_offset(FALSE, pixels_to_offset = 16)
)
+/obj/machinery/big_manipulator/attackby(obj/item/is_card, mob/user, params)
+ . = ..()
+ if(!isidcard(is_card))
+ return
+ var/obj/item/card/id/clicked_by_this_id = is_card
+ if(!isnull(locked_by_this_id))
+ var/obj/item/card/id/resolve_id = locked_by_this_id.resolve()
+ if(clicked_by_this_id != resolve_id)
+ balloon_alert(user, "locked by another id")
+ return
+ locked_by_this_id = null
+ change_id_locked_status(user)
+ return
+ locked_by_this_id = WEAKREF(clicked_by_this_id)
+ change_id_locked_status(user)
+
+/obj/machinery/big_manipulator/proc/change_id_locked_status(mob/user)
+ id_locked = !id_locked
+ balloon_alert(user, "successfully [!id_locked ? "un" : ""]locked")
+
/// Creat manipulator hand effect on manipulator core.
-/obj/machinery/big_manipulator/proc/create_manipulator_hand()
- manipulator_hand = new/obj/effect/big_manipulator_hand(src)
- manipulator_hand.dir = take_here
- vis_contents += manipulator_hand
+/obj/machinery/big_manipulator/proc/create_manipulator_arm()
+ manipulator_arm = new/obj/effect/big_manipulator_arm(src)
+ manipulator_arm.dir = take_here
+ vis_contents += manipulator_arm
/// Check servo tier and change manipulator speed, power_use and colour.
/obj/machinery/big_manipulator/proc/manipulator_lvl()
@@ -270,25 +311,25 @@
return
switch(locate_servo.tier)
if(-INFINITY to 1)
- working_speed = 2 SECONDS
+ minimal_delay = interaction_delay = MIN_DELAY_TIER_1
power_use_lvl = 0.2
set_greyscale(COLOR_YELLOW)
- manipulator_hand?.set_greyscale(COLOR_YELLOW)
+ manipulator_arm?.set_greyscale(COLOR_YELLOW)
if(2)
- working_speed = 1.4 SECONDS
+ minimal_delay = interaction_delay = MIN_DELAY_TIER_2
power_use_lvl = 0.4
set_greyscale(COLOR_ORANGE)
- manipulator_hand?.set_greyscale(COLOR_ORANGE)
+ manipulator_arm?.set_greyscale(COLOR_ORANGE)
if(3)
- working_speed = 0.8 SECONDS
+ minimal_delay = interaction_delay = MIN_DELAY_TIER_3
power_use_lvl = 0.6
set_greyscale(COLOR_RED)
- manipulator_hand?.set_greyscale(COLOR_RED)
+ manipulator_arm?.set_greyscale(COLOR_RED)
if(4 to INFINITY)
- working_speed = 0.2 SECONDS
+ minimal_delay = interaction_delay = MIN_DELAY_TIER_4
power_use_lvl = 0.8
set_greyscale(COLOR_PURPLE)
- manipulator_hand?.set_greyscale(COLOR_PURPLE)
+ manipulator_arm?.set_greyscale(COLOR_PURPLE)
active_power_usage = BASE_MACHINE_ACTIVE_CONSUMPTION * power_use_lvl
@@ -316,10 +357,10 @@
if(WEST)
take_here = NORTH
drop_here = SOUTH
- manipulator_hand.dir = take_here
+ manipulator_arm.dir = take_here
var/mob/monkey = monkey_worker?.resolve()
if(!isnull(monkey))
- monkey.dir = manipulator_hand.dir
+ monkey.dir = manipulator_arm.dir
take_and_drop_turfs_check()
/// Deliting hand will destroy our manipulator core.
@@ -329,8 +370,11 @@
deconstruct(TRUE)
/// Pre take and drop proc from [take and drop procs loop]:
-/// Check if we can start take and drop loop
-/obj/machinery/big_manipulator/proc/is_work_check()
+/// Can we begin the `take-and-drop` loop?
+/obj/machinery/big_manipulator/proc/is_ready_to_work()
+ if(worker_interaction == WORKER_EMPTY_USE)
+ try_take_thing()
+ return TRUE
if(isclosedturf(drop_turf))
on = !on
say("Output blocked")
@@ -340,7 +384,6 @@
continue
try_take_thing(take_turf, take_item)
break
-
return TRUE
/// First take and drop proc from [take and drop procs loop]:
@@ -348,44 +391,51 @@
/obj/machinery/big_manipulator/proc/try_take_thing(datum/source, atom/movable/target)
SIGNAL_HANDLER
+ var/empty_hand_check = worker_interaction == WORKER_EMPTY_USE && interaction_mode == INTERACT_USE
+
if(!on)
return
if(!anchored)
return
- if(QDELETED(source) || QDELETED(target))
- return
- if(!isturf(target.loc))
- return
- if(on_work)
+ if(status == STATUS_BUSY)
return
+ if(!empty_hand_check)
+ if(QDELETED(source) || QDELETED(target))
+ return
+ if(!isturf(target.loc))
+ return
+ if(!check_filter(target))
+ return
if(!use_energy(active_power_usage, force = FALSE))
on = FALSE
say("Not enough energy!")
return
- if(!check_filter(target))
- return
- start_work(target)
+ start_work(target, empty_hand_check)
/// Second take and drop proc from [take and drop procs loop]:
/// Taking our item and start manipulator hand rotate animation.
-/obj/machinery/big_manipulator/proc/start_work(atom/movable/target)
- target.forceMove(src)
- containment_obj = WEAKREF(target)
- manipulator_hand.update_claw(containment_obj)
- on_work = TRUE
+/obj/machinery/big_manipulator/proc/start_work(atom/movable/target, hand_is_empty = FALSE)
+ if(!hand_is_empty)
+ target.forceMove(src)
+ containment_obj = WEAKREF(target)
+ manipulator_arm.update_claw(containment_obj)
+ status = STATUS_BUSY
do_rotate_animation(1)
- check_next_move(target)
+ check_next_move(target, hand_is_empty)
/// 2.5 take and drop proc from [take and drop procs loop]:
-/// Choose what we will do with our item by checking the manipulate_mode.
-/obj/machinery/big_manipulator/proc/check_next_move(atom/movable/target)
- switch(manipulate_mode)
- if(DROP_ITEM_MODE)
- addtimer(CALLBACK(src, PROC_REF(drop_thing), target), working_speed)
- if(USE_ITEM_MODE)
- addtimer(CALLBACK(src, PROC_REF(use_thing), target), working_speed)
- if(THROW_ITEM_MODE)
- addtimer(CALLBACK(src, PROC_REF(throw_thing), target), working_speed)
+/// Choose what we will do with our item by checking the interaction_mode.
+/obj/machinery/big_manipulator/proc/check_next_move(atom/movable/target, hand_is_empty = FALSE)
+ if(hand_is_empty)
+ addtimer(CALLBACK(src, PROC_REF(use_thing_with_empty_hand)), interaction_delay SECONDS)
+ return
+ switch(interaction_mode)
+ if(INTERACT_DROP)
+ addtimer(CALLBACK(src, PROC_REF(drop_thing), target), interaction_delay SECONDS)
+ if(INTERACT_USE)
+ addtimer(CALLBACK(src, PROC_REF(use_thing), target), interaction_delay SECONDS)
+ if(INTERACT_THROW)
+ addtimer(CALLBACK(src, PROC_REF(throw_thing), target), interaction_delay SECONDS)
/// 3.1 take and drop proc from [take and drop procs loop]:
/// Drop our item.
@@ -393,7 +443,7 @@
/obj/machinery/big_manipulator/proc/drop_thing(atom/movable/target)
var/where_we_drop = search_type_by_priority_in_drop_turf(allowed_priority_settings)
if(isnull(where_we_drop))
- addtimer(CALLBACK(src, PROC_REF(drop_thing), target), working_speed)
+ addtimer(CALLBACK(src, PROC_REF(drop_thing), target), interaction_delay SECONDS)
return
if((where_we_drop == drop_turf) || !isitem(target))
target.forceMove(drop_turf)
@@ -413,7 +463,7 @@
/// You can also set the setting in ui so that it does not return to its privious position and continues to use object in its hand.
/// Checks the priority so that you can configure which object it will select: mob/obj/turf.
/// Also can use filter to interact only with obj in filter.
-/obj/machinery/big_manipulator/proc/use_thing(atom/movable/target)
+/obj/machinery/big_manipulator/proc/use_thing(atom/movable/target, hand_is_empty = FALSE)
var/obj/obj_resolve = containment_obj?.resolve()
if(isnull(obj_resolve))
finish_manipulation()
@@ -434,16 +484,44 @@
var/obj/item/im_item = target
var/atom/type_to_use = search_type_by_priority_in_drop_turf(allowed_priority_settings)
if(isnull(type_to_use))
- check_end_of_use(im_item, target, item_was_used = FALSE)
+ check_end_of_use(im_item, item_was_used = FALSE)
return
monkey_resolve.put_in_active_hand(im_item)
if(im_item.GetComponent(/datum/component/two_handed)) /// Using two-handed items in two hands.
im_item.attack_self(monkey_resolve)
im_item.melee_attack_chain(monkey_resolve, type_to_use)
do_attack_animation(drop_turf)
- manipulator_hand.do_attack_animation(drop_turf)
+ manipulator_arm.do_attack_animation(drop_turf)
check_end_of_use(im_item, item_was_used = TRUE)
+/obj/machinery/big_manipulator/proc/use_thing_with_empty_hand()
+ var/mob/living/carbon/human/species/monkey/monkey_resolve = monkey_worker?.resolve()
+ if(isnull(monkey_resolve))
+ finish_manipulation()
+ return
+ var/atom/type_to_use = search_type_by_priority_in_drop_turf(allowed_priority_settings)
+ if(isnull(type_to_use))
+ check_end_of_use_for_use_with_empty_hand()
+ return
+ /// We don't do unarmed attack on item because we will take it so we just attack self it like if we wanna to on/off table lamp.
+ if(isitem(type_to_use))
+ var/obj/item/interact_with_item = type_to_use
+ var/resolve_loc = interact_with_item.loc
+ monkey_resolve.put_in_active_hand(interact_with_item)
+ interact_with_item.attack_self(monkey_resolve)
+ interact_with_item.forceMove(resolve_loc)
+ else
+ monkey_resolve.UnarmedAttack(type_to_use)
+ do_attack_animation(drop_turf)
+ manipulator_arm.do_attack_animation(drop_turf)
+ check_end_of_use_for_use_with_empty_hand()
+
+/obj/machinery/big_manipulator/proc/check_end_of_use_for_use_with_empty_hand(obj/item/my_item, item_was_used)
+ if(!on || (worker_interaction != WORKER_EMPTY_USE && interaction_mode == INTERACT_USE))
+ finish_manipulation()
+ return
+ addtimer(CALLBACK(src, PROC_REF(use_thing_with_empty_hand), my_item), interaction_delay SECONDS)
+
/// Check what we gonna do next with our item. Drop it or use again.
/obj/machinery/big_manipulator/proc/check_end_of_use(obj/item/my_item, item_was_used)
if(!on)
@@ -451,12 +529,12 @@
my_item.dir = get_dir(get_turf(my_item), get_turf(src))
finish_manipulation()
return
- if(drop_item_after_use && item_was_used)
+ if(worker_interaction == WORKER_SINGLE_USE && item_was_used)
my_item.forceMove(drop_turf)
my_item.dir = get_dir(get_turf(my_item), get_turf(src))
finish_manipulation()
return
- addtimer(CALLBACK(src, PROC_REF(use_thing), my_item), working_speed)
+ addtimer(CALLBACK(src, PROC_REF(use_thing), my_item), interaction_delay SECONDS)
/// 3.3 take and drop proc from [take and drop procs loop]:
/// Throw item away!!!
@@ -470,31 +548,31 @@
im_item.forceMove(drop_turf)
im_item.throw_at(get_edge_target_turf(get_turf(src), drop_here), manipulator_throw_range - 1, 2)
src.do_attack_animation(drop_turf)
- manipulator_hand.do_attack_animation(drop_turf)
+ manipulator_arm.do_attack_animation(drop_turf)
finish_manipulation()
/// End of thirds take and drop proc from [take and drop procs loop]:
/// Starts manipulator hand backward animation.
/obj/machinery/big_manipulator/proc/finish_manipulation()
containment_obj = null
- manipulator_hand.update_claw(null)
+ manipulator_arm.update_claw(null)
do_rotate_animation(0)
- addtimer(CALLBACK(src, PROC_REF(end_work)), working_speed)
+ addtimer(CALLBACK(src, PROC_REF(end_work)), interaction_delay SECONDS)
/// Fourth and last take and drop proc from [take and drop procs loop]:
/// Finishes work and begins to look for a new item for [take and drop procs loop].
/obj/machinery/big_manipulator/proc/end_work()
- on_work = FALSE
- is_work_check()
+ status = STATUS_IDLE
+ is_ready_to_work()
/// Rotates manipulator hand 90 degrees.
/obj/machinery/big_manipulator/proc/do_rotate_animation(backward)
- animate(manipulator_hand, transform = matrix(90, MATRIX_ROTATE), working_speed*0.5)
- addtimer(CALLBACK(src, PROC_REF(finish_rotate_animation), backward), working_speed*0.5)
+ animate(manipulator_arm, transform = matrix(90, MATRIX_ROTATE), interaction_delay SECONDS * 0.5)
+ addtimer(CALLBACK(src, PROC_REF(finish_rotate_animation), backward), interaction_delay SECONDS * 0.5)
/// Rotates manipulator hand from 90 degrees to 180 or 0 if backward.
/obj/machinery/big_manipulator/proc/finish_rotate_animation(backward)
- animate(manipulator_hand, transform = matrix(180 * backward, MATRIX_ROTATE), working_speed*0.5)
+ animate(manipulator_arm, transform = matrix(180 * backward, MATRIX_ROTATE), interaction_delay SECONDS * 0.5)
/obj/machinery/big_manipulator/proc/check_filter(atom/movable/target)
if (target.anchored || HAS_TRAIT(target, TRAIT_NODROP))
@@ -514,26 +592,22 @@
/// Proc called when we changing item interaction mode.
/obj/machinery/big_manipulator/proc/change_mode()
- switch(manipulate_mode)
- if(DROP_ITEM_MODE)
- if(!isnull(monkey_worker))
- manipulate_mode = USE_ITEM_MODE
- else
- manipulate_mode = THROW_ITEM_MODE
- if(USE_ITEM_MODE)
- manipulate_mode = THROW_ITEM_MODE
- if(THROW_ITEM_MODE)
- manipulate_mode = DROP_ITEM_MODE
+ var/list/available_modes = list(INTERACT_DROP, INTERACT_USE, INTERACT_THROW)
+
+ if(isnull(monkey_worker))
+ available_modes = list(INTERACT_DROP, INTERACT_THROW)
+
+ interaction_mode = cycle_value(interaction_mode, available_modes)
update_priority_list()
- is_work_check()
+ is_ready_to_work()
/// Update priority list in ui. Creating new list and sort it by priority number.
/obj/machinery/big_manipulator/proc/update_priority_list()
allowed_priority_settings = list()
var/list/priority_mode_list
- if(manipulate_mode == DROP_ITEM_MODE)
+ if(interaction_mode == INTERACT_DROP)
priority_mode_list = priority_settings_for_drop.Copy()
- if(manipulate_mode == USE_ITEM_MODE)
+ if(interaction_mode == INTERACT_USE)
priority_mode_list = priority_settings_for_use.Copy()
if(isnull(priority_mode_list))
return
@@ -543,12 +617,12 @@
continue
allowed_priority_settings += what_priority
-/// Proc thet return item by type in priority list. Selects item and increasing priority number if don't found req type.
+/// Proc that return item by type in priority list. Selects item and increasing priority number if don't found req type.
/obj/machinery/big_manipulator/proc/search_type_by_priority_in_drop_turf(list/priority_list)
var/lazy_counter = 1
for(var/datum/manipulator_priority/take_type in priority_list)
- /// If we set only_highest_priority on TRUE we don't go to priority below.
- if(lazy_counter > 1 && only_highest_priority)
+ /// If we set override_priority on TRUE we don't go to priority below.
+ if(lazy_counter > 1 && override_priority)
return null
/// If we need turf we don't check turf.contents and just return drop_turf.
if(take_type.what_type == /turf)
@@ -563,7 +637,7 @@
/obj/machinery/big_manipulator/proc/press_on(pressed_by)
if(pressed_by)
on = !on
- if(!is_work_check())
+ if(!is_ready_to_work())
return
if(on)
RegisterSignal(take_turf, COMSIG_ATOM_ENTERED, PROC_REF(try_take_thing))
@@ -574,34 +648,28 @@
/// Proc that check if button not cutted when we press on button.
/obj/machinery/big_manipulator/proc/try_press_on(mob/user)
- if(on_button_cutted)
+ if(power_access_wire_cut)
balloon_alert(user, "button is cut off!")
return
press_on(pressed_by = TRUE)
/// Drop item that manipulator is manipulating.
-/obj/machinery/big_manipulator/proc/drop_containment_item()
+/obj/machinery/big_manipulator/proc/drop_held_object()
if(isnull(containment_obj))
return
var/obj/obj_resolve = containment_obj?.resolve()
obj_resolve?.forceMove(get_turf(obj_resolve))
finish_manipulation()
-/// Changes the type of objects that the manipulator will pick up
-/obj/machinery/big_manipulator/proc/change_what_take_type()
- selected_type_by_number++
- if(selected_type_by_number > allowed_types_to_pick_up.len)
- selected_type_by_number = 1
- selected_type = allowed_types_to_pick_up[selected_type_by_number]
- is_work_check()
-
-/// Changes range with which the manipulator throws objects, from 1 to 7.
-/obj/machinery/big_manipulator/proc/change_throw_range()
- manipulator_throw_range++
- if(manipulator_throw_range > 7)
- manipulator_throw_range = 1
+/// Changes manipulator working speed time.
+/obj/machinery/big_manipulator/proc/change_delay(new_delay)
+ interaction_delay = round(clamp(new_delay, minimal_delay, MAX_DELAY), DELAY_STEP)
/obj/machinery/big_manipulator/ui_interact(mob/user, datum/tgui/ui)
+ if(id_locked)
+ to_chat(user, span_warning("[src] is locked behind id authentication!"))
+ ui?.close()
+ return
if(!anchored)
to_chat(user, span_warning("[src] isn't attached to the ground!"))
ui?.close()
@@ -616,9 +684,9 @@
data["active"] = on
data["item_as_filter"] = filter_obj?.resolve()
data["selected_type"] = selected_type.name
- data["manipulate_mode"] = manipulate_mode
- data["drop_after_use"] = drop_item_after_use
- data["highest_priority"] = only_highest_priority
+ data["interaction_mode"] = interaction_mode
+ data["worker_interaction"] = worker_interaction
+ data["highest_priority"] = override_priority
data["throw_range"] = manipulator_throw_range
var/list/priority_list = list()
data["settings_list"] = list()
@@ -628,6 +696,14 @@
priority_data["priority_width"] = allowed_setting.number
priority_list += list(priority_data)
data["settings_list"] = priority_list
+ data["min_delay"] = minimal_delay
+ data["interaction_delay"] = interaction_delay
+ return data
+
+/obj/machinery/big_manipulator/ui_static_data(mob/user)
+ var/list/data = list()
+ data["delay_step"] = DELAY_STEP
+ data["max_delay"] = MAX_DELAY
return data
/obj/machinery/big_manipulator/ui_act(action, params, datum/tgui/ui)
@@ -639,10 +715,10 @@
try_press_on(ui.user)
return TRUE
if("drop")
- drop_containment_item()
+ drop_held_object()
return TRUE
if("change_take_item_type")
- change_what_take_type()
+ cycle_pickup_type()
return TRUE
if("change_mode")
change_mode()
@@ -655,7 +731,7 @@
if(give_obj_back)
give_obj_back.forceMove(get_turf(src))
filter_obj = null
- is_work_check()
+ is_ready_to_work()
to_chat(living_user, span_warning("Filter removed"))
return TRUE
var/obj/item/get_active_held_item = living_user.get_active_held_item()
@@ -664,13 +740,13 @@
return FALSE
filter_obj = WEAKREF(get_active_held_item)
get_active_held_item.forceMove(src)
- is_work_check()
+ is_ready_to_work()
return TRUE
if("highest_priority_change")
- only_highest_priority = !only_highest_priority
+ override_priority = !override_priority
return TRUE
- if("drop_use_change")
- drop_item_after_use = !drop_item_after_use
+ if("worker_interaction_change")
+ cycle_worker_interaction()
return TRUE
if("change_priority")
var/new_priority_number = params["priority"]
@@ -682,8 +758,11 @@
break
update_priority_list()
return TRUE
- if("change_throw_range")
- change_throw_range()
+ if("cycle_throw_range")
+ cycle_throw_range()
+ return TRUE
+ if("changeDelay")
+ change_delay(text2num(params["new_delay"]))
return TRUE
/// Using on change_priority: looks for a setting with the same number that we set earlier and reduce it.
@@ -695,15 +774,15 @@
break
/// Manipulator hand. Effect we animate to show that the manipulator is working and moving something.
-/obj/effect/big_manipulator_hand
- name = "Manipulator claw"
- desc = "Take and drop objects. Innovation..."
+/obj/effect/big_manipulator_arm
+ name = "mechanical claw"
+ desc = "Takes and drops objects."
icon = 'icons/obj/machines/big_manipulator_parts/big_manipulator_hand.dmi'
icon_state = "hand"
layer = LOW_ITEM_LAYER
appearance_flags = KEEP_TOGETHER | LONG_GLIDE | TILE_BOUND | PIXEL_SCALE
anchored = TRUE
- greyscale_config = /datum/greyscale_config/manipulator_hand
+ greyscale_config = /datum/greyscale_config/manipulator_arm
pixel_x = -32
pixel_y = -32
/// We get item from big manipulator and takes its icon to create overlay.
@@ -711,28 +790,28 @@
/// Var to icon that used as overlay on manipulator claw to show what item it grabs.
var/mutable_appearance/icon_overlay
-/obj/effect/big_manipulator_hand/update_overlays()
+/obj/effect/big_manipulator_arm/update_overlays()
. = ..()
. += update_item_overlay()
-/obj/effect/big_manipulator_hand/proc/update_item_overlay()
+/obj/effect/big_manipulator_arm/proc/update_item_overlay()
if(isnull(item_in_my_claw))
return icon_overlay = null
var/atom/movable/item_data = item_in_my_claw.resolve()
icon_overlay = mutable_appearance(item_data.icon, item_data.icon_state, item_data.layer, src, item_data.plane, item_data.alpha, item_data.appearance_flags)
icon_overlay.color = item_data.color
icon_overlay.appearance = item_data.appearance
- icon_overlay.pixel_x = 32 + calculate_item_offset(is_x = TRUE)
- icon_overlay.pixel_y = 32 + calculate_item_offset(is_x = FALSE)
+ icon_overlay.pixel_w = 32 + calculate_item_offset(is_x = TRUE)
+ icon_overlay.pixel_z = 32 + calculate_item_offset(is_x = FALSE)
return icon_overlay
/// Updates item that is in the claw.
-/obj/effect/big_manipulator_hand/proc/update_claw(clawed_item)
+/obj/effect/big_manipulator_arm/proc/update_claw(clawed_item)
item_in_my_claw = clawed_item
update_appearance()
/// Calculate x and y coordinates so that the item icon appears in the claw and not somewhere in the corner.
-/obj/effect/big_manipulator_hand/proc/calculate_item_offset(is_x = TRUE, pixels_to_offset = 32)
+/obj/effect/big_manipulator_arm/proc/calculate_item_offset(is_x = TRUE, pixels_to_offset = 32)
var/offset
switch(dir)
if(NORTH)
@@ -753,46 +832,82 @@
var/what_type
/**
* Place in the priority queue. The lower the number, the more important the priority.
- * Doesn’t really matter what number you enter, user can set priority for themselves,
+ * Doesn't really matter what number you enter, user can set priority for themselves,
* BUT!!!
* Don't write the same numbers in the same parent otherwise something may go wrong.
*/
var/number
/datum/manipulator_priority/for_drop/on_floor
- name = "Drop on Floor"
+ name = "DROP ON FLOOR"
what_type = /turf
number = 1
/datum/manipulator_priority/for_drop/in_storage
- name = "Drop in Storage"
+ name = "DROP IN STORAGE"
what_type = /obj/item/storage
number = 2
/datum/manipulator_priority/for_use/on_living
- name = "Use on Living"
+ name = "USE ON LIVING"
what_type = /mob/living
number = 1
/datum/manipulator_priority/for_use/on_structure
- name = "Use on Structure"
+ name = "USE ON STRUCTURE"
what_type = /obj/structure
number = 2
/datum/manipulator_priority/for_use/on_machinery
- name = "Use on Machinery"
+ name = "USE ON MACHINERY"
what_type = /obj/machinery
number = 3
/datum/manipulator_priority/for_use/on_items
- name = "Use on Items"
+ name = "USE ON ITEM"
what_type = /obj/item
number = 4
-#undef DROP_ITEM_MODE
-#undef USE_ITEM_MODE
-#undef THROW_ITEM_MODE
+/// Cycles the given value in the given list. Retuns the next value in the list, or the first one if the list isn't long enough.
+/obj/machinery/big_manipulator/proc/cycle_value(current_value, list/possible_values)
+ var/current_index = possible_values.Find(current_value)
+ if(current_index == null)
+ return possible_values[1]
+
+ var/next_index = (current_index % possible_values.len) + 1
+ return possible_values[next_index]
+
+/obj/machinery/big_manipulator/proc/cycle_worker_interaction()
+ var/list/worker_modes = list(WORKER_NORMAL_USE, WORKER_SINGLE_USE, WORKER_EMPTY_USE)
+ worker_interaction = cycle_value(worker_interaction, worker_modes)
+
+/obj/machinery/big_manipulator/proc/cycle_throw_range()
+ var/list/possible_ranges = list(1, 2, 3, 4, 5, 6, 7)
+ manipulator_throw_range = cycle_value(manipulator_throw_range, possible_ranges)
+
+/obj/machinery/big_manipulator/proc/cycle_pickup_type()
+ selected_type = cycle_value(selected_type, allowed_types_to_pick_up)
+ is_ready_to_work()
+
+#undef INTERACT_DROP
+#undef INTERACT_USE
+#undef INTERACT_THROW
#undef TAKE_ITEMS
#undef TAKE_CLOSETS
#undef TAKE_HUMANS
+
+#undef DELAY_STEP
+#undef MAX_DELAY
+
+#undef WORKER_NORMAL_USE
+#undef WORKER_SINGLE_USE
+#undef WORKER_EMPTY_USE
+
+#undef STATUS_IDLE
+#undef STATUS_BUSY
+
+#undef MIN_DELAY_TIER_1
+#undef MIN_DELAY_TIER_2
+#undef MIN_DELAY_TIER_3
+#undef MIN_DELAY_TIER_4
diff --git a/code/game/machinery/computer/arcade/amputation.dm b/code/game/machinery/computer/arcade/amputation.dm
index d20a5de2b28..b61c460398e 100644
--- a/code/game/machinery/computer/arcade/amputation.dm
+++ b/code/game/machinery/computer/arcade/amputation.dm
@@ -9,7 +9,7 @@
/obj/machinery/computer/arcade/amputation/attack_tk(mob/user)
return //that's a pretty damn big guillotine
-/obj/machinery/computer/arcade/amputation/attack_hand(mob/user, list/modifiers)
+/obj/machinery/computer/arcade/amputation/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(!iscarbon(user))
return
diff --git a/code/game/machinery/computer/arcade/battle.dm b/code/game/machinery/computer/arcade/battle.dm
index 664b9b4f5a5..142d85370c9 100644
--- a/code/game/machinery/computer/arcade/battle.dm
+++ b/code/game/machinery/computer/arcade/battle.dm
@@ -120,13 +120,13 @@
name = make_boss_name_with_verb()
-/obj/machinery/computer/arcade/battle/emag_act(mob/user, obj/item/card/emag/emag_card)
+/obj/machinery/computer/arcade/battle/emag_act(mob/living/user, obj/item/card/emag/emag_card)
if(obj_flags & EMAGGED)
return FALSE
obj_flags |= EMAGGED
balloon_alert(user, "hard mode enabled")
to_chat(user, span_warning("A mesmerizing Rhumba beat starts playing from the arcade machine's speakers!"))
- setup_new_opponent()
+ setup_new_opponent(user)
feedback_message = "If you die in the game, you die for real!"
SStgui.update_uis(src)
return TRUE
@@ -175,7 +175,7 @@
return "The [boss_adjective] [boss_name]"
///Sets up a new opponent depending on what stage they are at.
-/obj/machinery/computer/arcade/battle/proc/setup_new_opponent(enemy_gets_first_move = FALSE)
+/obj/machinery/computer/arcade/battle/proc/setup_new_opponent(mob/living/user, enemy_gets_first_move = FALSE)
enemy_hp = round(rand(90, 125) * all_worlds[player_current_world], 1)
enemy_mp = round(rand(20, 30) * all_worlds[player_current_world], 1)
enemy_gold_reward = rand((DEFAULT_ITEM_PRICE / 2), DEFAULT_ITEM_PRICE)
@@ -201,7 +201,7 @@
ui_panel = UI_PANEL_BATTLE
if(enemy_gets_first_move)
- perform_enemy_turn()
+ perform_enemy_turn(user)
/**
* on_battle_win
@@ -210,7 +210,7 @@
* It also handles clearing the enemy out for the next one, and unlocking new worlds.
* We stop at BATTLE_WORLD_NINE because it is the last stage, and has infinite bosses.
*/
-/obj/machinery/computer/arcade/battle/proc/on_battle_win(mob/user)
+/obj/machinery/computer/arcade/battle/proc/on_battle_win(mob/living/user)
enemy_name = null
feedback_message = null
player_turn = TRUE
@@ -229,8 +229,8 @@
bomb_cooldown = initial(bomb_cooldown)
new /obj/effect/spawner/newbomb/plasma(loc, /obj/item/assembly/timer)
new /obj/item/clothing/head/collectable/petehat(loc)
- message_admins("[ADMIN_LOOKUPFLW(usr)] has outbombed Cuban Pete and been awarded a bomb.")
- usr.log_message("outbombed Cuban Pete and has been awarded a bomb.", LOG_GAME)
+ message_admins("[ADMIN_LOOKUPFLW(user)] has outbombed Cuban Pete and been awarded a bomb.")
+ user.log_message("outbombed Cuban Pete and has been awarded a bomb.", LOG_GAME)
else
visible_message(span_notice("[src] dispenses 2 tickets!"))
new /obj/item/stack/arcadeticket((get_turf(src)), 2)
@@ -245,15 +245,15 @@
ui_panel = UI_PANEL_BETWEEN_FIGHTS
///Called when a mob loses at the battle arcade.
-/obj/machinery/computer/arcade/battle/proc/lose_game(mob/user)
- if(obj_flags & EMAGGED)
- var/mob/living/living_user = user
- if(istype(living_user))
- living_user.investigate_log("has been gibbed by an emagged Orion Trail game.", INVESTIGATE_DEATHS)
- living_user.gib(DROP_ALL_REMAINS)
- user.lost_game()
+/obj/machinery/computer/arcade/battle/proc/lose_game(mob/living/user)
SSblackbox.record_feedback("nested tally", "arcade_results", 1, list("loss", "hp", (obj_flags & EMAGGED ? "emagged":"normal")))
SStgui.update_uis(src)
+ if (!user)
+ return
+ user.lost_game()
+ if(obj_flags & EMAGGED)
+ user.investigate_log("has been gibbed by an emagged Orion Trail game.", INVESTIGATE_DEATHS)
+ user.gib(DROP_ALL_REMAINS)
///Called when the enemy attacks you.
/obj/machinery/computer/arcade/battle/proc/user_take_damage(mob/user, base_damage_taken)
@@ -266,10 +266,11 @@
say("You have been crushed! GAME OVER.")
playsound(loc, 'sound/machines/arcade/lose.ogg', 40, TRUE)
lose_game(user)
- else
- feedback_message = "User took [damage_taken] damage!"
- playsound(loc, 'sound/machines/arcade/hit.ogg', 40, TRUE, extrarange = -3)
- SStgui.update_uis(src)
+ return
+
+ feedback_message = "User took [damage_taken] damage!"
+ playsound(loc, 'sound/machines/arcade/hit.ogg', 40, TRUE, extrarange = -3)
+ SStgui.update_uis(src)
///Called when you attack the enemy.
/obj/machinery/computer/arcade/battle/proc/process_player_attack(mob/user, attack_type)
@@ -339,7 +340,7 @@
* if they lack the MP, then it's rolling to steal MP from the player.
* After, we will roll to see if the player counterattacks the enemy (if set), otherwise we will attack normally.
*/
-/obj/machinery/computer/arcade/battle/proc/perform_enemy_turn(mob/user, defending_flags = NONE)
+/obj/machinery/computer/arcade/battle/proc/perform_enemy_turn(mob/living/user, defending_flags = NONE)
player_turn = TRUE
var/chance_to_magic = round(max((-(enemy_hp - enemy_max_hp) / 2), 75), 1)
if((enemy_hp != enemy_max_hp) && prob(chance_to_magic))
@@ -438,6 +439,7 @@
if(!istype(gamer))
return
+ gamer.played_game()
switch(ui_panel)
if(UI_PANEL_GAMEOVER)
switch(action)
@@ -478,7 +480,7 @@
say("That world is not unlocked yet!")
return TRUE
player_current_world = all_worlds[world_travelling]
- setup_new_opponent()
+ setup_new_opponent(gamer)
return TRUE
if("enter_inn")
ui_panel = UI_PANEL_SHOP
@@ -486,7 +488,7 @@
if(UI_PANEL_BETWEEN_FIGHTS)
switch(action)
if("continue_without_rest")
- setup_new_opponent()
+ setup_new_opponent(gamer)
return TRUE
if("continue_with_rest")
if(prob(60))
@@ -500,9 +502,9 @@
player_gold /= 2
else
//You got ambushed, the enemy gets the first hit.
- setup_new_opponent(enemy_gets_first_move = TRUE)
+ setup_new_opponent(gamer, enemy_gets_first_move = TRUE)
return TRUE
- setup_new_opponent()
+ setup_new_opponent(gamer)
return TRUE
if("abandon_quest")
if(player_current_world == latest_unlocked_world)
diff --git a/code/game/machinery/computer/arcade/orion.dm b/code/game/machinery/computer/arcade/orion.dm
index 728eb682735..72bf0cb1e51 100644
--- a/code/game/machinery/computer/arcade/orion.dm
+++ b/code/game/machinery/computer/arcade/orion.dm
@@ -78,9 +78,8 @@
if(!(event.type in event_whitelist))
events.Remove(event)
-/obj/machinery/computer/arcade/orion_trail/proc/newgame()
+/obj/machinery/computer/arcade/orion_trail/proc/newgame(mob/living/player)
// Set names of settlers in crew
- var/mob/living/player = usr
var/player_crew_name = first_name(player.name)
settlers = list()
for(var/i in 1 to ORION_STARTING_CREW_COUNT - 1) //one reserved to be YOU
@@ -183,7 +182,7 @@
if(.)
return
- var/mob/living/gamer = usr
+ var/mob/living/gamer = ui.user
if(!istype(gamer))
return
@@ -213,7 +212,7 @@
if("start_game")
if(gameStatus != ORION_STATUS_START)
return
- newgame()
+ newgame(gamer)
if("instructions")
if(gameStatus != ORION_STATUS_START)
return
@@ -333,9 +332,8 @@
if(obj_flags & EMAGGED)
event.emag_effect(src, gamer)
-/obj/machinery/computer/arcade/orion_trail/proc/set_game_over(user, given_reason)
- usr.lost_game()
-
+/obj/machinery/computer/arcade/orion_trail/proc/set_game_over(mob/living/user, given_reason)
+ user.lost_game()
gameStatus = ORION_STATUS_GAMEOVER
event = null
reason = given_reason || death_reason(user)
@@ -463,15 +461,14 @@
if(lings_suspected) //lings ruin any good mood
settlermoods[settlers[i]] = min(settlermoods[settlers[i]], 3)
-/obj/machinery/computer/arcade/orion_trail/proc/win(mob/user)
- usr.won_game()
-
+/obj/machinery/computer/arcade/orion_trail/proc/win(mob/living/user)
+ user.won_game()
gameStatus = ORION_STATUS_START
say("Congratulations, you made it to Orion!")
if(obj_flags & EMAGGED)
new /obj/item/orion_ship(loc)
- message_admins("[ADMIN_LOOKUPFLW(usr)] made it to Orion on an emagged machine and got an explosive toy ship.")
- usr.log_message("made it to Orion on an emagged machine and got an explosive toy ship.", LOG_GAME)
+ message_admins("[ADMIN_LOOKUPFLW(user)] made it to Orion on an emagged machine and got an explosive toy ship.")
+ user.log_message("made it to Orion on an emagged machine and got an explosive toy ship.", LOG_GAME)
else
new /obj/item/stack/arcadeticket((get_turf(src)), 2)
to_chat(user, span_notice("[src] dispenses 2 tickets!"))
@@ -479,17 +476,21 @@
name = initial(name)
desc = initial(desc)
-/obj/machinery/computer/arcade/orion_trail/emag_act(mob/user, obj/item/card/emag/emag_card)
+/obj/machinery/computer/arcade/orion_trail/emag_act(mob/living/user, obj/item/card/emag/emag_card)
if(obj_flags & EMAGGED)
return FALSE
- if (user)
- user.log_message("emagged [src], activating Realism Mode.", LOG_GAME)
- balloon_alert(user, "realism mode enabled")
- to_chat(user, span_notice("You override the cheat code menu and skip to Cheat #[rand(1, 50)]: Realism Mode."))
+
name = "The Orion Trail: Realism Edition"
desc = "Learn how our ancestors got to Orion, and try not to die in the process!"
- newgame()
obj_flags |= EMAGGED
+
+ if (!user)
+ return TRUE
+
+ user.log_message("emagged [src], activating Realism Mode.", LOG_GAME)
+ balloon_alert(user, "realism mode enabled")
+ to_chat(user, span_notice("You override the cheat code menu and skip to Cheat #[rand(1, 50)]: Realism Mode."))
+ newgame(user)
return TRUE
///A minibomb achieved from winning at emagged Orion.
@@ -515,7 +516,7 @@
if(active)
return
- log_bomber(usr, "primed an explosive", src, "for detonation")
+ log_bomber(user, "primed an explosive", src, "for detonation")
to_chat(user, span_warning("You flip the switch on the underside of [src]."))
active = TRUE
addtimer(CALLBACK(src, PROC_REF(commit_explosion)), 1 SECONDS)
diff --git a/code/game/machinery/dna_scanner.dm b/code/game/machinery/dna_scanner.dm
index 3848717cc37..8562d2ad74e 100644
--- a/code/game/machinery/dna_scanner.dm
+++ b/code/game/machinery/dna_scanner.dm
@@ -169,6 +169,17 @@
var/list/mutations = list()
var/max_mutations = 6
var/read_only = FALSE //Well,it's still a floppy disk
+ obj_flags = parent_type::obj_flags | INFINITE_RESKIN
+ unique_reskin = list(
+ "Red" = "datadisk0",
+ "Dark Blue" = "datadisk1",
+ "Yellow" = "datadisk2",
+ "Black" = "datadisk3",
+ "Green" = "datadisk4",
+ "Purple" = "datadisk5",
+ "Grey" = "datadisk6",
+ "Light Blue" = "datadisk7",
+ )
/obj/item/disk/data/Initialize(mapload)
. = ..()
diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index f5d0e97401f..c3289583826 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -599,17 +599,17 @@
var/mutable_appearance/floorlight = mutable_appearance('icons/obj/doors/airlocks/station/overlays.dmi', "unres_[heading]", FLOAT_LAYER, src, ABOVE_LIGHTING_PLANE)
switch (heading)
if (NORTH)
- floorlight.pixel_x = 0
- floorlight.pixel_y = 32
+ floorlight.pixel_w = 0
+ floorlight.pixel_z = 32
if (SOUTH)
- floorlight.pixel_x = 0
- floorlight.pixel_y = -32
+ floorlight.pixel_w = 0
+ floorlight.pixel_z = -32
if (EAST)
- floorlight.pixel_x = 32
- floorlight.pixel_y = 0
+ floorlight.pixel_w = 32
+ floorlight.pixel_z = 0
if (WEST)
- floorlight.pixel_x = -32
- floorlight.pixel_y = 0
+ floorlight.pixel_w = -32
+ floorlight.pixel_z = 0
. += floorlight
*/
@@ -1252,7 +1252,7 @@
return
open(BYPASS_DOOR_CHECKS)
- take_damage(25, BRUTE, 0, 0) // Enough to sometimes spark
+ take_damage(AIRLOCK_PRY_DAMAGE, BRUTE, 0, 0) // Enough to sometimes spark
if(density && !open(BYPASS_DOOR_CHECKS))
to_chat(user, span_warning("Despite your attempts, [src] refuses to open."))
diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm
index 4213de44fdb..db83debe6f1 100644
--- a/code/game/machinery/doors/firedoor.dm
+++ b/code/game/machinery/doors/firedoor.dm
@@ -660,12 +660,12 @@
if(alarm_type && powered() && !ignore_alarms)
var/mutable_appearance/hazards
hazards = mutable_appearance(icon, "[(obj_flags & EMAGGED) ? "firelock_alarm_type_emag" : alarm_type]")
- hazards.pixel_x = light_xoffset
- hazards.pixel_y = light_yoffset
+ hazards.pixel_w = light_xoffset
+ hazards.pixel_z = light_yoffset
. += hazards
hazards = emissive_appearance(icon, "[(obj_flags & EMAGGED) ? "firelock_alarm_type_emag" : alarm_type]", src, alpha = src.alpha)
- hazards.pixel_x = light_xoffset
- hazards.pixel_y = light_yoffset
+ hazards.pixel_w = light_xoffset
+ hazards.pixel_z = light_yoffset
. += hazards
/**
@@ -792,7 +792,7 @@
/obj/machinery/door/firedoor/heavy
name = "heavy firelock"
- icon = 'icons/obj/doors/doorfire.dmi' // SKYRAT EDIT - ICON OVERRIDDEN IN AESTHETICS MODULE
+ icon = 'icons/obj/doors/doorfire.dmi'
glass = FALSE
explosion_block = 2
assemblytype = /obj/structure/firelock_frame/heavy
@@ -807,7 +807,7 @@
/obj/structure/firelock_frame
name = "firelock frame"
desc = "A partially completed firelock."
- icon = 'icons/obj/doors/doorfire.dmi' // SKYRAT EDIT - ICON OVERRIDDEN IN AESTHETICS MODULE
+ icon = 'icons/obj/doors/doorfire.dmi'
icon_state = "frame1"
base_icon_state = "frame"
anchored = FALSE
diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm
index 5d130491b64..3954bf6f521 100644
--- a/code/game/machinery/doors/windowdoor.dm
+++ b/code/game/machinery/doors/windowdoor.dm
@@ -120,20 +120,20 @@
if(NORTH,SOUTH)
if(unres_sides & NORTH)
var/image/side_overlay = image(icon='icons/obj/doors/airlocks/station/overlays.dmi', icon_state="unres_n")
- side_overlay.pixel_y = dir == NORTH ? 31 : 6
+ side_overlay.pixel_z = dir == NORTH ? 31 : 6
. += side_overlay
if(unres_sides & SOUTH)
var/image/side_overlay = image(icon='icons/obj/doors/airlocks/station/overlays.dmi', icon_state="unres_s")
- side_overlay.pixel_y = dir == NORTH ? -6 : -31
+ side_overlay.pixel_z = dir == NORTH ? -6 : -31
. += side_overlay
if(EAST,WEST)
if(unres_sides & EAST)
var/image/side_overlay = image(icon='icons/obj/doors/airlocks/station/overlays.dmi', icon_state="unres_e")
- side_overlay.pixel_x = dir == EAST ? 31 : 6
+ side_overlay.pixel_w = dir == EAST ? 31 : 6
. += side_overlay
if(unres_sides & WEST)
var/image/side_overlay = image(icon='icons/obj/doors/airlocks/station/overlays.dmi', icon_state="unres_w")
- side_overlay.pixel_x = dir == EAST ? -6 : -31
+ side_overlay.pixel_w = dir == EAST ? -6 : -31
. += side_overlay
/obj/machinery/door/window/proc/open_and_close()
diff --git a/code/game/machinery/drone_dispenser.dm b/code/game/machinery/drone_dispenser.dm
index 414746dcb19..82fdf1fad49 100644
--- a/code/game/machinery/drone_dispenser.dm
+++ b/code/game/machinery/drone_dispenser.dm
@@ -254,36 +254,35 @@
icon_state = icon_on
return ..()
-/obj/machinery/drone_dispenser/attackby(obj/item/I, mob/living/user)
- if(I.tool_behaviour == TOOL_CROWBAR)
- materials.retrieve_all()
- I.play_tool_sound(src)
- to_chat(user, span_notice("You retrieve the materials from [src]."))
+/obj/machinery/drone_dispenser/crowbar_act(mob/living/user, obj/item/tool)
+ materials.retrieve_all()
+ tool.play_tool_sound(src)
+ to_chat(user, span_notice("You retrieve the materials from [src]."))
+ return ITEM_INTERACT_SUCCESS
- else if(I.tool_behaviour == TOOL_WELDER)
- if(!(machine_stat & BROKEN))
- to_chat(user, span_warning("[src] doesn't need repairs."))
- return
+/obj/machinery/drone_dispenser/welder_act(mob/living/user, obj/item/tool)
+ if(!(machine_stat & BROKEN))
+ to_chat(user, span_warning("[src] doesn't need repairs."))
+ return ITEM_INTERACT_BLOCKING
- if(!I.tool_start_check(user, amount=1))
- return
+ if(!tool.tool_start_check(user, amount=1))
+ return ITEM_INTERACT_BLOCKING
- user.visible_message(
- span_notice("[user] begins patching up [src] with [I]."),
- span_notice("You begin restoring the damage to [src]..."))
+ user.visible_message(
+ span_notice("[user] begins patching up [src] with [tool]."),
+ span_notice("You begin restoring the damage to [src]..."))
- if(!I.use_tool(src, user, 40, volume=50))
- return
+ if(!tool.use_tool(src, user, 40, volume=50))
+ return ITEM_INTERACT_BLOCKING
- user.visible_message(
- span_notice("[user] fixes [src]!"),
- span_notice("You restore [src] to operation."))
+ user.visible_message(
+ span_notice("[user] fixes [src]!"),
+ span_notice("You restore [src] to operation."))
- set_machine_stat(machine_stat & ~BROKEN)
- atom_integrity = max_integrity
- update_appearance()
- else
- return ..()
+ set_machine_stat(machine_stat & ~BROKEN)
+ atom_integrity = max_integrity
+ update_appearance()
+ return ITEM_INTERACT_SUCCESS
/obj/machinery/drone_dispenser/atom_break(damage_flag)
. = ..()
diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm
index 675c5044473..2a4cfeab6d6 100644
--- a/code/game/machinery/hologram.dm
+++ b/code/game/machinery/hologram.dm
@@ -108,6 +108,7 @@ Possible to do for anyone motivated enough:
)
)
AddElement(/datum/element/contextual_screentip_mob_typechecks, hovering_mob_typechecks)
+ set_wires(new /datum/wires/holopad(src))
if(on_network)
holopads += src
@@ -225,11 +226,17 @@ Possible to do for anyone motivated enough:
/obj/machinery/holopad/examine(mob/user)
. = ..()
- if(isAI(user))
- . += span_notice("The status display reads: Current projection range: [holo_range] units. Use :h to speak through the projection. Right-click to project or cancel a projection. Alt-click to hangup all active and incomming calls. Ctrl-click to end projection without jumping to your last location.")
- else if(in_range(user, src) || isobserver(user))
+ if(isAI(user) || in_range(user, src) || isobserver(user))
. += span_notice("The status display reads: Current projection range: [holo_range] units.")
+ if(!isAI(user))
+ return
+
+ . += span_info("Use :[/datum/saymode/holopad::key] to speak through the projection.")
+ . += span_info("Right-click to project or cancel a projection.")
+ . += span_info("Alt-click to hangup all active and incomming calls.")
+ . += span_info("Ctrl-click to end projection without jumping to your last location.")
+
/obj/machinery/holopad/wrench_act(mob/living/user, obj/item/tool)
. = ..()
default_unfasten_wrench(user, tool)
@@ -623,10 +630,9 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/
return TRUE
/obj/machinery/holopad/proc/clear_holo(datum/owner)
- qdel(masters[owner]) // Get rid of owner's hologram
+ qdel(masters[owner])
unset_holo(owner)
return TRUE
-
/**
* Called by holocall to inform outgoing_call that the receiver picked up.
*/
@@ -753,6 +759,14 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/
return hologram
/obj/machinery/holopad/proc/replay_start()
+ if(!disk)
+ say("Please insert the disc to play the recording.")
+ return
+
+ if(!disk.record)
+ say("There is no record on the disc. Please check the disk.")
+ return
+
if(!replay_mode)
replay_mode = TRUE
replay_holo = setup_replay_holo(disk.record)
@@ -760,6 +774,8 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/
replay_entry(1)
/obj/machinery/holopad/proc/replay_stop()
+ if(!disk || !disk.record)
+ return FALSE
if(replay_mode)
replay_mode = FALSE
offset = FALSE
diff --git a/code/game/machinery/newscaster/newspaper.dm b/code/game/machinery/newscaster/newspaper.dm
index 648b64d58e8..5beb17b958f 100644
--- a/code/game/machinery/newscaster/newspaper.dm
+++ b/code/game/machinery/newscaster/newspaper.dm
@@ -33,6 +33,8 @@
var/saved_wanted_body
///Stored icon of the wanted criminal, if one existed at the time of creation.
var/icon/saved_wanted_icon
+ ///Do we have eyeholes punctured?
+ var/punctured = FALSE
/obj/item/newspaper/Initialize(mapload)
. = ..()
@@ -74,27 +76,56 @@
user.visible_message(span_suicide("[user] downs the contents of [last_drink.name] in one gulp! Shoulda stuck to sudoku!"))
return TOXLOSS
-/obj/item/newspaper/attackby(obj/item/attacking_item, mob/user, params)
- if(burn_paper_product_attackby_check(attacking_item, user))
+/obj/item/newspaper/item_interaction(mob/living/user, obj/item/tool, list/modifiers)
+ if (burn_paper_product_attackby_check(tool, user))
SStgui.close_uis(src)
- return
+ return ITEM_INTERACT_SKIP_TO_ATTACK
- if(!user.can_write(attacking_item))
- return ..()
- if(scribble_page == current_page)
+ if (tool.tool_behaviour == TOOL_SCREWDRIVER || tool.tool_behaviour == TOOL_WIRECUTTER || tool.sharpness)
+ if (punctured)
+ balloon_alert(user, "already has holes!")
+ return ITEM_INTERACT_BLOCKING
+
+ var/used_verb = "cutting out"
+ if (tool.sharpness != SHARP_EDGED || tool.tool_behaviour == TOOL_SCREWDRIVER)
+ used_verb = "puncturing"
+
+ balloon_alert(user, "[used_verb] peekholes...")
+ if (!do_after(user, 3 SECONDS, src))
+ balloon_alert(user, "interrupted!")
+ return ITEM_INTERACT_BLOCKING
+
+ playsound(src, 'sound/items/duct_tape/duct_tape_rip.ogg', 50, TRUE)
+ punctured = TRUE
+ // User has additional arms or something, I dunno
+ if (isliving(loc))
+ var/mob/living/owner = loc
+ owner.remove_fov_trait(REF(src), FOV_REVERSE_270_DEGRESS)
+ owner.update_appearance(UPDATE_OVERLAYS)
+ return ITEM_INTERACT_SUCCESS
+
+ if (!user.can_write(tool))
+ return NONE
+
+ if (scribble_page == current_page)
user.balloon_alert(user, "already scribbled!")
- return
+ return ITEM_INTERACT_BLOCKING
+
var/new_scribble_text = tgui_input_text(user, "What do you want to scribble?", "Write something", max_length = MAX_MESSAGE_LEN)
- if(isnull(new_scribble_text))
- return
+ if (isnull(new_scribble_text))
+ return ITEM_INTERACT_BLOCKING
+
add_fingerprint(user)
user.balloon_alert(user, "scribbling...")
playsound(src, SFX_WRITING_PEN, 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE, SOUND_FALLOFF_EXPONENT + 3, ignore_walls = FALSE)
- if(!do_after(user, 2 SECONDS, src))
- return
+ if (!do_after(user, 2 SECONDS, src))
+ balloon_alert(user, "interrupted!")
+ return ITEM_INTERACT_BLOCKING
+
user.balloon_alert(user, "scribbled!")
scribble_page = current_page
scribble_text = new_scribble_text
+ return ITEM_INTERACT_SUCCESS
///Checks the creation time of the newspaper and compares it to list to see if the list is meant to be censored at the time of printing.
/obj/item/newspaper/proc/censored_check(list/times_censored)
@@ -112,23 +143,36 @@
return FALSE
/// Called when you start reading the paper with both hands
-/obj/item/newspaper/proc/on_wielded(obj/item/source, mob/user)
+/obj/item/newspaper/proc/on_wielded(obj/item/source, mob/living/user)
+ ADD_TRAIT(user, TRAIT_FACE_COVERED, REF(src))
RegisterSignal(user, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(holder_updated_overlays))
RegisterSignal(user, COMSIG_HUMAN_GET_VISIBLE_NAME, PROC_REF(holder_checked_name))
user.update_appearance(UPDATE_OVERLAYS)
user.name = user.get_visible_name()
+ if (!punctured)
+ user.add_fov_trait(REF(src), FOV_REVERSE_270_DEGRESS)
/// Called when you stop doing that
-/obj/item/newspaper/proc/on_unwielded(obj/item/source, mob/user)
+/obj/item/newspaper/proc/on_unwielded(obj/item/source, mob/living/user)
+ REMOVE_TRAIT(user, TRAIT_FACE_COVERED, REF(src))
UnregisterSignal(user, list(COMSIG_ATOM_UPDATE_OVERLAYS, COMSIG_HUMAN_GET_VISIBLE_NAME))
user.update_appearance(UPDATE_OVERLAYS)
user.name = user.get_visible_name()
+ if (!punctured)
+ user.remove_fov_trait(REF(src), FOV_REVERSE_270_DEGRESS)
/// Called when we're being read and overlays are updated, we should show a big newspaper over the reader
/obj/item/newspaper/proc/holder_updated_overlays(atom/reader, list/overlays)
SIGNAL_HANDLER
- overlays += mutable_appearance(icon, "newspaper_held_over", ABOVE_MOB_LAYER)
- overlays += mutable_appearance(icon, "newspaper_held_under", BELOW_MOB_LAYER)
+ overlays += mutable_appearance(icon, "newspaper_held_over[punctured ? "_holed" : ""]", ABOVE_MOB_LAYER)
+ overlays += mutable_appearance(icon, "newspaper_held_under[punctured ? "_holed" : ""]", BELOW_MOB_LAYER)
+
+/obj/item/newspaper/examine(mob/user)
+ . = ..()
+ if (punctured)
+ . += span_notice("It has a pair of small peek holes punctured near the top.")
+ else
+ . += span_notice("You can cut out some peek holes using something [span_bolditalic("sharp")] or [span_bolditalic("pointy")]...")
/// Called when someone tries to figure out what our identity is, but they can't see it because of the newspaper
/obj/item/newspaper/proc/holder_checked_name(mob/living/carbon/human/source, list/identity)
diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm
index 1e1d4f5fe63..e27af79c89c 100644
--- a/code/game/machinery/pipe/construction.dm
+++ b/code/game/machinery/pipe/construction.dm
@@ -96,7 +96,7 @@ Buildable meters
/obj/item/pipe/quaternary/pipe/crafted/Initialize(mapload, _pipe_type, _dir, obj/machinery/atmospherics/make_from, device_color, device_init_dir = SOUTH)
. = ..()
pipe_type = /obj/machinery/atmospherics/pipe/smart
- pipe_color = COLOR_VERY_LIGHT_GRAY
+ pipe_color = ATMOS_COLOR_OMNI
p_init_dir = ALL_CARDINALS
setDir(SOUTH)
update()
diff --git a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm
index 134fa7731d0..551ea5d519b 100644
--- a/code/game/machinery/recycler.dm
+++ b/code/game/machinery/recycler.dm
@@ -66,7 +66,6 @@
The safety-sensors status light is [obj_flags & EMAGGED ? "off" : "on"]."}
/obj/machinery/recycler/wrench_act(mob/living/user, obj/item/tool)
- . = ..()
default_unfasten_wrench(user, tool)
return ITEM_INTERACT_SUCCESS
@@ -76,16 +75,15 @@
return FAILED_UNFASTEN
return SUCCESSFUL_UNFASTEN
-/obj/machinery/recycler/attackby(obj/item/I, mob/user, params)
- if(default_deconstruction_screwdriver(user, "grinder-oOpen", "grinder-o0", I))
- return
+/obj/machinery/recycler/crowbar_act(mob/living/user, obj/item/tool)
+ if(default_pry_open(tool, close_after_pry = TRUE))
+ return ITEM_INTERACT_SUCCESS
+ return ITEM_INTERACT_BLOCKING
- if(default_pry_open(I, close_after_pry = TRUE))
- return
-
- if(default_deconstruction_crowbar(I))
- return
- return ..()
+/obj/machinery/recycler/screwdriver_act(mob/living/user, obj/item/tool)
+ if(default_deconstruction_screwdriver(user, "grinder-oOpen", "grinder-o0", tool))
+ return ITEM_INTERACT_SUCCESS
+ return ITEM_INTERACT_BLOCKING
/obj/machinery/recycler/emag_act(mob/user, obj/item/card/emag/emag_card)
if(obj_flags & EMAGGED)
diff --git a/code/game/machinery/roulette_machine.dm b/code/game/machinery/roulette_machine.dm
index f0bc48916ae..46ac0b80722 100644
--- a/code/game/machinery/roulette_machine.dm
+++ b/code/game/machinery/roulette_machine.dm
@@ -394,13 +394,13 @@
if(numberleft != 0) //Don't make the number if we are 0.
var/mutable_appearance/number1 = mutable_appearance(icon, "[numberleft]")
- number1.pixel_x = -shift_amount
+ number1.pixel_w = -shift_amount
add_overlay(number1)
else
shift_amount = 0 //We can stay centered.
var/mutable_appearance/number2 = mutable_appearance(icon, "[numberright]")
- number2.pixel_x = shift_amount
+ number2.pixel_w = shift_amount
add_overlay(number2)
/obj/machinery/roulette/proc/handle_color_light(color)
diff --git a/code/game/machinery/sheetifier.dm b/code/game/machinery/sheetifier.dm
index bff759a6c72..815b35213b9 100644
--- a/code/game/machinery/sheetifier.dm
+++ b/code/game/machinery/sheetifier.dm
@@ -63,10 +63,13 @@
default_unfasten_wrench(user, tool)
return ITEM_INTERACT_SUCCESS
-/obj/machinery/sheetifier/attackby(obj/item/I, mob/user, params)
- if(default_deconstruction_screwdriver(user, initial(icon_state), initial(icon_state), I))
+/obj/machinery/sheetifier/screwdriver_act(mob/living/user, obj/item/tool)
+ if(default_deconstruction_screwdriver(user, initial(icon_state), initial(icon_state), tool))
update_appearance()
- return
- if(default_deconstruction_crowbar(I))
- return
- return ..()
+ return ITEM_INTERACT_SUCCESS
+ return ITEM_INTERACT_FAILURE
+
+/obj/machinery/sheetifier/crowbar_act(mob/living/user, obj/item/tool)
+ if(default_deconstruction_crowbar(tool))
+ return ITEM_INTERACT_SUCCESS
+ return ITEM_INTERACT_BLOCKING
diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm
index 76c086edfff..10128355740 100644
--- a/code/game/machinery/spaceheater.dm
+++ b/code/game/machinery/spaceheater.dm
@@ -89,6 +89,11 @@
cell = null
return ..()
+/obj/machinery/space_heater/Exited(atom/movable/gone, direction)
+ . = ..()
+ if(gone == cell)
+ cell = null
+
/obj/machinery/space_heater/examine(mob/user)
. = ..()
. += "\The [src] is [on ? "on" : "off"], and the hatch is [panel_open ? "open" : "closed"]."
@@ -288,7 +293,6 @@
if("eject")
if(panel_open && cell)
usr.put_in_hands(cell)
- cell = null
. = TRUE
/obj/machinery/space_heater/proc/toggle_power(user)
diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm
index 5e8769f5aa0..8a74dbed8e7 100644
--- a/code/game/machinery/syndicatebomb.dm
+++ b/code/game/machinery/syndicatebomb.dm
@@ -40,6 +40,8 @@
var/detonation_timer
/// When do we beep next?
var/next_beep
+ /// If TRUE, more boom wires are added based on the timer set.
+ var/add_boom_wires = TRUE
/// Reference to the bomb core inside the bomb, which is the part that actually explodes.
var/obj/item/bombcore/payload = /obj/item/bombcore/syndicate
/// The countdown that'll show up to ghosts regarding the bomb's timer.
@@ -65,13 +67,7 @@
/obj/machinery/syndicatebomb/process()
if(!active)
- end_processing()
- detonation_timer = null
- next_beep = null
- countdown.stop()
- if(payload in src)
- payload.defuse()
- return
+ return PROCESS_KILL
if(!isnull(next_beep) && (next_beep <= world.time))
var/volume
@@ -226,19 +222,46 @@
countdown.start()
next_beep = world.time + 10
detonation_timer = world.time + (timer_set * 10)
- playsound(loc, 'sound/machines/click.ogg', 30, TRUE)
+ // 2 booms, 0 duds at lowest timer
+ // 12 booms, 6 duds at ~9 minutes
+ var/datum/wires/syndicatebomb/bomb_wires = wires
+ if(add_boom_wires)
+ var/boom_wires = clamp(round(timer_set / 45, 1), 2, 12)
+ var/dud_wires = 0
+ if(boom_wires >= 3)
+ dud_wires = floor(boom_wires / 2)
+ boom_wires -= dud_wires
+ bomb_wires.setup_wires(num_booms = boom_wires, num_duds = dud_wires)
+ else
+ bomb_wires.setup_wires(num_booms = 2, num_duds = 0)
+ playsound(src, 'sound/machines/click.ogg', 30, TRUE)
+ update_appearance()
+
+/obj/machinery/syndicatebomb/proc/defuse()
+ active = FALSE
+ delayedlittle = FALSE
+ delayedbig = FALSE
+ examinable_countdown = TRUE
+ end_processing()
+ detonation_timer = null
+ next_beep = null
+ countdown.stop()
+ if(payload in src)
+ payload.defuse()
+ var/datum/wires/syndicatebomb/bomb_wires = wires
+ bomb_wires.setup_wires(num_booms = 2)
update_appearance()
/obj/machinery/syndicatebomb/proc/settings(mob/user)
if(!user.can_perform_action(src, ALLOW_SILICON_REACH) || !user.can_interact_with(src))
return
- var/new_timer = tgui_input_number(user, "Set the timer", "Countdown", timer_set, maximum_timer, minimum_timer)
+ var/new_timer = tgui_input_number(user, "Set the timer[add_boom_wires ? " (the longer the timer, the harder to defuse!)" : ""]", "Countdown", timer_set, maximum_timer, minimum_timer)
if(!new_timer || QDELETED(user) || QDELETED(src) || !user.can_perform_action(src, FORBID_TELEKINESIS_REACH))
return
timer_set = new_timer
- loc.visible_message(span_notice("[icon2html(src, viewers(src))] timer set for [timer_set] seconds."))
+ visible_message(span_notice("[icon2html(src, viewers(src))] timer set for [timer_set] seconds."))
var/choice = tgui_alert(user, "Would you like to start the countdown now?", "Bomb Timer", list("Yes","No"))
- if(choice != "Yes")
+ if(choice != "Yes" || QDELETED(user) || QDELETED(src) || !user.can_perform_action(src, FORBID_TELEKINESIS_REACH))
return
if(active)
to_chat(user, span_warning("The bomb is already active!"))
@@ -595,6 +618,23 @@
chosen_theme = null
return ..()
+/obj/item/bombcore/dimensional/CheckParts(list/parts_list)
+ . = ..()
+ range_heavy = 13
+ for(var/obj/item/grenade/chem_grenade/nade in src)
+ if(istype(nade, /obj/item/grenade/chem_grenade/large) || istype(nade, /obj/item/grenade/chem_grenade/adv_release))
+ range_heavy += 1
+ for(var/obj/item/thing as anything in nade.beakers) //remove beakers, then delete the grenade.
+ thing.forceMove(drop_location())
+ qdel(nade)
+ var/obj/item/gibtonite/ore = locate() in src
+ switch(ore.quality)
+ if(GIBTONITE_QUALITY_LOW)
+ range_heavy -= 2
+ if(GIBTONITE_QUALITY_HIGH)
+ range_heavy += 4
+ qdel(ore)
+
/obj/item/bombcore/dimensional/examine(mob/user)
. = ..()
. += span_notice("Use in hand to change the linked dimension. Current dimension: [chosen_theme?.name || "None, output will be random"].")
@@ -638,9 +678,9 @@
if(!theme_to_use.can_convert(affected))
continue
num_affected++
- var/skip_sound = TRUE
+ var/skip_sound = FALSE
if(num_affected % 5) //makes it play the sound more sparingly
- skip_sound = FALSE
+ skip_sound = TRUE
var/time_mult = round(get_dist_euclidean(get_turf(src), affected)) + 1
addtimer(CALLBACK(theme_to_use, TYPE_PROC_REF(/datum/dimension_theme, apply_theme), affected, skip_sound, TRUE), 0.1 SECONDS * time_mult)
qdel(src)
diff --git a/code/game/objects/effects/decals/cleanable/misc.dm b/code/game/objects/effects/decals/cleanable/misc.dm
index 65d22c8d856..ecb696f7aea 100644
--- a/code/game/objects/effects/decals/cleanable/misc.dm
+++ b/code/game/objects/effects/decals/cleanable/misc.dm
@@ -64,7 +64,7 @@
/obj/effect/decal/cleanable/dirt
name = "dirt"
desc = "Someone should clean that up."
- icon = 'icons/effects/dirt.dmi'
+ icon = 'icons/effects/dirt_misc.dmi'
icon_state = "dirt-flat-0"
base_icon_state = "dirt"
smoothing_flags = NONE
@@ -72,6 +72,8 @@
canSmoothWith = SMOOTH_GROUP_CLEANABLE_DIRT + SMOOTH_GROUP_WALLS
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
beauty = -75
+ /// Set to FALSE if your dirt has no smoothing sprites
+ var/is_tileable = TRUE
/obj/effect/decal/cleanable/dirt/Initialize(mapload)
. = ..()
@@ -80,7 +82,9 @@
if(!isnull(broken_flooring))
return
var/turf/T = get_turf(src)
- if(T.tiled_dirt)
+ if(T.tiled_dirt && is_tileable)
+ icon = 'icons/effects/dirt.dmi'
+ icon_state = "dirt-0"
smoothing_flags = SMOOTH_BITMASK
QUEUE_SMOOTH(src)
if(smoothing_flags & USES_SMOOTHING)
@@ -96,6 +100,7 @@
desc = "A thin layer of dust coating the floor."
icon_state = "dust"
base_icon_state = "dust"
+ is_tileable = FALSE
/obj/effect/decal/cleanable/dirt/dust/Initialize(mapload)
. = ..()
@@ -529,10 +534,12 @@
/obj/effect/decal/cleanable/fuel_pool/bullet_act(obj/projectile/hit_proj)
. = ..()
ignite()
+ log_combat(hit_proj.firer, src, "used [hit_proj] to ignite")
/obj/effect/decal/cleanable/fuel_pool/attackby(obj/item/item, mob/user, params)
if(item.ignition_effect(src, user))
ignite()
+ log_combat(user, src, "used [item] to ignite")
return ..()
/obj/effect/decal/cleanable/fuel_pool/on_entered(datum/source, atom/movable/entered_atom)
diff --git a/code/game/objects/effects/particle_holder.dm b/code/game/objects/effects/particle_holder.dm
index 4b3d3585ce1..46048c136d1 100644
--- a/code/game/objects/effects/particle_holder.dm
+++ b/code/game/objects/effects/particle_holder.dm
@@ -3,7 +3,7 @@
/obj/effect/abstract/particle_holder
name = "particle holder"
desc = "How are you reading this? Please make a bug report :)"
- appearance_flags = KEEP_APART|KEEP_TOGETHER|TILE_BOUND|PIXEL_SCALE|LONG_GLIDE //movable appearance_flags plus KEEP_APART and KEEP_TOGETHER
+ appearance_flags = KEEP_APART|KEEP_TOGETHER|TILE_BOUND|PIXEL_SCALE|LONG_GLIDE|RESET_COLOR //movable appearance_flags plus KEEP_APART and KEEP_TOGETHER
vis_flags = VIS_INHERIT_PLANE
layer = ABOVE_ALL_MOB_LAYER
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
diff --git a/code/game/objects/effects/phased_mob.dm b/code/game/objects/effects/phased_mob.dm
index 357e9683072..69fe4cb2250 100644
--- a/code/game/objects/effects/phased_mob.dm
+++ b/code/game/objects/effects/phased_mob.dm
@@ -1,16 +1,22 @@
/obj/effect/dummy/phased_mob
- name = "water"
+ name = "ethereal form"
anchored = TRUE
flags_1 = PREVENT_CONTENTS_EXPLOSION_1
resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF | SHUTTLE_CRUSH_PROOF
invisibility = INVISIBILITY_OBSERVER
movement_type = FLOATING
- /// The movable which's jaunting in this dummy
+ /// The movable which is jaunting in this dummy
var/atom/movable/jaunter
/// The delay between moves while jaunted
var/movedelay = 0
/// The speed of movement while jaunted
var/movespeed = 0
+ /// Image we show to our jaunter so they can see where they are
+ var/image/position_indicator
+ /// Icon we draw our position indicator from
+ var/phased_mob_icon = 'icons/obj/weapons/guns/projectiles.dmi'
+ /// Icon state we use for our position indicator
+ var/phased_mob_icon_state = "ice_1"
/obj/effect/dummy/phased_mob/Initialize(mapload, atom/movable/jaunter)
. = ..()
@@ -21,13 +27,25 @@
/obj/effect/dummy/phased_mob/proc/set_jaunter(atom/movable/new_jaunter)
jaunter = new_jaunter
jaunter.forceMove(src)
- if(ismob(jaunter))
- var/mob/mob_jaunter = jaunter
- RegisterSignal(mob_jaunter, COMSIG_MOB_STATCHANGE, PROC_REF(on_stat_change))
- mob_jaunter.reset_perspective(src)
+ if(!ismob(jaunter))
+ return
+ var/mob/mob_jaunter = jaunter
+ position_indicator = image(phased_mob_icon, src, phased_mob_icon_state, ABOVE_LIGHTING_PLANE)
+ position_indicator.appearance_flags |= RESET_ALPHA
+ SET_PLANE_EXPLICIT(position_indicator, ABOVE_LIGHTING_PLANE, src)
+ RegisterSignal(mob_jaunter, COMSIG_MOB_LOGIN, PROC_REF(show_client_image))
+ RegisterSignal(mob_jaunter, COMSIG_MOB_STATCHANGE, PROC_REF(on_stat_change))
+ mob_jaunter.reset_perspective(src)
+ show_client_image(mob_jaunter)
+
+/// Displays our position indicator to a client
+/obj/effect/dummy/phased_mob/proc/show_client_image(mob/show_to)
+ SIGNAL_HANDLER
+ show_to.client?.images |= position_indicator
/obj/effect/dummy/phased_mob/Destroy()
jaunter = null // If a mob was left in the jaunter on qdel, they'll be dumped into nullspace
+ position_indicator = null
return ..()
/// Removes [jaunter] from our phased mob
@@ -57,6 +75,7 @@
. = ..()
if(gone == jaunter)
UnregisterSignal(jaunter, COMSIG_MOB_STATCHANGE)
+ UnregisterSignal(jaunter, COMSIG_MOB_LOGIN)
SEND_SIGNAL(src, COMSIG_MOB_EJECTED_FROM_JAUNT, jaunter)
jaunter = null
diff --git a/code/game/objects/effects/shared_particle_holder.dm b/code/game/objects/effects/shared_particle_holder.dm
index 2fe0c976479..c4b3a21af3c 100644
--- a/code/game/objects/effects/shared_particle_holder.dm
+++ b/code/game/objects/effects/shared_particle_holder.dm
@@ -7,7 +7,7 @@ GLOBAL_LIST_EMPTY(shared_particles)
/obj/effect/abstract/shared_particle_holder
name = "shared particle holder"
desc = "How are you reading this? Please make a bug report :)"
- appearance_flags = KEEP_APART|KEEP_TOGETHER|TILE_BOUND|PIXEL_SCALE|LONG_GLIDE
+ appearance_flags = KEEP_APART|KEEP_TOGETHER|TILE_BOUND|PIXEL_SCALE|LONG_GLIDE|RESET_COLOR
vis_flags = VIS_INHERIT_PLANE
layer = ABOVE_ALL_MOB_LAYER
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
diff --git a/code/game/objects/effects/spawners/random/contraband.dm b/code/game/objects/effects/spawners/random/contraband.dm
index 5b0c78659d5..d49591d368f 100644
--- a/code/game/objects/effects/spawners/random/contraband.dm
+++ b/code/game/objects/effects/spawners/random/contraband.dm
@@ -22,7 +22,7 @@
/obj/item/storage/fancy/cigarettes/cigpack_shadyjims = 10,
/obj/item/storage/box/donkpockets = 10,
/obj/effect/spawner/random/contraband/plus = 10,
- /obj/item/reagent_containers/pill/maintenance = 5,
+ /obj/item/reagent_containers/applicator/pill/maintenance = 5,
/obj/item/survivalcapsule/fishing = 5,
)
diff --git a/code/game/objects/effects/spawners/random/entertainment.dm b/code/game/objects/effects/spawners/random/entertainment.dm
index fa71e104d87..c0380a7e767 100644
--- a/code/game/objects/effects/spawners/random/entertainment.dm
+++ b/code/game/objects/effects/spawners/random/entertainment.dm
@@ -200,7 +200,7 @@
spawn_loot_count = 1
loot = list( // random photos would go here. IF I HAD ONE. :'(
/obj/item/lipstick/random,
- /obj/item/reagent_containers/pill/maintenance,
+ /obj/item/reagent_containers/applicator/pill/maintenance,
/obj/effect/spawner/random/food_or_drink/seed,
/obj/effect/spawner/random/medical/minor_healing,
/obj/effect/spawner/random/medical/injector,
diff --git a/code/game/objects/effects/spawners/random/trash.dm b/code/game/objects/effects/spawners/random/trash.dm
index a6d9bfcc45a..96c4e09c108 100644
--- a/code/game/objects/effects/spawners/random/trash.dm
+++ b/code/game/objects/effects/spawners/random/trash.dm
@@ -36,7 +36,7 @@
/obj/effect/spawner/random/entertainment/money = 10,
/obj/effect/spawner/random/trash/crushed_can = 10,
/obj/item/shard/plasma = 5,
- /obj/item/reagent_containers/pill/maintenance = 5,
+ /obj/item/reagent_containers/applicator/pill/maintenance = 5,
/obj/item/mail/junkmail = 5,
/obj/effect/spawner/random/food_or_drink/snack = 5,
/obj/effect/spawner/random/trash/soap = 3,
diff --git a/code/game/objects/effects/spiderwebs.dm b/code/game/objects/effects/spiderwebs.dm
index 49765c05986..ed3253be9bd 100644
--- a/code/game/objects/effects/spiderwebs.dm
+++ b/code/game/objects/effects/spiderwebs.dm
@@ -32,8 +32,8 @@
take_damage(5, BURN, 0, 0)
/obj/structure/spider/stickyweb
+ layer = ABOVE_OPEN_TURF_LAYER
plane = FLOOR_PLANE
- layer = MID_TURF_LAYER
icon = 'icons/obj/smooth_structures/stickyweb.dmi'
base_icon_state = "stickyweb"
icon_state = "stickyweb-0"
@@ -140,8 +140,8 @@
/obj/structure/spider/stickyweb/very_sticky/update_overlays()
. = ..()
var/mutable_appearance/web_overlay = mutable_appearance(icon = 'icons/effects/web.dmi', icon_state = "sticky_overlay", layer = layer + 1)
- web_overlay.pixel_x -= pixel_x
- web_overlay.pixel_y -= pixel_y
+ web_overlay.pixel_w -= pixel_x
+ web_overlay.pixel_z -= pixel_y
. += web_overlay
@@ -248,8 +248,8 @@
/obj/structure/spider/spikes
name = "web spikes"
desc = "Silk hardened into small yet deadly spikes."
+ layer = ABOVE_OPEN_TURF_LAYER
plane = FLOOR_PLANE
- layer = MID_TURF_LAYER
icon = 'icons/obj/smooth_structures/stickyweb_spikes.dmi'
base_icon_state = "stickyweb_spikes"
icon_state = "stickyweb_spikes-0"
@@ -275,6 +275,6 @@
/obj/structure/spider/effigy/Initialize(mapload)
. = ..()
- AddElement(/datum/element/temporary_atom, 1 MINUTES)
+ fade_into_nothing(1 MINUTES)
#undef SPIDER_WEB_TINT
diff --git a/code/game/objects/effects/temporary_visuals/miscellaneous.dm b/code/game/objects/effects/temporary_visuals/miscellaneous.dm
index 4c263678e68..12330501458 100644
--- a/code/game/objects/effects/temporary_visuals/miscellaneous.dm
+++ b/code/game/objects/effects/temporary_visuals/miscellaneous.dm
@@ -618,8 +618,10 @@
creature_x = creature.x
creature_y = creature.y
- modsuit_image = image(icon = icon, loc = looker.loc, icon_state = real_icon_state, layer = ABOVE_ALL_MOB_LAYER, pixel_x = ((creature.x - looker.x) * 32), pixel_y = ((creature.y - looker.y) * 32))
+ modsuit_image = image(icon = icon, loc = looker.loc, icon_state = real_icon_state, layer = ABOVE_ALL_MOB_LAYER)
modsuit_image.plane = ABOVE_LIGHTING_PLANE
+ modsuit_image.pixel_w = (creature.x - looker.x) * 32
+ modsuit_image.pixel_z = (creature.y - looker.y) * 32
SET_PLANE_EXPLICIT(modsuit_image, ABOVE_LIGHTING_PLANE, creature)
mod_man = WEAKREF(looker)
pinged_person = WEAKREF(creature)
@@ -654,8 +656,8 @@
if(follow_creature)
creature_y = creature.y
creature_x = creature.x
- modsuit_image.pixel_x = ((creature_x - looker.x) * 32)
- modsuit_image.pixel_y = ((creature_y - looker.y) * 32)
+ modsuit_image.pixel_w = ((creature_x - looker.x) * 32)
+ modsuit_image.pixel_z = ((creature_y - looker.y) * 32)
/obj/effect/temp_visual/block //color is white by default, set to whatever is needed
name = "blocking glow"
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index 5ea38eacfea..39591cdb9cd 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -1459,6 +1459,12 @@
to_chat(victim, span_warning("[source_item? "Something strange was in \the [source_item]..." : "I just bit something strange..."] "))
return discover_after
+ var/obj/item/organ/stomach/stomach = victim.get_organ_by_type(/obj/item/organ/stomach)
+ if (stomach?.consume_thing(src))
+ victim.losebreath += 2
+ to_chat(victim, span_warning("You swallow hard. [source_item? "Something small was in \the [source_item]..." : ""]"))
+ return FALSE
+
// victim's chest (for cavity implanting the item)
var/obj/item/bodypart/chest/victim_cavity = victim.get_bodypart(BODY_ZONE_CHEST)
if(victim_cavity.cavity_item)
@@ -1469,7 +1475,6 @@
victim.transferItemToLoc(src, victim, TRUE)
victim.losebreath += 2
- victim_cavity.cavity_item = src
to_chat(victim, span_warning("You swallow hard. [source_item? "Something small was in \the [source_item]..." : ""]"))
return FALSE
@@ -1693,6 +1698,8 @@
var/image/attack_image = isnull(used_item.attack_icon) ? image(icon = used_item) : image(icon = used_item.attack_icon, icon_state = used_item.attack_icon_state)
attack_image.plane = attacked_atom.plane + 1
+ attack_image.pixel_w = used_item.base_pixel_x + used_item.base_pixel_w
+ attack_image.pixel_z = used_item.base_pixel_y + used_item.base_pixel_z
// Scale the icon.
attack_image.transform *= 0.5
// The icon should not rotate.
diff --git a/code/game/objects/items/airlock_painter.dm b/code/game/objects/items/airlock_painter.dm
index ca2d69df168..b28f4b0e91b 100644
--- a/code/game/objects/items/airlock_painter.dm
+++ b/code/game/objects/items/airlock_painter.dm
@@ -400,20 +400,48 @@
list("R&D Purple", "#D381C9"),
)
decal_list = list(
+ //Primary Category
+ list("4 Corners", "tile_fourcorners"),
list("Corner", "tile_corner"),
list("Half", "tile_half_contrasted"),
list("Opposing Corners", "tile_opposing_corners"),
list("3 Corners", "tile_anticorner_contrasted"),
- list("4 Corners", "tile_fourcorners"),
- list("Trimline Corner", "trimline_corner_fill"),
- list("Trimline Fill", "trimline_fill"),
- list("Trimline Fill L", "trimline_fill__8"), // This is a hack that lives in the spritesheet builder and paint_floor
- list("Trimline End", "trimline_end_fill"),
- list("Trimline Box", "trimline_box_fill"),
+ //Trimlines Category
+ list("Trimline Filled Box", "trimline_box_fill"),
+ list("Trimline Filled Corner", "trimline_corner_fill"),
+ list("Trimline Filled", "trimline_fill"),
+ list("Trimline Filled L ", "trimline_fill__8"), // This is a hack that lives in the spritesheet builder and paint_floor
+ list("Trimline Filled End", "trimline_end_fill"),
+ list("Trimline Box", "trimline_box"),
+ list("Trimline Corner", "trimline_corner"),
+ list("Trimline", "trimline"),
+ list("Trimline L ", "trimline__8"),
+ list("Trimline End", "trimline_end"),
+ //A few misc decals to break up the UI a touch
+ list("Diagonal Centre", "diagonal_centre"),
+ list("Diagonal Edge", "diagonal_edge"),
+ list("Full Tile", "tile_full"),
+ list("Full Half", "tile_half"),
+ list("Full Anticorner", "tile_anticorner"),
+ //Decorative Trimlines Category
+ list("Trimline Connector L", "trimline_shrink_cw"),
+ list("Trimline Connector R", "trimline_shrink_ccw"),
+ list("Trimline Arrow L Filled", "trimline_arrow_cw_fill"),
+ list("Trimline Arrow R Filled", "trimline_arrow_ccw_fill"),
+ list("Trimline Warn Filled", "trimline_warn_fill"),
+ list("Trimline Warn Filled L", "trimline_warn_fill__8"),
+ list("Trimline Warn", "trimline_warn"),
+ list("Trimline Warn L", "trimline_warn__8"),
+ list("Trimline Arrow L", "trimline_arrow_cw"),
+ list("Trimline Arrow R", "trimline_arrow_ccw"),
)
nondirectional_decals = list(
"tile_fourcorners",
"trimline_box_fill",
+ "trimline_box",
+ "diagonal_centre",
+ "diagonal_edge",
+ "tile_full",
)
/// Regex to split alpha out.
diff --git a/code/game/objects/items/blueprints.dm b/code/game/objects/items/blueprints.dm
index a1f0001f651..512daefd1e1 100644
--- a/code/game/objects/items/blueprints.dm
+++ b/code/game/objects/items/blueprints.dm
@@ -72,6 +72,7 @@
data["area_notice"] = "You are now in \the [current_area.name]"
var/area/area_inside_of = get_area(user)
data["area_name"] = html_encode(area_inside_of.name)
+ data["area_allows_shuttle_docking"] = area_inside_of.allow_shuttle_docking
data["legend"] = legend_viewing
data["viewing"] = !!viewing
data["wire_data"] = list()
@@ -128,6 +129,11 @@
in_use = TRUE
edit_area(user)
in_use = FALSE
+ if("toggle_allow_shuttle_docking")
+ if(get_area_type(user) != AREA_STATION)
+ return
+ var/area/area = get_area(src)
+ area.allow_shuttle_docking = !area.allow_shuttle_docking
if("exit_legend")
legend_viewing = LEGEND_OFF
if("view_legend")
diff --git a/code/game/objects/items/body_egg.dm b/code/game/objects/items/body_egg.dm
index 40ea0ba37b5..d95a9e2f963 100644
--- a/code/game/objects/items/body_egg.dm
+++ b/code/game/objects/items/body_egg.dm
@@ -11,6 +11,10 @@
..()
to_chat(finder, span_warning("You found an unknown alien organism in [owner]'s [zone]!"))
+/obj/item/organ/body_egg/feel_for_damage(self_aware)
+ // keep these stealthy for now, revisit later
+ return ""
+
/obj/item/organ/body_egg/Initialize(mapload)
. = ..()
if(iscarbon(loc))
diff --git a/code/game/objects/items/busts_and_figurines.dm b/code/game/objects/items/busts_and_figurines.dm
index 53af3228ffd..592302cab67 100644
--- a/code/game/objects/items/busts_and_figurines.dm
+++ b/code/game/objects/items/busts_and_figurines.dm
@@ -128,8 +128,8 @@
/obj/item/maneki_neko/Initialize(mapload)
. = ..()
//Not compatible with greyscale configs because it's animated.
- color = pick_weight(list(COLOR_WHITE = 3, COLOR_GOLD = 2, COLOR_DARK = 1))
- var/mutable_appearance/neko_overlay = mutable_appearance(icon, "maneki-neko-overlay", appearance_flags = RESET_COLOR)
+ add_atom_colour(pick_weight(list(COLOR_WHITE = 3, COLOR_GOLD = 2, COLOR_DARK = 1)), FIXED_COLOUR_PRIORITY)
+ var/mutable_appearance/neko_overlay = mutable_appearance(icon, "maneki-neko-overlay", appearance_flags = RESET_COLOR|KEEP_APART)
add_overlay(neko_overlay)
AddElement(/datum/element/art, GOOD_ART)
AddElement(/datum/element/beauty, 800)
diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm
index 435645d807a..492a2211900 100644
--- a/code/game/objects/items/cards_ids.dm
+++ b/code/game/objects/items/cards_ids.dm
@@ -1281,17 +1281,29 @@
trim = /datum/id_trim/maint_reaper
registered_name = "Thirteen"
+/obj/item/card/id/advanced/platinum
+ name = "platinum identification card"
+ desc = "A platinum card which shows the highest level of dedication."
+ icon_state = "card_platinum"
+ inhand_icon_state = "platinum_id"
+ assigned_icon_state = "assigned_silver"
+ wildcard_slots = WILDCARD_LIMIT_PLATINUM
+
+/obj/item/card/id/advanced/platinum/Initialize(mapload)
+ . = ..()
+ ADD_TRAIT(src, TRAIT_TASTEFULLY_THICK_ID_CARD, INNATE_TRAIT)
+
/obj/item/card/id/advanced/gold
name = "gold identification card"
desc = "A golden card which shows power and might."
icon_state = "card_gold"
inhand_icon_state = "gold_id"
- assigned_icon_state = "assigned_gold"
+ assigned_icon_state = "assigned_silver"
wildcard_slots = WILDCARD_LIMIT_GOLD
/obj/item/card/id/advanced/gold/Initialize(mapload)
. = ..()
- ADD_TRAIT(src, TRAIT_TASTEFULLY_THICK_ID_CARD, ROUNDSTART_TRAIT)
+ ADD_TRAIT(src, TRAIT_TASTEFULLY_THICK_ID_CARD, INNATE_TRAIT)
/obj/item/card/id/advanced/gold/captains_spare
name = "captain's spare ID"
diff --git a/code/game/objects/items/cigarettes.dm b/code/game/objects/items/cigarettes.dm
index 208f84838f2..f2f64f7e28c 100644
--- a/code/game/objects/items/cigarettes.dm
+++ b/code/game/objects/items/cigarettes.dm
@@ -460,10 +460,41 @@ CIGARETTE PACKETS ARE IN FANCY.DM
QDEL_NULL(mob_smoke)
/obj/item/cigarette/proc/long_exhale(mob/living/carbon/smoker)
- smoker.visible_message(
- span_notice("[smoker] exhales a large cloud of smoke from [src]."),
- span_notice("You exhale a large cloud of smoke from [src]."),
- )
+ // Find a mob to blow smoke at
+ var/mob/living/guy_infront
+ for(var/mob/living/guy in get_step(smoker, smoker.dir))
+ // one of you has to get on the other's level
+ if(guy.body_position != smoker.body_position)
+ continue
+ // ensures we're face to face
+ if(!(REVERSE_DIR(guy.dir) & smoker.dir))
+ continue
+ guy_infront = guy
+ // in case we get a living first, we wanna prioritize humans
+ if(ishuman(guy_infront))
+ break
+
+ if(isnull(guy_infront))
+ smoker.visible_message(
+ span_notice("[smoker] exhales a large cloud of smoke from [src]."),
+ span_notice("You exhale a large cloud of smoke from [src]."),
+ )
+
+ else if(ishuman(guy_infront) && guy_infront.get_bodypart(BODY_ZONE_HEAD) && !guy_infront.is_pepper_proof())
+ guy_infront.visible_message(
+ span_notice("[smoker] exhales a large cloud of smoke from [src] directly at [guy_infront]'s face!"),
+ span_notice("You exhale a large cloud of smoke from [src] directly at [guy_infront]'s face."),
+ ignored_mobs = guy_infront,
+ )
+ to_chat(guy_infront, span_warning("You get a face full of smoke from [smoker]'s [name]!"))
+ smoke_in_face(guy_infront)
+
+ else
+ guy_infront.visible_message(
+ span_notice("[smoker] exhales a large cloud of smoke from [src] at [guy_infront]."),
+ span_notice("You exhale a large cloud of smoke from [src] at [guy_infront]."),
+ )
+
if(!isturf(smoker.loc))
return
@@ -471,6 +502,12 @@ CIGARETTE PACKETS ARE IN FANCY.DM
update_particle_position(big_smoke, smoker.dir)
QDEL_IN(big_smoke, big_smoke.particles.lifespan)
+/// Called when a mob gets smoke blown in their face.
+/obj/item/cigarette/proc/smoke_in_face(mob/living/getting_smoked)
+ getting_smoked.add_mood_event("smoke_bm", /datum/mood_event/smoke_in_face)
+ if(prob(20) && !HAS_TRAIT(getting_smoked, TRAIT_SMOKER) && !HAS_TRAIT(getting_smoked, TRAIT_ANOSMIA))
+ getting_smoked.emote("cough")
+
/// Handles processing the reagents in the cigarette.
/obj/item/cigarette/proc/handle_reagents(seconds_per_tick)
if(!reagents.total_volume)
@@ -624,6 +661,11 @@ CIGARETTE PACKETS ARE IN FANCY.DM
lung_harm = 1.5
list_reagents = list(/datum/reagent/drug/nicotine = 10, /datum/reagent/medicine/omnizine = 15)
+/obj/item/cigarette/syndicate/smoke_in_face(mob/living/getting_smoked)
+ . = ..()
+ getting_smoked.adjust_eye_blur(6 SECONDS)
+ getting_smoked.adjust_temp_blindness(2 SECONDS)
+
/obj/item/cigarette/shadyjims
desc = "A Shady Jim's Super Slims cigarette."
lung_harm = 1.5
diff --git a/code/game/objects/items/control_wand.dm b/code/game/objects/items/control_wand.dm
index 9734661e88f..a1a0c3abe39 100644
--- a/code/game/objects/items/control_wand.dm
+++ b/code/game/objects/items/control_wand.dm
@@ -16,15 +16,42 @@
var/department = "civilian"
var/mode = WAND_OPEN
var/region_access = REGION_GENERAL
- var/list/access_list
+ var/list/access_list = list()
+ // the trim of the owner of this remote, if applied
+ var/datum/id_trim/job/owner_trim = null
+ // areas that this remote is the exclusive owner of
+ var/list/area/our_domain = null
+ // areas specifically considered as restricted from a remote
+ // accessing them unless specifically allowed (vault, security, etc)
+ var/static/list/area/restricted_areas = list(
+ /area/station/command/bridge, /*so Captain's remote isn't totally useless*/
+ /area/station/security, /*so antag RD/HoP/QM/CMO can't easily screw up the brig doors*/
+ /area/station/ai_monitored/command/nuke_storage, /*aka Vault since it's QM's special thing*/
+ /area/station/ai_monitored/turret_protected/ai, // these are areas exclusive to RD
+ /area/station/ai_monitored/turret_protected/ai_upload_foyer, // but sometimes mappers might misconfig
+ /area/station/ai_monitored/turret_protected/ai_upload, // their doors with our several dozen access helpers
+ )
/obj/item/door_remote/Initialize(mapload)
. = ..()
- access_list = SSid_access.get_region_access_list(list(region_access))
update_icon_state()
+ // initialize late to make sure job accesses are fully configured
+ return INITIALIZE_HINT_LATELOAD
+
+/obj/item/door_remote/LateInitialize()
+ access_list = SSid_access.get_region_access_list(list(region_access))
+ if(!isnull(owner_trim))
+ var/datum/id_trim/job/trim_singlet = SSid_access.trim_singletons_by_path[owner_trim]
+ access_list |= trim_singlet.access
+
+/obj/item/door_remote/proc/is_my_domain(area/restricted_area)
+ for(var/area/dominion as anything in our_domain)
+ if(istype(restricted_area, dominion))
+ return TRUE
+ return FALSE
/obj/item/door_remote/attack_self(mob/user)
- var/static/list/desc = list(WAND_OPEN = "Open Door", WAND_BOLT = "Toggle Bolts", WAND_EMERGENCY = "Toggle Emergency Access")
+ var/static/list/ops = list(WAND_OPEN = "Open Door", WAND_BOLT = "Toggle Bolts", WAND_EMERGENCY = "Toggle Emergency Access")
switch(mode)
if(WAND_OPEN)
mode = WAND_BOLT
@@ -33,13 +60,84 @@
if(WAND_EMERGENCY)
mode = WAND_OPEN
update_icon_state()
- balloon_alert(user, "mode: [desc[mode]]")
+ balloon_alert(user, "mode: [ops[mode]]")
/obj/item/door_remote/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers)
if(!istype(interacting_with, /obj/machinery/door) && !isturf(interacting_with))
return NONE
return ranged_interact_with_atom(interacting_with, user, modifiers)
+/obj/item/door_remote/omni
+ name = "omni door remote"
+ desc = "This control wand can access any door on the station."
+ department = "omni"
+ region_access = REGION_ALL_STATION
+ our_domain = list( /area/station )
+
+/obj/item/door_remote/captain
+ name = "command door remote"
+ desc = "A remote for controlling a set of airlocks. Despite its gaudy insignia denoting the Captain as its owner, some fine print\
+ indicates that its access is exclusively relegated to the Bridge and high-security command areas -- an additional byline\
+ specifically excludes Security from the high-security areas. Ironic."
+ department = "command"
+ region_access = REGION_COMMAND
+ our_domain = list(
+ /area/station, // still restricted by limited accesses in REGION_COMMAND
+ )
+
+/obj/item/door_remote/chief_engineer
+ name = "engineering door remote"
+ desc = "A remote for controlling a set of airlocks. This one smells like burnt flesh and ozone."
+ department = "engi"
+ region_access = REGION_ENGINEERING
+ owner_trim = /datum/id_trim/job/chief_engineer
+ // doesn't need a domain because their specific high-security areas aren't on anyone else's trim but cap
+
+/obj/item/door_remote/research_director
+ name = "research director's door remote"
+ desc = "A remote for controlling a set of airlocks. This one is slightly misshapen, as if squeezed by a person possessing ludicrous strength."
+ department = "sci"
+ region_access = REGION_RESEARCH
+ owner_trim = /datum/id_trim/job/research_director
+ our_domain = list(
+ /area/station/ai_monitored/turret_protected/ai,
+ /area/station/ai_monitored/turret_protected/ai_upload_foyer,
+ /area/station/ai_monitored/turret_protected/ai_upload,
+ )
+
+/obj/item/door_remote/head_of_security
+ name = "security door remote"
+ desc = "A remote for controlling a set of airlocks. This one smells like sweat, blood, resentment, and coffee.\
+ Someone appears to have tampered with the identifier."
+ department = "security"
+ region_access = REGION_SECURITY
+ owner_trim = /datum/id_trim/job/head_of_security
+ our_domain = list( /area/station/security )
+
+/obj/item/door_remote/quartermaster
+ name = "quartermaster's door remote"
+ desc = "Remotely controls airlocks. This remote has additional Vault access. Despite that, holding it makes you feel insecure for some reason."
+ department = "cargo"
+ region_access = REGION_SUPPLY
+ owner_trim = /datum/id_trim/job/quartermaster
+ our_domain = list( /area/station/ai_monitored/command/nuke_storage )
+
+/obj/item/door_remote/chief_medical_officer
+ name = "chief medical officer's door remote"
+ desc = "A remote for controlling a set of airlocks. It has the overpowering odor of blood and, despite its medical insignia,\
+ has absolutely no accompanying odor of disinfectant."
+ department = "med"
+ region_access = REGION_MEDBAY
+ owner_trim = /datum/id_trim/job/chief_medical_officer
+
+/obj/item/door_remote/head_of_personnel
+ name = "head of personnel's door remote"
+ desc = "A remote for controlling a set of airlocks. This one smells like printer ink, and fills its holder with the urge\
+ to mysteriously vanish."
+ department = "civilian"
+ region_access = REGION_GENERAL
+ owner_trim = /datum/id_trim/job/head_of_personnel
+
/obj/item/door_remote/ranged_interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers)
var/obj/machinery/door/door
@@ -61,6 +159,11 @@
interacting_with.balloon_alert(user, "can't access!")
return ITEM_INTERACT_BLOCKING
+ var/area/door_area = get_area(door)
+ if(is_type_in_list(door_area, restricted_areas) && !is_my_domain(get_area(door)))
+ interacting_with.balloon_alert(user, "can't access!")
+ return ITEM_INTERACT_BLOCKING
+
var/obj/machinery/door/airlock/airlock = door
if (!door.hasPower() || (istype(airlock) && !airlock.canAIControl()))
@@ -107,48 +210,6 @@
icon_state = "[base_icon_state]_[department]_[icon_state_mode]"
return ..()
-/obj/item/door_remote/omni
- name = "omni door remote"
- desc = "This control wand can access any door on the station."
- department = "omni"
- region_access = REGION_ALL_STATION
-
-/obj/item/door_remote/captain
- name = "command door remote"
- department = "command"
- region_access = REGION_COMMAND
-
-/obj/item/door_remote/chief_engineer
- name = "engineering door remote"
- department = "engi"
- region_access = REGION_ENGINEERING
-
-/obj/item/door_remote/research_director
- name = "research door remote"
- department = "sci"
- region_access = REGION_RESEARCH
-
-/obj/item/door_remote/head_of_security
- name = "security door remote"
- department = "security"
- region_access = REGION_SECURITY
-
-/obj/item/door_remote/quartermaster
- name = "supply door remote"
- desc = "Remotely controls airlocks. This remote has additional Vault access."
- department = "cargo"
- region_access = REGION_SUPPLY
-
-/obj/item/door_remote/chief_medical_officer
- name = "medical door remote"
- department = "med"
- region_access = REGION_MEDBAY
-
-/obj/item/door_remote/civilian
- name = "civilian door remote"
- department = "civilian"
- region_access = REGION_GENERAL
-
#undef WAND_OPEN
#undef WAND_BOLT
#undef WAND_EMERGENCY
diff --git a/code/game/objects/items/cosmetics.dm b/code/game/objects/items/cosmetics.dm
index cce0f98a756..6f66045f393 100644
--- a/code/game/objects/items/cosmetics.dm
+++ b/code/game/objects/items/cosmetics.dm
@@ -1,7 +1,3 @@
-#define UPPER_LIP "Upper"
-#define MIDDLE_LIP "Middle"
-#define LOWER_LIP "Lower"
-
/obj/item/lipstick
gender = PLURAL
name = "red lipstick"
@@ -344,7 +340,3 @@
/obj/item/razor/surgery/get_surgery_tool_overlay(tray_extended)
return "razor"
-
-#undef UPPER_LIP
-#undef MIDDLE_LIP
-#undef LOWER_LIP
diff --git a/code/game/objects/items/crab17.dm b/code/game/objects/items/crab17.dm
index 09ebaf655b7..41d01aa1763 100644
--- a/code/game/objects/items/crab17.dm
+++ b/code/game/objects/items/crab17.dm
@@ -128,10 +128,10 @@
return
playsound(src,'sound/machines/beep/twobeep.ogg',50,FALSE)
var/mutable_appearance/hologram = mutable_appearance(icon, "hologram")
- hologram.pixel_y = 16
+ hologram.pixel_z = 16
add_overlay(hologram)
var/mutable_appearance/holosign = mutable_appearance(icon, "holosign")
- holosign.pixel_y = 16
+ holosign.pixel_z = 16
add_overlay(holosign)
add_overlay("legs_extending")
cut_overlay("legs_retracted")
diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm
index 6aa40358304..87465326e1f 100644
--- a/code/game/objects/items/devices/flashlight.dm
+++ b/code/game/objects/items/devices/flashlight.dm
@@ -35,6 +35,8 @@
var/sound_off = 'sound/items/weapons/magout.ogg'
/// Should the flashlight start turned on?
var/start_on = FALSE
+ /// When true, painting the flashlight won't change its light color
+ var/ignore_base_color = FALSE
/obj/item/flashlight/Initialize(mapload)
. = ..()
@@ -292,6 +294,16 @@
COOLDOWN_START(src, disabled_time, disrupt_duration)
return TRUE
+/obj/item/flashlight/update_atom_colour()
+ . = ..()
+ if (ignore_base_color)
+ return
+ var/list/applied_matrix = cached_color_filter
+ if (!applied_matrix)
+ applied_matrix = color_transition_filter(color, SATURATION_OVERRIDE)
+ var/new_light_color = apply_matrix_to_color(initial(light_color), applied_matrix["color"], applied_matrix["space"] || COLORSPACE_RGB)
+ set_light_color(new_light_color)
+
/obj/item/flashlight/pen
name = "penlight"
desc = "A pen-sized light, used by medical staff. It can also be used to create a hologram to alert people of incoming medical assistance."
@@ -692,7 +704,6 @@
name = "jade lantern"
desc = "An ornate, green lantern."
color = LIGHT_COLOR_GREEN
- light_color = LIGHT_COLOR_GREEN
/obj/item/flashlight/lantern/jade/on
start_on = TRUE
@@ -785,6 +796,7 @@
grind_results = list(/datum/reagent/phenol = 15, /datum/reagent/hydrogen = 10, /datum/reagent/oxygen = 5) //Meth-in-a-stick
sound_on = 'sound/effects/wounds/crack2.ogg' // the cracking sound isn't just for wounds silly
toggle_context = FALSE
+ ignore_base_color = TRUE
/// How much max fuel we have
var/max_fuel = 0
/// How much oxygen gets added upon cracking the stick. Doesn't actually produce a reaction with the fluid but it does allow for bootleg chemical "grenades"
@@ -982,16 +994,21 @@
/obj/item/flashlight/flashdark
name = "flashdark"
- desc = "A strange device manufactured with mysterious elements that somehow emits darkness. Or maybe it just sucks in light? Nobody knows for sure."
+ desc = "A powerful antiphoton projector, capable of projecting a bubble of darkness around the user."
icon_state = "flashdark"
inhand_icon_state = "flashdark"
light_system = COMPLEX_LIGHT //The overlay light component is not yet ready to produce darkness.
light_range = 0
+ light_color = COLOR_WHITE
///Variable to preserve old lighting behavior in flashlights, to handle darkness.
- var/dark_light_range = 2.5
+ var/dark_light_range = 3.5
///Variable to preserve old lighting behavior in flashlights, to handle darkness.
var/dark_light_power = -3
+/obj/item/flashlight/flashdark/Initialize(mapload)
+ . = ..()
+ AddComponent(/datum/component/overlay_lighting, dark_light_range, dark_light_power, force = TRUE)
+
/obj/item/flashlight/flashdark/update_brightness()
. = ..()
set_light(dark_light_range, dark_light_power)
diff --git a/code/game/objects/items/devices/laserpointer.dm b/code/game/objects/items/devices/laserpointer.dm
index 50f8366f61c..5d798c81212 100644
--- a/code/game/objects/items/devices/laserpointer.dm
+++ b/code/game/objects/items/devices/laserpointer.dm
@@ -295,12 +295,12 @@
var/mutable_appearance/laser = mutable_appearance('icons/obj/weapons/guns/projectiles.dmi', pointer_icon_state)
if(modifiers)
if(LAZYACCESS(modifiers, ICON_X))
- laser.pixel_x = (text2num(LAZYACCESS(modifiers, ICON_X)) - 16)
+ laser.pixel_w = (text2num(LAZYACCESS(modifiers, ICON_X)) - 16)
if(LAZYACCESS(modifiers, ICON_Y))
- laser.pixel_y = (text2num(LAZYACCESS(modifiers, ICON_Y)) - 16)
+ laser.pixel_z = (text2num(LAZYACCESS(modifiers, ICON_Y)) - 16)
else
- laser.pixel_x = target.pixel_x + rand(-5,5)
- laser.pixel_y = target.pixel_y + rand(-5,5)
+ laser.pixel_w = target.pixel_w + rand(-5,5)
+ laser.pixel_z = target.pixel_z + rand(-5,5)
if(outmsg)
user.visible_message(span_danger("[user] points [src] at [target]!"), outmsg) //SKYRAT EDIT CHANGE - ORIGINAL: to_chat(user, outmsg)
diff --git a/code/game/objects/items/devices/mulligan_kit.dm b/code/game/objects/items/devices/mulligan_kit.dm
new file mode 100644
index 00000000000..2f1cb2b8972
--- /dev/null
+++ b/code/game/objects/items/devices/mulligan_kit.dm
@@ -0,0 +1,122 @@
+/obj/item/fake_identity_kit
+ name = "fake identity kit"
+ desc = "All of the paperwork you need to get a fresh start and a perfect alibi, plus a little digital assistance to insert you into crew records."
+ icon = 'icons/obj/service/bureaucracy.dmi'
+ icon_state = "docs_mulligan"
+ w_class = WEIGHT_CLASS_TINY
+ interaction_flags_click = NEED_LITERACY|NEED_LIGHT|NEED_DEXTERITY|NEED_HANDS|ALLOW_RESTING
+ /// What do we set up our "new arrival" as?
+ var/assigned_job = JOB_ASSISTANT
+
+/obj/item/fake_identity_kit/examine_more(mob/user)
+ . = ..()
+ . += span_info("Using this kit after exposure to Mulligan serum will create a fake identity for your new appearance.")
+ . += span_info("This will add you to various station manifests, create an Assistant-level ID card, and announce your arrival over the radio.")
+
+/obj/item/fake_identity_kit/attack_self(mob/living/carbon/human/user, modifiers)
+ . = ..()
+ if (!ishuman(user))
+ balloon_alert(user, "can't pass as employee!")
+ return
+ if (find_record(user.real_name))
+ balloon_alert(user, "records already exist!")
+ return
+
+ user.temporarilyRemoveItemFromInventory(src)
+ user.playsound_local(user, 'sound/items/cards/cardshuffle.ogg', 50, TRUE)
+
+ var/obj/item/card/id/advanced/original_id = user.get_idcard(hand_first = FALSE)
+ if (original_id)
+ user.temporarilyRemoveItemFromInventory(original_id)
+
+ var/datum/job/job = SSjob.get_job(assigned_job)
+ user.mind.set_assigned_role(job)
+
+ var/datum/outfit/job_outfit = job.outfit
+ var/id_trim = job_outfit::id_trim
+ var/obj/item/card/id/advanced/fake_id = new()
+
+ if (id_trim)
+ SSid_access.apply_trim_to_card(fake_id, id_trim)
+ shuffle_inplace(fake_id.access)
+
+ fake_id.registered_name = user.real_name
+ if(user.age)
+ fake_id.registered_age = user.age
+ fake_id.update_label()
+ fake_id.update_icon()
+
+ var/placed_in = user.equip_in_one_of_slots(fake_id, list(
+ LOCATION_ID = ITEM_SLOT_ID,
+ LOCATION_LPOCKET = ITEM_SLOT_LPOCKET,
+ LOCATION_RPOCKET = ITEM_SLOT_RPOCKET,
+ LOCATION_BACKPACK = ITEM_SLOT_BACKPACK,
+ LOCATION_HANDS = ITEM_SLOT_HANDS,
+ ), qdel_on_fail = FALSE, indirect_action = TRUE)
+ if (isnull(placed_in))
+ fake_id.forceMove(user.drop_location())
+ to_chat(user, span_warning("You drop your new ID card on the ground."))
+ else
+ to_chat(user, span_notice("You quickly put your new ID card [placed_in]."))
+
+ user.sec_hud_set_ID()
+
+ var/mob/living/carbon/human/dummy/consistent/dummy = new() // For manifest rendering, unfortunately
+ dummy.physique = user.physique
+ user.dna.transfer_identity(dummy, transfer_SE = TRUE)
+ user.copy_clothing_prefs(dummy)
+ dummy.updateappearance(icon_update = TRUE, mutcolor_update = TRUE, mutations_overlay_update = TRUE)
+ dummy.dress_up_as_job(job, visual_only = TRUE, player_client = user.client)
+
+ GLOB.manifest.inject(user, appearance_proxy = dummy)
+ QDEL_NULL(dummy)
+
+ if (original_id)
+ var/returned_to = user.equip_in_one_of_slots(original_id, list(
+ LOCATION_BACKPACK = ITEM_SLOT_BACKPACK,
+ LOCATION_LPOCKET = ITEM_SLOT_LPOCKET,
+ LOCATION_RPOCKET = ITEM_SLOT_RPOCKET,
+ LOCATION_HANDS = ITEM_SLOT_HANDS,
+ ), qdel_on_fail = FALSE, indirect_action = TRUE)
+ if (isnull(returned_to))
+ fake_id.forceMove(user.drop_location())
+ to_chat(user, span_warning("You drop your old ID card on the ground."))
+ else
+ to_chat(user, span_notice("You stash your old ID card [returned_to]."))
+
+ var/obj/item/arrival_announcer/announcer = new(user.drop_location())
+ user.put_in_hands(announcer)
+ to_chat(user, span_notice("You quickly eat the leftover paperwork, leaving only the signaller used to announce your arrival on the station."))
+ qdel(src)
+
+/obj/item/arrival_announcer
+ name = "arrivals announcement signaller"
+ desc = "A radio signaller which uses a backdoor in the NT announcement system to trigger a fake announcement that you have just arrived there, then self-destructs."
+ icon_state = "signaller"
+ inhand_icon_state = "signaler"
+ icon = 'icons/obj/devices/new_assemblies.dmi'
+ lefthand_file = 'icons/mob/inhands/items/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/items/devices_righthand.dmi'
+ interaction_flags_click = NEED_DEXTERITY|NEED_HANDS|ALLOW_RESTING
+
+/obj/item/arrival_announcer/attack_self(mob/living/user, modifiers)
+ . = ..()
+ if (!isliving(user))
+ return
+
+ var/name = user.real_name
+ var/datum/record/manifest_data = find_record(name)
+ if (isnull(manifest_data))
+ balloon_alert(user, "no records found!")
+ return
+ var/job = manifest_data.rank
+ if (tgui_alert(user, "Announce arrival of [name] as [job]?", "Are you ready?", list("Yes", "No"), timeout = 30 SECONDS) != "Yes")
+ return
+ if (QDELETED(src) || !user.can_perform_action(src, interaction_flags_click))
+ return
+
+ announce_arrival(user, job, announce_to_ghosts = FALSE)
+ do_sparks(1, FALSE, user)
+ new /obj/effect/decal/cleanable/ash(user.drop_location())
+ user.temporarilyRemoveItemFromInventory(src)
+ qdel(src)
diff --git a/code/game/objects/items/devices/pressureplates.dm b/code/game/objects/items/devices/pressureplates.dm
index ea27894d829..d75682d72a4 100644
--- a/code/game/objects/items/devices/pressureplates.dm
+++ b/code/game/objects/items/devices/pressureplates.dm
@@ -7,8 +7,8 @@
lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
icon_state = "pressureplate"
+ layer = ABOVE_OPEN_TURF_LAYER
plane = FLOOR_PLANE
- layer = HIGH_TURF_LAYER
var/trigger_mob = TRUE
var/trigger_item = FALSE
var/specific_item = null
diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm
index 2eab06806dd..41ff2d379ff 100644
--- a/code/game/objects/items/devices/radio/encryptionkey.dm
+++ b/code/game/objects/items/devices/radio/encryptionkey.dm
@@ -3,6 +3,8 @@
desc = "An encryption key for a radio headset."
icon = 'icons/obj/devices/circuitry_n_data.dmi'
icon_state = "cypherkey_basic"
+ icon_preview = 'icons/obj/fluff/previews.dmi'
+ icon_state_preview = "cypherkey"
w_class = WEIGHT_CLASS_TINY
/// What channels does this encryption key grant to the parent headset.
var/list/channels = list()
diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm
index 433df9869d2..d624288703e 100644
--- a/code/game/objects/items/devices/taperecorder.dm
+++ b/code/game/objects/items/devices/taperecorder.dm
@@ -36,7 +36,6 @@
mytape = new starting_tape_type(src)
soundloop = new(src)
update_appearance()
- become_hearing_sensitive()
/obj/item/taperecorder/Destroy()
QDEL_NULL(soundloop)
@@ -156,12 +155,11 @@
/obj/item/taperecorder/Hear(message, atom/movable/speaker, message_langs, raw_message, radio_freq, spans, list/message_mods = list(), message_range)
. = ..()
- if(message_mods[MODE_RELAY])
+ if(message_mods[MODE_RELAY] || !mytape || istype(speaker, /obj/item/taperecorder))
return
- if(mytape && recording)
- mytape.timestamp += mytape.used_capacity
- mytape.storedinfo += "\[[time2text(mytape.used_capacity,"mm:ss")]\] [speaker.GetVoice()]: [raw_message]"
+ mytape.timestamp += mytape.used_capacity
+ mytape.storedinfo += "\[[time2text(mytape.used_capacity,"mm:ss")]\] [speaker.GetVoice()]: [raw_message]"
/obj/item/taperecorder/verb/record()
@@ -185,6 +183,7 @@
if(mytape.used_capacity < mytape.max_capacity)
recording = TRUE
+ become_hearing_sensitive()
balloon_alert(usr, "started recording")
update_sound()
update_appearance()
@@ -218,6 +217,7 @@
playsound(src, 'sound/items/taperecorder/taperecorder_stop.ogg', 50, FALSE)
balloon_alert(usr, "stopped recording")
recording = FALSE
+ lose_hearing_sensitivity()
else if(playing)
playsound(src, 'sound/items/taperecorder/taperecorder_stop.ogg', 50, FALSE)
balloon_alert(usr, "stopped playing")
@@ -267,7 +267,7 @@
playsleepseconds = 1
sleep(1 SECONDS)
else
- playsleepseconds = mytape.timestamp[i + 1] - mytape.timestamp[i]
+ playsleepseconds = max(mytape.timestamp[i + 1] - mytape.timestamp[i], 1 SECONDS)
if(playsleepseconds > 14 SECONDS)
sleep(1 SECONDS)
say("Skipping [playsleepseconds/10] seconds of silence.", message_mods = list(MODE_SEQUENTIAL = TRUE))
diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm
index 91a8a066661..2fb6de0c03e 100644
--- a/code/game/objects/items/devices/traitordevices.dm
+++ b/code/game/objects/items/devices/traitordevices.dm
@@ -327,7 +327,14 @@ effective or pretty fucking useless.
icon = 'icons/obj/devices/syndie_gadget.dmi'
icon_state = "jammer"
var/active = FALSE
+
+ /// The range of devices to disable while active
var/range = 12
+
+ /// The range of the disruptor wave, disabling radios
+ var/disruptor_range = 7
+
+ /// The delay between using the disruptor wave
var/jam_cooldown_duration = 15 SECONDS
COOLDOWN_DECLARE(jam_cooldown)
@@ -348,7 +355,7 @@ effective or pretty fucking useless.
user.balloon_alert(user, "disruptor wave released!")
to_chat(user, span_notice("You release a disruptor wave, disabling all nearby radio devices."))
- for (var/atom/potential_owner in view(7, user))
+ for (var/atom/potential_owner in view(disruptor_range, user))
disable_radios_on(potential_owner, ignore_syndie = TRUE)
COOLDOWN_START(src, jam_cooldown, jam_cooldown_duration)
@@ -372,7 +379,7 @@ effective or pretty fucking useless.
if(. & ITEM_INTERACT_ANY_BLOCKER)
return
- if (!(interacting_with in view(7, user)))
+ if (!(interacting_with in view(disruptor_range, user)))
user.balloon_alert(user, "out of reach!")
return
@@ -392,6 +399,16 @@ effective or pretty fucking useless.
GLOB.active_jammers -= src
return ..()
+/obj/item/jammer/makeshift
+ name = "makeshift radio jammer"
+ desc = "A jury-rigged device that disrupts nearby radio communication. Its crude construction provides a significantly smaller area of effect compared to its Syndicate counterpart."
+ range = 5
+ disruptor_range = 3
+
+/obj/item/jammer/makeshift/Initialize(mapload)
+ . = ..()
+ ADD_TRAIT(src, TRAIT_CONTRABAND, INNATE_TRAIT)
+
/obj/item/storage/toolbox/emergency/turret
desc = "You feel a strange urge to hit this with a wrench."
diff --git a/code/game/objects/items/etherealdiscoball.dm b/code/game/objects/items/etherealdiscoball.dm
index 4eca1dc2fc0..d26b8cd7ec5 100644
--- a/code/game/objects/items/etherealdiscoball.dm
+++ b/code/game/objects/items/etherealdiscoball.dm
@@ -72,6 +72,4 @@
/obj/structure/etherealball/update_overlays()
. = ..()
- var/mutable_appearance/base_overlay = mutable_appearance(icon, "ethdisco_base")
- base_overlay.appearance_flags = RESET_COLOR
- . += base_overlay
+ . += mutable_appearance(icon, "ethdisco_base", appearance_flags = RESET_COLOR|KEEP_APART)
diff --git a/code/game/objects/items/flatpacks.dm b/code/game/objects/items/flatpacks.dm
index 054d51e6c15..52dd66c62de 100644
--- a/code/game/objects/items/flatpacks.dm
+++ b/code/game/objects/items/flatpacks.dm
@@ -125,7 +125,7 @@
var/offset = 0
for(var/item in contents)
var/mutable_appearance/flatpack_overlay = mutable_appearance(icon, "flatcart_flat", layer = layer + (offset * 0.01))
- flatpack_overlay.pixel_y = offset
+ flatpack_overlay.pixel_z = offset
offset += 4
. += flatpack_overlay
diff --git a/code/game/objects/items/food/_food.dm b/code/game/objects/items/food/_food.dm
index 85f6ae71732..091c8a9949a 100644
--- a/code/game/objects/items/food/_food.dm
+++ b/code/game/objects/items/food/_food.dm
@@ -122,3 +122,19 @@
AddComponent(/datum/component/germ_sensitive, mapload)
if(!preserved_food)
AddComponent(/datum/component/decomposition, mapload, decomp_req_handle, decomp_flags = foodtypes, decomp_result = decomp_type, ant_attracting = ant_attracting, custom_time = decomposition_time, stink_particles = decomposition_particles)
+
+/obj/item/food/CheckParts(list/parts, datum/crafting_recipe/food/current_recipe)
+ . = ..()
+ if(!istype(current_recipe))
+ return
+
+ var/made_with_food = FALSE
+ var/final_foodtypes = current_recipe.added_foodtypes
+ for(var/obj/item/food/ingredient in parts)
+ made_with_food = TRUE
+ final_foodtypes |= ingredient.foodtypes
+ if(!made_with_food)
+ return
+ final_foodtypes &= ~current_recipe.removed_foodtypes
+ ///Update the foodtypes
+ AddComponentFrom(SOURCE_EDIBLE_INNATE, /datum/component/edible, foodtypes = final_foodtypes)
diff --git a/code/game/objects/items/food/bread.dm b/code/game/objects/items/food/bread.dm
index 56ebddc23d8..24435f799cd 100644
--- a/code/game/objects/items/food/bread.dm
+++ b/code/game/objects/items/food/bread.dm
@@ -104,7 +104,7 @@
/datum/reagent/consumable/nutriment/protein = 12,
)
tastes = list("bread" = 10, "meat" = 10)
- foodtypes = GRAIN | MEAT
+ foodtypes = GRAIN | MEAT | DAIRY
venue_value = FOOD_PRICE_CHEAP
slice_type = /obj/item/food/breadslice/meat
crafting_complexity = FOOD_COMPLEXITY_3
@@ -119,7 +119,7 @@
/datum/reagent/consumable/nutriment/protein = 2.4,
)
tastes = list("bread" = 1, "meat" = 1)
- foodtypes = GRAIN | MEAT
+ foodtypes = GRAIN | MEAT | DAIRY
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/bread/sausage
@@ -159,7 +159,7 @@
/datum/reagent/consumable/nutriment/protein = 15,
)
tastes = list("bread" = 10, "acid" = 10)
- foodtypes = GRAIN | MEAT
+ foodtypes = GRAIN | MEAT | DAIRY
slice_type = /obj/item/food/breadslice/xenomeat
crafting_complexity = FOOD_COMPLEXITY_3
@@ -173,7 +173,7 @@
/datum/reagent/consumable/nutriment/protein = 3,
)
tastes = list("bread" = 10, "acid" = 10)
- foodtypes = GRAIN | MEAT
+ foodtypes = GRAIN | MEAT | DAIRY
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/bread/spidermeat
@@ -187,7 +187,7 @@
/datum/reagent/consumable/nutriment/protein = 12,
)
tastes = list("bread" = 10, "cobwebs" = 5)
- foodtypes = GRAIN | MEAT | TOXIC
+ foodtypes = GRAIN|MEAT|DAIRY|TOXIC
slice_type = /obj/item/food/breadslice/spidermeat
crafting_complexity = FOOD_COMPLEXITY_3
@@ -202,7 +202,7 @@
/datum/reagent/consumable/nutriment/vitamin = 1,
)
tastes = list("bread" = 10, "cobwebs" = 5)
- foodtypes = GRAIN | MEAT | TOXIC
+ foodtypes = GRAIN|MEAT|DAIRY|TOXIC
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/bread/banana
@@ -214,7 +214,7 @@
/datum/reagent/consumable/banana = 20,
)
tastes = list("bread" = 10) // bananjuice will also flavour
- foodtypes = GRAIN | FRUIT
+ foodtypes = GRAIN | FRUIT | MEAT
slice_type = /obj/item/food/breadslice/banana
crafting_complexity = FOOD_COMPLEXITY_3
@@ -227,7 +227,7 @@
/datum/reagent/consumable/banana = 4,
)
tastes = list("bread" = 10)
- foodtypes = GRAIN | FRUIT
+ foodtypes = GRAIN | FRUIT | MEAT
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/bread/tofu
@@ -240,7 +240,7 @@
/datum/reagent/consumable/nutriment/protein = 10,
)
tastes = list("bread" = 10, "tofu" = 10)
- foodtypes = GRAIN | VEGETABLES
+ foodtypes = GRAIN | VEGETABLES | DAIRY
venue_value = FOOD_PRICE_TRASH
slice_type = /obj/item/food/breadslice/tofu
crafting_complexity = FOOD_COMPLEXITY_3
@@ -255,7 +255,7 @@
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("bread" = 10, "tofu" = 10)
- foodtypes = GRAIN | VEGETABLES
+ foodtypes = GRAIN | VEGETABLES | DAIRY
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/bread/creamcheese
@@ -294,7 +294,7 @@
/datum/reagent/consumable/nutriment/vitamin = 10,
)
tastes = list("bread" = 10, "silence" = 10)
- foodtypes = GRAIN | FRUIT
+ foodtypes = GRAIN | FRUIT | VEGETABLES
slice_type = /obj/item/food/breadslice/mimana
crafting_complexity = FOOD_COMPLEXITY_3
@@ -309,7 +309,7 @@
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("bread" = 10, "silence" = 10)
- foodtypes = GRAIN | FRUIT
+ foodtypes = GRAIN | FRUIT | VEGETABLES
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/bread/empty
@@ -449,7 +449,7 @@
)
bite_consumption = 3
tastes = list("bread" = 1, "garlic" = 1, "butter" = 1)
- foodtypes = GRAIN
+ foodtypes = VEGETABLES|GRAIN|DAIRY
venue_value = FOOD_PRICE_NORMAL
crafting_complexity = FOOD_COMPLEXITY_2
@@ -463,7 +463,7 @@
/datum/reagent/consumable/nutriment/vitamin = 1,
)
tastes = list("butter" = 1, "biscuit" = 1)
- foodtypes = GRAIN | BREAKFAST
+ foodtypes = GRAIN | BREAKFAST | DAIRY
w_class = WEIGHT_CLASS_SMALL
venue_value = FOOD_PRICE_CHEAP
crafting_complexity = FOOD_COMPLEXITY_2
@@ -498,7 +498,7 @@
/datum/reagent/consumable/nutriment/vitamin = 6,
)
tastes = list("raw egg" = 2, "soaked bread" = 1)
- foodtypes = GRAIN | RAW | BREAKFAST
+ foodtypes = GRAIN | RAW | BREAKFAST | MEAT
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
@@ -515,7 +515,7 @@
/datum/reagent/consumable/nutriment/vitamin = 6,
)
tastes = list("french toast" = 1, "syrup" = 1, "golden deliciousness" = 1)
- foodtypes = GRAIN | BREAKFAST
+ foodtypes = GRAIN | BREAKFAST | MEAT
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
diff --git a/code/game/objects/items/food/burgers.dm b/code/game/objects/items/food/burgers.dm
index 54e400d1d50..c5d5cd35367 100644
--- a/code/game/objects/items/food/burgers.dm
+++ b/code/game/objects/items/food/burgers.dm
@@ -48,7 +48,7 @@
/datum/reagent/consumable/nutriment/vitamin = 5,
)
tastes = list("bun" = 2, "long pig" = 4)
- foodtypes = MEAT | GRAIN | GORE
+ foodtypes = MEAT | GRAIN
venue_value = FOOD_PRICE_CHEAP
crafting_complexity = FOOD_COMPLEXITY_2
@@ -70,7 +70,7 @@
/datum/reagent/consumable/nutriment/vitamin = 6,
)
tastes = list("bun" = 4, "corgi meat" = 2)
- foodtypes = GRAIN | MEAT | GORE
+ foodtypes = GRAIN | MEAT
venue_value = FOOD_PRICE_EXOTIC
crafting_complexity = FOOD_COMPLEXITY_2
@@ -98,7 +98,7 @@
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("bun" = 4, "fish" = 4)
- foodtypes = GRAIN | SEAFOOD
+ foodtypes = GRAIN | SEAFOOD | DAIRY
venue_value = FOOD_PRICE_EXOTIC
crafting_complexity = FOOD_COMPLEXITY_3
@@ -176,7 +176,7 @@
/datum/reagent/consumable/nutriment/vitamin = 6,
)
tastes = list("bun" = 2, "a bad joke" = 4)
- foodtypes = GRAIN | FRUIT
+ foodtypes = GRAIN
venue_value = FOOD_PRICE_NORMAL
crafting_complexity = FOOD_COMPLEXITY_2
@@ -395,7 +395,7 @@
/datum/reagent/consumable/nutriment/vitamin = 10,
)
tastes = list("bun" = 4, "magic" = 2)
- foodtypes = GRAIN | MEAT
+ foodtypes = GRAIN
venue_value = FOOD_PRICE_NORMAL
crafting_complexity = FOOD_COMPLEXITY_2
@@ -452,7 +452,7 @@
bite_consumption = 7
max_volume = 100
tastes = list("bun" = 4, "type two diabetes" = 10)
- foodtypes = GRAIN | MEAT | DAIRY
+ foodtypes = GRAIN | MEAT | DAIRY | VEGETABLES
venue_value = FOOD_PRICE_EXOTIC
crafting_complexity = FOOD_COMPLEXITY_5
@@ -474,7 +474,7 @@
/datum/reagent/consumable/nutriment/vitamin = 6,
)
tastes = list("extreme heat" = 4, "bun" = 2)
- foodtypes = GRAIN | MEAT
+ foodtypes = GRAIN | MEAT | VEGETABLES
venue_value = FOOD_PRICE_NORMAL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -488,7 +488,7 @@
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("dead rat" = 4, "bun" = 2)
- foodtypes = GRAIN | MEAT | GORE
+ foodtypes = GRAIN | MEAT | GORE | RAW
venue_value = FOOD_PRICE_CHEAP
crafting_complexity = FOOD_COMPLEXITY_2
@@ -589,7 +589,7 @@
/datum/reagent/consumable/bbqsauce = 1,
)
tastes = list("bun" = 2, "pork patty" = 4)
- foodtypes = GRAIN | MEAT
+ foodtypes = GRAIN | MEAT | SUGAR | VEGETABLES
venue_value = FOOD_PRICE_NORMAL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -604,12 +604,14 @@
/datum/reagent/consumable/nutriment/vitamin = 1,
)
tastes = list("muffin" = 2, "bacon" = 3)
- foodtypes = GRAIN | MEAT | BREAKFAST
+ foodtypes = GRAIN | MEAT | BREAKFAST | FRIED
venue_value = FOOD_PRICE_NORMAL
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/burger/chicken
- name = "chicken sandwich" //Apparently the proud people of Americlapstan object to this thing being called a burger. Apparently McDonald's just calls it a burger in Europe as to not scare and confuse us.
+ name = "chicken sandwich"
+ //Apparently the proud people of Americlapstan object to this thing being called a burger.
+ //Apparently McDonald's just calls it a burger in Europe as to not scare and confuse us.
desc = "A delicious chicken sandwich, it is said the proceeds from this treat helps criminalize disarming people on the space frontier."
icon_state = "chickenburger"
food_reagents = list(
@@ -620,7 +622,7 @@
/datum/reagent/consumable/nutriment/fat/oil = 2,
)
tastes = list("bun" = 2, "chicken" = 4, "God's covenant" = 1)
- foodtypes = GRAIN | MEAT | FRIED
+ foodtypes = GRAIN | MEAT
venue_value = FOOD_PRICE_NORMAL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -655,7 +657,7 @@
/datum/reagent/consumable/nutriment/vitamin = 6,
)
tastes = list("bun" = 2, "beef patty" = 4, "cheese" = 2, "beef soaked in chili" = 3, "a smoking flare" = 2)
- foodtypes = GRAIN | MEAT | DAIRY
+ foodtypes = GRAIN | MEAT | DAIRY | VEGETABLES
crafting_complexity = FOOD_COMPLEXITY_4
/obj/item/food/burger/crazy/Initialize(mapload)
@@ -686,6 +688,6 @@
/datum/reagent/consumable/nutriment/vitamin = 6,
)
tastes = list("juicy meat" = 4, "BBQ sauce" = 3, "onions" = 2, "bun" = 2)
- foodtypes = GRAIN | MEAT | VEGETABLES
+ foodtypes = MEAT|VEGETABLES|GRAIN
venue_value = FOOD_PRICE_NORMAL
crafting_complexity = FOOD_COMPLEXITY_3
diff --git a/code/game/objects/items/food/cake.dm b/code/game/objects/items/food/cake.dm
index b161410bc3f..17453300117 100644
--- a/code/game/objects/items/food/cake.dm
+++ b/code/game/objects/items/food/cake.dm
@@ -130,7 +130,7 @@
/datum/reagent/consumable/nutriment/protein = 5,
)
tastes = list("cake" = 4, "cream cheese" = 3)
- foodtypes = GRAIN | DAIRY
+ foodtypes = GRAIN | DAIRY | SUGAR
venue_value = FOOD_PRICE_CHEAP
slice_type = /obj/item/food/cakeslice/cheese
crafting_complexity = FOOD_COMPLEXITY_3
@@ -371,7 +371,7 @@
desc = "A hollow cake with real pumpkin."
icon_state = "pumpkinspicecake"
tastes = list("cake" = 5, "sweetness" = 1, "pumpkin" = 1)
- foodtypes = GRAIN | DAIRY | VEGETABLES | SUGAR
+ foodtypes = GRAIN|DAIRY|SUGAR|VEGETABLES
venue_value = FOOD_PRICE_CHEAP
slice_type = /obj/item/food/cakeslice/pumpkinspice
crafting_complexity = FOOD_COMPLEXITY_3
@@ -381,7 +381,7 @@
desc = "A spicy slice of pumpkin goodness."
icon_state = "pumpkinspicecakeslice"
tastes = list("cake" = 5, "sweetness" = 1, "pumpkin" = 1)
- foodtypes = GRAIN | DAIRY | VEGETABLES | SUGAR
+ foodtypes = GRAIN|DAIRY|SUGAR|VEGETABLES
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/cake/berry_vanilla_cake // blackberry strawberries vanilla cake
@@ -482,7 +482,7 @@
/datum/reagent/fuel/oil = 15,
)
tastes = list("acid" = 3, "metal" = 4, "glass" = 5)
- foodtypes = GRAIN | GROSS
+ foodtypes = GRAIN|DAIRY|SUGAR|GROSS
slice_type = /obj/item/food/cakeslice/hardware_cake_slice
crafting_complexity = FOOD_COMPLEXITY_3
@@ -497,7 +497,7 @@
/datum/reagent/fuel/oil = 3,
)
tastes = list("acid" = 3, "metal" = 4, "glass" = 5)
- foodtypes = GRAIN | GROSS
+ foodtypes = GRAIN|DAIRY|SUGAR|GROSS
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/cake/vanilla_cake
@@ -511,7 +511,7 @@
/datum/reagent/consumable/vanilla = 15,
)
tastes = list("cake" = 1, "sugar" = 1, "vanilla" = 10)
- foodtypes = GRAIN | SUGAR | DAIRY
+ foodtypes = GRAIN|FRUIT|DAIRY|SUGAR
slice_type = /obj/item/food/cakeslice/vanilla_slice
crafting_complexity = FOOD_COMPLEXITY_3
@@ -526,7 +526,7 @@
/datum/reagent/consumable/vanilla = 3,
)
tastes = list("cake" = 1, "sugar" = 1, "vanilla" = 10)
- foodtypes = GRAIN | SUGAR | DAIRY
+ foodtypes = GRAIN|FRUIT|DAIRY|SUGAR
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/cake/clown_cake
@@ -539,7 +539,7 @@
/datum/reagent/consumable/banana = 15,
)
tastes = list("cake" = 1, "sugar" = 1, "joy" = 10)
- foodtypes = GRAIN | SUGAR | DAIRY
+ foodtypes = GRAIN|FRUIT|DAIRY|SUGAR
slice_type = /obj/item/food/cakeslice/clown_slice
crafting_complexity = FOOD_COMPLEXITY_5
crafted_food_buff = /datum/status_effect/food/trait/waddle
@@ -554,7 +554,7 @@
/datum/reagent/consumable/banana = 3,
)
tastes = list("cake" = 1, "sugar" = 1, "joy" = 10)
- foodtypes = GRAIN | SUGAR | DAIRY
+ foodtypes = GRAIN|FRUIT|DAIRY|SUGAR
crafting_complexity = FOOD_COMPLEXITY_5
crafted_food_buff = /datum/status_effect/food/trait/waddle
@@ -570,7 +570,7 @@
/datum/reagent/consumable/berryjuice = 5,
)
tastes = list("cake" = 4, "violets" = 2, "jam" = 2)
- foodtypes = GRAIN | DAIRY | FRUIT | SUGAR
+ foodtypes = GRAIN|DAIRY|FRUIT|SUGAR|VEGETABLES
slice_type = /obj/item/food/cakeslice/trumpet
crafting_complexity = FOOD_COMPLEXITY_4
@@ -586,7 +586,7 @@
/datum/reagent/consumable/berryjuice = 1,
)
tastes = list("cake" = 4, "violets" = 2, "jam" = 2)
- foodtypes = GRAIN | DAIRY | FRUIT | SUGAR
+ foodtypes = GRAIN|DAIRY|FRUIT|SUGAR|VEGETABLES
crafting_complexity = FOOD_COMPLEXITY_4
/obj/item/food/cake/brioche
diff --git a/code/game/objects/items/food/cheese.dm b/code/game/objects/items/food/cheese.dm
index 38372fee3c0..07443fff98b 100644
--- a/code/game/objects/items/food/cheese.dm
+++ b/code/game/objects/items/food/cheese.dm
@@ -94,7 +94,6 @@
/datum/reagent/consumable/cream = 1,
)
tastes = list("cream" = 1, "cheese" = 1)
- foodtypes = DAIRY
w_class = WEIGHT_CLASS_SMALL
rat_heal = 35
crafting_complexity = FOOD_COMPLEXITY_2
@@ -109,7 +108,6 @@
name = "cheese curds"
desc = "Not to be mistaken for curd cheese. Tasty deep fried."
icon_state = "cheese_curds"
- foodtypes = DAIRY
w_class = WEIGHT_CLASS_SMALL
rat_heal = 35
crafting_complexity = FOOD_COMPLEXITY_2
@@ -123,7 +121,6 @@
desc = "Firm aged cheese, similar in texture to firm tofu. Due to its lack of moisture it's particularly useful for cooking with, as it doesn't melt easily."
icon_state = "firm_cheese"
tastes = list("aged cheese" = 1)
- foodtypes = DAIRY | VEGETABLES
w_class = WEIGHT_CLASS_SMALL
rat_heal = 35
crafting_complexity = FOOD_COMPLEXITY_3
@@ -136,7 +133,6 @@
desc = "A slice of firm cheese. Perfect for grilling or making into delicious pesto."
icon_state = "firm_cheese_slice"
tastes = list("aged cheese" = 1)
- foodtypes = DAIRY | VEGETABLES
w_class = WEIGHT_CLASS_SMALL
rat_heal = 10
crafting_complexity = FOOD_COMPLEXITY_3
@@ -149,7 +145,6 @@
desc = "Delicious, creamy, and cheesy, all in one simple package."
icon_state = "mozzarella"
tastes = list("mozzarella" = 1)
- foodtypes = DAIRY
w_class = WEIGHT_CLASS_SMALL
rat_heal = 10
crafting_complexity = FOOD_COMPLEXITY_2
diff --git a/code/game/objects/items/food/donkpocket.dm b/code/game/objects/items/food/donkpocket.dm
index 4cbf83ce631..f5e382942f7 100644
--- a/code/game/objects/items/food/donkpocket.dm
+++ b/code/game/objects/items/food/donkpocket.dm
@@ -8,7 +8,7 @@
/datum/reagent/consumable/nutriment = 3,
/datum/reagent/consumable/nutriment/protein = 2,
)
- tastes = list("meat" = 2, "dough" = 2, "laziness" = 1)
+ tastes = list("umami" = 2, "dough" = 2, "laziness" = 1)
foodtypes = GRAIN
food_flags = FOOD_FINGER_FOOD
w_class = WEIGHT_CLASS_SMALL
@@ -39,7 +39,7 @@
/datum/reagent/consumable/nutriment/protein = 2,
/datum/reagent/medicine/omnizine = 6,
)
- tastes = list("meat" = 2, "dough" = 2, "laziness" = 1)
+ tastes = list("umami" = 2, "dough" = 2, "laziness" = 1)
foodtypes = GRAIN
// Warmed donk pockets will burn if you leave them in the oven or microwave.
@@ -47,7 +47,16 @@
baking_time_short = 10 SECONDS
baking_time_long = 15 SECONDS
-/obj/item/food/dankpocket
+/obj/item/food/donkpocket/homemade
+ foodtypes = MEAT|GRAIN
+ tastes = list("meat" = 2, "dough" = 2, "comfiness" = 1)
+ warm_type = /obj/item/food/donkpocket/warm/homemade
+
+/obj/item/food/donkpocket/warm/homemade
+ foodtypes = MEAT|GRAIN
+ tastes = list("meat" = 2, "dough" = 2, "comfiness" = 1)
+
+/obj/item/food/donkpocket/dank
name = "\improper Dank-pocket"
desc = "The food of choice for the seasoned botanist."
icon_state = "dankpocket"
@@ -56,8 +65,29 @@
/datum/reagent/drug/space_drugs = 3,
/datum/reagent/consumable/nutriment = 4,
)
- tastes = list("meat" = 2, "dough" = 2)
- foodtypes = GRAIN | VEGETABLES
+ tastes = list("weed" = 2, "dough" = 2)
+ foodtypes = GRAIN|VEGETABLES
+ crafting_complexity = FOOD_COMPLEXITY_2
+ warm_type = /obj/item/food/donkpocket/warm/dank
+
+/obj/item/food/donkpocket/dank/make_bakeable()
+ AddComponent(/datum/component/bakeable, warm_type, rand(baking_time_short, baking_time_long), TRUE, TRUE, child_added_reagents)
+
+/obj/item/food/donkpocket/dank/make_microwaveable()
+ AddElement(/datum/element/microwavable, warm_type, child_added_reagents)
+
+/obj/item/food/donkpocket/warm/dank
+ name = "warm Dank-pocket"
+ desc = "The food of choice for the seasoned botanist."
+ icon_state = "dankpocket"
+ food_reagents = list(
+ /datum/reagent/toxin/lipolicide = 3,
+ /datum/reagent/drug/space_drugs = 3,
+ /datum/reagent/consumable/nutriment = 4,
+ /datum/reagent/medicine/omnizine = 2,
+ )
+ tastes = list("weed" = 2, "dough" = 2)
+ foodtypes = GRAIN|VEGETABLES
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/donkpocket/spicy
@@ -69,8 +99,8 @@
/datum/reagent/consumable/nutriment/protein = 2,
/datum/reagent/consumable/capsaicin = 2,
)
- tastes = list("meat" = 2, "dough" = 2, "spice" = 1)
- foodtypes = GRAIN
+ tastes = list("umami" = 2, "dough" = 2, "spice" = 1)
+ foodtypes = VEGETABLES|GRAIN
warm_type = /obj/item/food/donkpocket/warm/spicy
/obj/item/food/donkpocket/spicy/make_bakeable()
@@ -89,8 +119,17 @@
/datum/reagent/medicine/omnizine = 2,
/datum/reagent/consumable/capsaicin = 5,
)
- tastes = list("meat" = 2, "dough" = 2, "weird spices" = 2)
- foodtypes = GRAIN
+ tastes = list("umami" = 2, "dough" = 2, "weird spices" = 2)
+ foodtypes = VEGETABLES|GRAIN
+
+/obj/item/food/donkpocket/spicy/homemade
+ tastes = list("meat" = 2, "dough" = 2, "spice" = 1)
+ foodtypes = MEAT|VEGETABLES|GRAIN
+ warm_type = /obj/item/food/donkpocket/warm/spicy/homemade
+
+/obj/item/food/donkpocket/warm/spicy/homemade
+ tastes = list("meat" = 2, "dough" = 2, "weird spices" = 1)
+ foodtypes = MEAT|VEGETABLES|GRAIN
/obj/item/food/donkpocket/teriyaki
name = "\improper Teriyaki-pocket"
@@ -101,7 +140,7 @@
/datum/reagent/consumable/nutriment/protein = 2,
/datum/reagent/consumable/soysauce = 2,
)
- tastes = list("meat" = 2, "dough" = 2, "soy sauce" = 2)
+ tastes = list("umami" = 2, "dough" = 2, "soy sauce" = 2)
foodtypes = GRAIN
warm_type = /obj/item/food/donkpocket/warm/teriyaki
@@ -121,9 +160,18 @@
/datum/reagent/medicine/omnizine = 2,
/datum/reagent/consumable/soysauce = 2,
)
- tastes = list("meat" = 2, "dough" = 2, "soy sauce" = 2)
+ tastes = list("umami" = 2, "dough" = 2, "soy sauce" = 2)
foodtypes = GRAIN
+/obj/item/food/donkpocket/teriyaki/homemade
+ tastes = list("meat" = 2, "dough" = 2, "soy sauce" = 2)
+ foodtypes = MEAT|GRAIN
+ warm_type = /obj/item/food/donkpocket/warm/teriyaki/homemade
+
+/obj/item/food/donkpocket/warm/teriyaki/homemade
+ tastes = list("meat" = 2, "dough" = 2, "soy sauce" = 2)
+ foodtypes = MEAT|GRAIN
+
/obj/item/food/donkpocket/pizza
name = "\improper Pizza-pocket"
desc = "Delicious, cheesy and surprisingly filling."
@@ -133,8 +181,8 @@
/datum/reagent/consumable/nutriment/protein = 2,
/datum/reagent/consumable/tomatojuice = 2,
)
- tastes = list("meat" = 2, "dough" = 2, "cheese"= 2)
- foodtypes = GRAIN
+ tastes = list("tomato" = 2, "dough" = 2, "cheese"= 2)
+ foodtypes = VEGETABLES|GRAIN|DAIRY
warm_type = /obj/item/food/donkpocket/warm/pizza
/obj/item/food/donkpocket/pizza/make_bakeable()
@@ -153,8 +201,8 @@
/datum/reagent/medicine/omnizine = 2,
/datum/reagent/consumable/tomatojuice = 2,
)
- tastes = list("meat" = 2, "dough" = 2, "melty cheese"= 2)
- foodtypes = GRAIN
+ tastes = list("tomato" = 2, "dough" = 2, "melty cheese"= 2)
+ foodtypes = VEGETABLES|GRAIN|DAIRY
/obj/item/food/donkpocket/honk
name = "\improper Honk-pocket"
@@ -165,7 +213,7 @@
/datum/reagent/consumable/banana = 4,
)
tastes = list("banana" = 2, "dough" = 2, "children's antibiotics" = 1)
- foodtypes = GRAIN
+ foodtypes = GRAIN|FRUIT|SUGAR
warm_type = /obj/item/food/donkpocket/warm/honk
crafting_complexity = FOOD_COMPLEXITY_3
var/static/list/honk_added_reagents = list(
@@ -190,7 +238,7 @@
/datum/reagent/consumable/laughter = 6,
)
tastes = list("banana" = 2, "dough" = 2, "children's antibiotics" = 1)
- foodtypes = GRAIN
+ foodtypes = GRAIN|FRUIT|SUGAR
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/donkpocket/berry
@@ -202,7 +250,7 @@
/datum/reagent/consumable/berryjuice = 3,
)
tastes = list("dough" = 2, "jam" = 2)
- foodtypes = GRAIN
+ foodtypes = GRAIN|FRUIT|SUGAR
warm_type = /obj/item/food/donkpocket/warm/berry
/obj/item/food/donkpocket/berry/make_bakeable()
@@ -221,7 +269,7 @@
/datum/reagent/consumable/berryjuice = 3,
)
tastes = list("dough" = 2, "warm jam" = 2)
- foodtypes = GRAIN
+ foodtypes = GRAIN|FRUIT|SUGAR
/obj/item/food/donkpocket/gondola
name = "\improper Gondola-pocket"
@@ -233,7 +281,7 @@
/datum/reagent/gondola_mutation_toxin = 5,
)
tastes = list("meat" = 2, "dough" = 2, "inner peace" = 1)
- foodtypes = GRAIN
+ foodtypes = GRAIN|MEAT
warm_type = /obj/item/food/donkpocket/warm/gondola
var/static/list/gondola_added_reagents = list(
@@ -258,7 +306,7 @@
/datum/reagent/gondola_mutation_toxin = 10,
)
tastes = list("meat" = 2, "dough" = 2, "inner peace" = 1)
- foodtypes = GRAIN
+ foodtypes = GRAIN|MEAT
/obj/item/food/donkpocket/deluxe
name = "\improper Donk-pocket Deluxe"
@@ -271,7 +319,7 @@
/datum/reagent/medicine/omnizine = 2,
)
tastes = list("quality meat" = 2, "dough" = 2, "raw fanciness" = 1)
- foodtypes = GRAIN | MEAT
+ foodtypes = GRAIN|MEAT|VEGETABLES
crafting_complexity = FOOD_COMPLEXITY_4
warm_type = /obj/item/food/donkpocket/warm/deluxe
@@ -296,7 +344,7 @@
/datum/reagent/medicine/omnizine = 10,
)
tastes = list("quality meat" = 2, "dough" = 2, "fanciness" = 1)
- foodtypes = GRAIN | MEAT | FRIED
+ foodtypes = GRAIN|MEAT|VEGETABLES|FRIED
/obj/item/food/donkpocket/deluxe/nocarb
name = "\improper Meat-pocket"
@@ -308,7 +356,7 @@
/datum/reagent/medicine/omnizine = 2,
)
tastes = list("raw meat" = 2, "more meat" = 2, "no carbs" = 1)
- foodtypes = MEAT | RAW
+ foodtypes = MEAT|RAW
crafting_complexity = FOOD_COMPLEXITY_4
warm_type = /obj/item/food/donkpocket/warm/deluxe/nocarb
@@ -360,4 +408,4 @@
/datum/reagent/medicine/omnizine = 10,
)
tastes = list("rice patty" = 2, "fried dough" = 2, "peppery kick" = 1)
- foodtypes = GRAIN | VEGETABLES
+ foodtypes = GRAIN | VEGETABLES | FRIED
diff --git a/code/game/objects/items/food/donuts.dm b/code/game/objects/items/food/donuts.dm
index 5a7c6a87145..5542925b2d3 100644
--- a/code/game/objects/items/food/donuts.dm
+++ b/code/game/objects/items/food/donuts.dm
@@ -8,7 +8,7 @@
bite_consumption = 5
food_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/sugar = 3)
tastes = list("donut" = 1)
- foodtypes = JUNKFOOD | GRAIN | SUGAR | BREAKFAST
+ foodtypes = GRAIN|DAIRY|JUNKFOOD|SUGAR|FRIED|BREAKFAST
food_flags = FOOD_FINGER_FOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
@@ -61,6 +61,7 @@
tastes = list("donut" = 3, "chaos" = 1)
is_decorated = TRUE
crafting_complexity = FOOD_COMPLEXITY_3
+ foodtypes = GRAIN|DAIRY|JUNKFOOD|FRIED|BREAKFAST
/obj/item/food/donut/chaos/Initialize(mapload)
. = ..()
@@ -88,7 +89,7 @@
/datum/reagent/consumable/ketchup = 3,
)
tastes = list("meat" = 1)
- foodtypes = JUNKFOOD | MEAT | GORE | FRIED | BREAKFAST
+ foodtypes = GRAIN|DAIRY|JUNKFOOD|FRIED|BREAKFAST|MEAT|GORE
is_decorated = TRUE
crafting_complexity = FOOD_COMPLEXITY_3
@@ -102,6 +103,7 @@
/datum/reagent/consumable/berryjuice = 3,
/datum/reagent/consumable/sprinkles = 1, //Extra sprinkles to reward frosting
)
+ foodtypes = parent_type::foodtypes|FRUIT
decorated_icon = "donut_homer"
/obj/item/food/donut/trumpet
@@ -127,6 +129,7 @@
/datum/reagent/consumable/applejuice = 3,
/datum/reagent/consumable/sprinkles = 1,
)
+ foodtypes = parent_type::foodtypes|FRUIT
tastes = list("donut" = 3, "green apples" = 1)
is_decorated = TRUE
@@ -167,6 +170,7 @@
/datum/reagent/consumable/blumpkinjuice = 3,
/datum/reagent/consumable/sprinkles = 1,
)
+ foodtypes = parent_type::foodtypes|VEGETABLES
tastes = list("donut" = 2, "blumpkin" = 1)
is_decorated = TRUE
crafting_complexity = FOOD_COMPLEXITY_3
@@ -224,7 +228,7 @@
)
extra_reagent = /datum/reagent/consumable/berryjuice
tastes = list("jelly" = 1, "donut" = 3)
- foodtypes = JUNKFOOD | GRAIN | FRIED | FRUIT | SUGAR | BREAKFAST
+ foodtypes = parent_type::foodtypes|FRUIT
// Jelly donuts don't have holes, but look the same on the outside
/obj/item/food/donut/jelly/in_box_sprite()
@@ -313,6 +317,7 @@
/datum/reagent/consumable/sprinkles = 1,
/datum/reagent/consumable/nutriment/vitamin = 1,
)
+ foodtypes = parent_type::foodtypes|VEGETABLES
tastes = list("jelly" = 1, "donut" = 2, "blumpkin" = 1)
is_decorated = TRUE
crafting_complexity = FOOD_COMPLEXITY_3
@@ -364,7 +369,7 @@
name = "jelly donut"
desc = "You jelly?"
extra_reagent = /datum/reagent/toxin/slimejelly
- foodtypes = JUNKFOOD | GRAIN | FRIED | TOXIC | SUGAR | BREAKFAST
+ foodtypes = GRAIN|DAIRY|JUNKFOOD|SUGAR|FRIED|BREAKFAST|TOXIC
/obj/item/food/donut/jelly/slimejelly/plain
icon_state = "jelly"
@@ -380,6 +385,7 @@
/datum/reagent/consumable/sprinkles = 1,
/datum/reagent/consumable/nutriment/vitamin = 1,
) //Extra sprinkles to reward frosting
+ foodtypes = parent_type::foodtypes|FRUIT
/obj/item/food/donut/jelly/slimejelly/trumpet
name = "spaceman's jelly donut"
@@ -408,6 +414,7 @@
)
tastes = list("jelly" = 1, "donut" = 3, "green apples" = 1)
is_decorated = TRUE
+ foodtypes = parent_type::foodtypes|FRUIT
/obj/item/food/donut/jelly/slimejelly/caramel
name = "caramel jelly donut"
@@ -452,6 +459,7 @@
tastes = list("jelly" = 1, "donut" = 2, "blumpkin" = 1)
is_decorated = TRUE
crafting_complexity = FOOD_COMPLEXITY_3
+ foodtypes = parent_type::foodtypes|VEGETABLES
/obj/item/food/donut/jelly/slimejelly/bungo
name = "bungo jelly donut"
diff --git a/code/game/objects/items/food/egg.dm b/code/game/objects/items/food/egg.dm
index d184c7598fd..abf832b8074 100644
--- a/code/game/objects/items/food/egg.dm
+++ b/code/game/objects/items/food/egg.dm
@@ -312,7 +312,7 @@ GLOBAL_VAR_INIT(chicks_from_eggs, 0)
)
w_class = WEIGHT_CLASS_SMALL
tastes = list("egg" = 1, "bacon" = 1, "bun" = 1)
- foodtypes = MEAT | BREAKFAST | GRAIN
+ foodtypes = MEAT|BREAKFAST|GRAIN|FRIED
venue_value = FOOD_PRICE_NORMAL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -327,7 +327,7 @@ GLOBAL_VAR_INIT(chicks_from_eggs, 0)
/datum/reagent/consumable/nutriment/vitamin = 3,
)
tastes = list("egg" = 1)
- foodtypes = MEAT | VEGETABLES
+ foodtypes = MEAT|VEGETABLES|FRIED
w_class = WEIGHT_CLASS_TINY
crafting_complexity = FOOD_COMPLEXITY_3
diff --git a/code/game/objects/items/food/frozen.dm b/code/game/objects/items/food/frozen.dm
index 775c4a545e8..4728ecc1e76 100644
--- a/code/game/objects/items/food/frozen.dm
+++ b/code/game/objects/items/food/frozen.dm
@@ -25,7 +25,7 @@
/datum/reagent/consumable/ice = 4,
)
tastes = list("ice cream" = 2, "berry" = 2)
- foodtypes = FRUIT | DAIRY | SUGAR
+ foodtypes = GRAIN|FRUIT|DAIRY|SUGAR
food_flags = FOOD_FINGER_FOOD
crafting_complexity = FOOD_COMPLEXITY_3
crafted_food_buff = /datum/status_effect/food/chilling
@@ -42,7 +42,7 @@
/datum/reagent/consumable/nutriment/vitamin = 5,
)
tastes = list("blue cherries" = 2, "ice cream" = 2)
- foodtypes = FRUIT | DAIRY | SUGAR
+ foodtypes = GRAIN|FRUIT|DAIRY|SUGAR
crafting_complexity = FOOD_COMPLEXITY_3
crafted_food_buff = /datum/status_effect/food/chilling
@@ -62,7 +62,7 @@
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("ice cream" = 1, "banana" = 1)
- foodtypes = FRUIT | DAIRY | SUGAR
+ foodtypes = GRAIN|FRUIT|DAIRY|SUGAR
crafting_complexity = FOOD_COMPLEXITY_3
crafted_food_buff = /datum/status_effect/food/chilling
@@ -82,7 +82,7 @@
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("ice cream" = 1, "banana" = 1, "a bad joke" = 1)
- foodtypes = FRUIT | DAIRY | SUGAR
+ foodtypes = GRAIN|FRUIT|DAIRY|SUGAR
crafting_complexity = FOOD_COMPLEXITY_4
crafted_food_buff = /datum/status_effect/food/chilling
@@ -437,7 +437,7 @@
/datum/reagent/consumable/sugar = 2,
)
tastes = list("chopped hazelnuts", "waffle")
- foodtypes = DAIRY | SUGAR
+ foodtypes = GRAIN|DAIRY|SUGAR
venue_value = FOOD_PRICE_NORMAL
crafting_complexity = FOOD_COMPLEXITY_3
crafted_food_buff = /datum/status_effect/food/chilling
diff --git a/code/game/objects/items/food/lizard.dm b/code/game/objects/items/food/lizard.dm
index a91831b3883..e12162c8f25 100644
--- a/code/game/objects/items/food/lizard.dm
+++ b/code/game/objects/items/food/lizard.dm
@@ -13,7 +13,7 @@
/datum/reagent/blood = 3,
)
tastes = list("meat" = 1, "black pudding" = 1)
- foodtypes = MEAT
+ foodtypes = MEAT|RAW
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_1
@@ -46,7 +46,7 @@
/datum/reagent/consumable/salt = 5,
)
tastes = list("meat" = 1, "salt" = 1)
- foodtypes = MEAT | GORE
+ foodtypes = MEAT|RAW|GORE
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_1
@@ -119,7 +119,7 @@
icon_state = "pate"
food_reagents = list(/datum/reagent/consumable/nutriment/protein = 5)
tastes = list("liver" = 1)
- foodtypes = MEAT
+ foodtypes = MEAT|VEGETABLES
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
@@ -156,12 +156,12 @@
SIGNAL_HANDLER
var/sprite_width = 5
var/sprite_height = 4
- var/px_min = visual.aquarium_zone_min_px
- var/px_max = visual.aquarium_zone_max_px - sprite_width
- var/py_min = visual.aquarium_zone_min_py - sprite_height
+ var/pw_min = visual.aquarium_zone_min_pw
+ var/pw_max = visual.aquarium_zone_max_pw - sprite_width
+ var/pz_min = visual.aquarium_zone_min_pz - sprite_height
- visual.pixel_x = rand(px_min, px_max)
- visual.pixel_y = py_min + rand(-1, 1)
+ visual.pixel_w = rand(pw_min, pw_max)
+ visual.pixel_z = pz_min + rand(-1, 1)
/obj/item/food/moonfish_eggs/proc/get_aquarium_beauty(datum/source, list/beauty_holder)
SIGNAL_HANDLER
@@ -193,7 +193,7 @@
/datum/reagent/consumable/garlic = 2,
)
tastes = list("snails" = 1, "garlic" = 1, "oil" = 1)
- foodtypes = MEAT | VEGETABLES
+ foodtypes = MEAT|VEGETABLES
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_4
@@ -209,7 +209,7 @@
/datum/reagent/consumable/nutriment/fat/oil = 1,
)
tastes = list("black pudding" = 1, "batter" = 1, "oil" = 1)
- foodtypes = MEAT | FRIED
+ foodtypes = MEAT|NUTS|FRIED
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -272,7 +272,7 @@
/datum/reagent/consumable/capsaicin = 1,
)
tastes = list("fish" = 1, "acid" = 1, "onion" = 1, "heat" = 1)
- foodtypes = SEAFOOD | VEGETABLES
+ foodtypes = VEGETABLES|SEAFOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -287,7 +287,7 @@
/datum/reagent/consumable/capsaicin = 1,
)
tastes = list("meat" = 1, "sweet" = 1, "heat" = 1)
- foodtypes = GORE | MEAT | BUGS
+ foodtypes = MEAT|VEGETABLES|BUGS|GORE
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -331,7 +331,7 @@
/datum/reagent/consumable/nutriment = 2,
)
tastes = list("fish" = 2, "potatoes" = 1, "carrots" = 1)
- foodtypes = SEAFOOD
+ foodtypes = VEGETABLES|SEAFOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_4
@@ -365,6 +365,9 @@
foodtypes = VEGETABLES | NUTS
crafting_complexity = FOOD_COMPLEXITY_2
+/obj/item/food/spaghetti/nizaya/egg
+ foodtypes = parent_type::foodtypes | MEAT
+
/obj/item/food/spaghetti/snail_nizaya
name = "desert snail nizaya"
desc = "A high class pasta dish from Tizira's vineyard region of Valyngia. Traditionally made with only the finest Tiziran wine... but the human swill will do, in a pinch."
@@ -403,7 +406,7 @@
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("peppery sweet" = 1, "veggies" = 1, "gnocchi" = 1)
- foodtypes = VEGETABLES | SUGAR | NUTS
+ foodtypes = VEGETABLES|NUTS|SUGAR
crafting_complexity = FOOD_COMPLEXITY_4
/obj/item/food/spaghetti/mushroom_nizaya
@@ -416,7 +419,7 @@
/datum/reagent/consumable/nutriment/vitamin = 10,
)
tastes = list("savouriness" = 1, "nuttiness" = 1, "gnocchi" = 1)
- foodtypes = VEGETABLES
+ foodtypes = VEGETABLES|NUTS
crafting_complexity = FOOD_COMPLEXITY_4
//Dough Dishes
@@ -431,12 +434,20 @@
tastes = list("potato" = 1, "earthy heat" = 1)
foodtypes = VEGETABLES | NUTS
crafting_complexity = FOOD_COMPLEXITY_1
+ var/bread_type = /obj/item/food/bread/root
+ var/flat_type = /obj/item/food/flatrootdough
/obj/item/food/rootdough/make_bakeable()
- AddComponent(/datum/component/bakeable, /obj/item/food/bread/root, rand(15 SECONDS, 25 SECONDS), TRUE, TRUE)
+ AddComponent(/datum/component/bakeable, bread_type, rand(15 SECONDS, 25 SECONDS), TRUE, TRUE)
/obj/item/food/rootdough/make_processable()
- AddElement(/datum/element/processable, TOOL_ROLLINGPIN, /obj/item/food/flatrootdough, 1, 3 SECONDS, table_required = TRUE, screentip_verb = "Flatten")
+ AddElement(/datum/element/processable, TOOL_ROLLINGPIN, flat_type, 1, 3 SECONDS, table_required = TRUE, screentip_verb = "Flatten")
+
+/obj/item/food/rootdough/egg
+ desc = "A root based dough, made with nuts, tubers and eggs. Used in a wide range of Tiziran cooking."
+ foodtypes = parent_type::foodtypes | MEAT
+ bread_type = /obj/item/food/bread/root/egg
+ flat_type = /obj/item/food/flatrootdough/egg
/obj/item/food/flatrootdough
name = "flat rootdough"
@@ -447,12 +458,19 @@
tastes = list("potato" = 1, "earthy heat" = 1)
foodtypes = VEGETABLES | NUTS
crafting_complexity = FOOD_COMPLEXITY_1
+ var/process_type = /obj/item/food/rootdoughslice
+ var/grill_type = /obj/item/food/root_flatbread
/obj/item/food/flatrootdough/make_processable()
- AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/rootdoughslice, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice")
+ AddElement(/datum/element/processable, TOOL_KNIFE, process_type, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice")
/obj/item/food/flatrootdough/make_grillable()
- AddComponent(/datum/component/grillable, /obj/item/food/root_flatbread, rand(15 SECONDS, 25 SECONDS), TRUE, TRUE)
+ AddComponent(/datum/component/grillable, grill_type, rand(15 SECONDS, 25 SECONDS), TRUE, TRUE)
+
+/obj/item/food/flatrootdough/egg
+ foodtypes = parent_type::foodtypes | MEAT
+ process_type = /obj/item/food/rootdoughslice/egg
+ grill_type = /obj/item/food/root_flatbread/egg
/obj/item/food/rootdoughslice
name = "rootdough ball"
@@ -464,6 +482,11 @@
tastes = list("potato" = 1, "earthy heat" = 1)
foodtypes = VEGETABLES | NUTS
crafting_complexity = FOOD_COMPLEXITY_1
+ var/process_type = /obj/item/food/spaghetti/nizaya
+ var/bake_type = /obj/item/food/rootroll
+
+/obj/item/food/rootdoughslice/egg
+ foodtypes = parent_type::foodtypes | MEAT
/obj/item/food/rootdoughslice/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/spaghetti/nizaya, 1, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice")
@@ -471,6 +494,10 @@
/obj/item/food/rootdoughslice/make_bakeable()
AddComponent(/datum/component/bakeable, /obj/item/food/rootroll, rand(15 SECONDS, 25 SECONDS), TRUE, TRUE)
+/obj/item/food/rootdoughslice/egg
+ process_type = /obj/item/food/spaghetti/nizaya/egg
+ bake_type = /obj/item/food/rootroll/egg
+
/obj/item/food/root_flatbread
name = "root flatbread"
desc = "A plain grilled root flatbread. Can be topped with a variety of foods that lizards like to eat."
@@ -481,6 +508,9 @@
foodtypes = VEGETABLES | NUTS
crafting_complexity = FOOD_COMPLEXITY_2
+/obj/item/food/root_flatbread/egg
+ foodtypes = parent_type::foodtypes | MEAT
+
/obj/item/food/rootroll
name = "rootroll"
desc = "A dense, chewy roll, made from roots. A nice companion to a bowl of soup."
@@ -492,6 +522,9 @@
foodtypes = VEGETABLES | NUTS
crafting_complexity = FOOD_COMPLEXITY_2
+/obj/item/food/rootroll/egg
+ foodtypes = parent_type::foodtypes | MEAT
+
//Bread Dishes
/obj/item/food/bread/root
@@ -510,6 +543,10 @@
. = ..()
AddComponent(/datum/component/customizable_reagent_holder, /obj/item/food/bread/empty, CUSTOM_INGREDIENT_ICON_FILL, max_ingredients = 8)
+/obj/item/food/bread/root/egg
+ foodtypes = parent_type::foodtypes | MEAT
+ slice_type = /obj/item/food/breadslice/root/egg
+
/obj/item/food/breadslice/root
name = "rootbread slice"
desc = "A slice of dense, chewy rootbread."
@@ -524,6 +561,9 @@
. = ..()
AddComponent(/datum/component/customizable_reagent_holder, null, CUSTOM_INGREDIENT_ICON_STACK)
+/obj/item/food/breadslice/root/egg
+ foodtypes = parent_type::foodtypes | MEAT
+
//Pizza Dishes
/obj/item/food/pizza/flatbread
icon = 'icons/obj/food/lizard.dmi'
@@ -581,7 +621,7 @@
/datum/reagent/consumable/nutriment/protein = 10,
)
tastes = list("bread" = 1, "meat" = 1)
- foodtypes = MEAT | NUTS | GORE
+ foodtypes = MEAT|VEGETABLES|RAW|NUTS
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/pizza/flatbread/stinging
@@ -594,7 +634,7 @@
/datum/reagent/consumable/honey = 2,
)
tastes = list("bread" = 1, "sweetness" = 1, "stinging" = 1, "slime" = 1)
- foodtypes = BUGS | NUTS | SEAFOOD | GORE
+ foodtypes = MEAT|VEGETABLES|NUTS|SEAFOOD|BUGS|GORE
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/pizza/flatbread/zmorgast // Name is based off of the Swedish dish Smörgåstårta
@@ -620,7 +660,7 @@
/datum/reagent/consumable/bbqsauce = 2,
)
tastes = list("bread" = 1, "fish" = 1)
- foodtypes = SEAFOOD | NUTS
+ foodtypes = VEGETABLES|NUTS|SEAFOOD
crafting_complexity = FOOD_COMPLEXITY_4
/obj/item/food/pizza/flatbread/mushroom
@@ -856,7 +896,7 @@
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("peanut butter" = 1, "jelly" = 1, "rootbread" = 2)
- foodtypes = FRUIT | NUTS
+ foodtypes = FRUIT|VEGETABLES|NUTS
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/rootbread_peanut_butter_banana
@@ -871,7 +911,7 @@
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("peanut butter" = 1, "banana" = 1, "rootbread" = 2)
- foodtypes = FRUIT | NUTS
+ foodtypes = FRUIT|VEGETABLES|NUTS
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/burger/plain/korta
@@ -884,7 +924,7 @@
/datum/reagent/consumable/nutriment/protein = 6,
/datum/reagent/consumable/nutriment/vitamin = 1,
)
- foodtypes = NUTS | MEAT
+ foodtypes = MEAT|VEGETABLES|NUTS
crafting_complexity = FOOD_COMPLEXITY_3 //Gotta make the dough, +1
/obj/item/food/burger/rat/korta
@@ -898,7 +938,7 @@
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("dead rat" = 4, "bun" = 2)
- foodtypes = NUTS | MEAT | GORE
+ foodtypes = NUTS | MEAT | GORE | VEGETABLES | RAW
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/burger/rootguffin
@@ -913,7 +953,7 @@
/datum/reagent/consumable/nutriment/vitamin = 1,
)
tastes = list("muffin" = 2, "bacon" = 3)
- foodtypes = NUTS | MEAT | BREAKFAST
+ foodtypes = NUTS | MEAT | BREAKFAST | VEGETABLES | FRIED
venue_value = FOOD_PRICE_NORMAL
crafting_complexity = FOOD_COMPLEXITY_4
@@ -929,7 +969,7 @@
/datum/reagent/consumable/bbqsauce = 1,
)
tastes = list("bun" = 2, "pork patty" = 4)
- foodtypes = NUTS | MEAT
+ foodtypes = NUTS | MEAT | VEGETABLES | SUGAR
venue_value = FOOD_PRICE_NORMAL
crafting_complexity = FOOD_COMPLEXITY_4
@@ -946,7 +986,7 @@
/datum/reagent/consumable/nutriment/fat/oil = 2,
)
tastes = list("bun" = 2, "chicken" = 4, "God's covenant" = 1)
- foodtypes = NUTS | MEAT | FRIED
+ foodtypes = NUTS | MEAT | VEGETABLES
venue_value = FOOD_PRICE_NORMAL
crafting_complexity = FOOD_COMPLEXITY_4
@@ -961,7 +1001,7 @@
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("bun" = 4, "fish" = 4)
- foodtypes = NUTS | SEAFOOD
+ foodtypes = VEGETABLES | NUTS | SEAFOOD
venue_value = FOOD_PRICE_EXOTIC
crafting_complexity = FOOD_COMPLEXITY_3
diff --git a/code/game/objects/items/food/martian.dm b/code/game/objects/items/food/martian.dm
index ef288a8bed7..b1d8fee480b 100644
--- a/code/game/objects/items/food/martian.dm
+++ b/code/game/objects/items/food/martian.dm
@@ -108,7 +108,7 @@
/datum/reagent/consumable/capsaicin = 2
)
tastes = list("chilli heat" = 1, "umami" = 1)
- foodtypes = SEAFOOD | VEGETABLES
+ foodtypes = VEGETABLES|SEAFOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
@@ -123,7 +123,7 @@
/datum/reagent/consumable/nutriment = 2
)
tastes = list("meat" = 1, "breadcrumbs" = 1)
- foodtypes = MEAT | GRAIN
+ foodtypes = MEAT|FRIED|GRAIN
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
@@ -194,7 +194,7 @@
food_reagents = list(
/datum/reagent/consumable/nutriment = 3
)
- foodtypes = GRAIN | VEGETABLES
+ foodtypes = GRAIN
crafting_complexity = FOOD_COMPLEXITY_3
// Fried Rice
@@ -272,7 +272,7 @@
/datum/reagent/consumable/nutriment/vitamin = 10,
)
tastes = list("rice" = 1, "cheese" = 1, "meatball" = 1, "olives" = 1, "herbs" = 1)
- foodtypes = MEAT | GRAIN | VEGETABLES | DAIRY
+ foodtypes = MEAT | GRAIN | VEGETABLES | DAIRY | FRUIT
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -341,7 +341,7 @@
/datum/reagent/consumable/nutriment = 8,
)
tastes = list("fried noodles" = 1, "meat" = 1, "breadcrumbs" = 1, "veggies" = 1)
- foodtypes = MEAT | VEGETABLES | GRAIN
+ foodtypes = MEAT|VEGETABLES|GRAIN|FRIED
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -392,7 +392,7 @@
/datum/reagent/medicine/omnizine = 5,
)
tastes = list("masterful curry" = 1, "rice" = 1)
- foodtypes = GRAIN | MEAT | VEGETABLES
+ foodtypes = MEAT|VEGETABLES|GRAIN|FRUIT|SUGAR
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_5 //Extensive and secretly guarded. Was previously 2 and I thought it was pathetic.
@@ -422,7 +422,7 @@
/datum/reagent/consumable/nutriment/protein = 6,
)
tastes = list("bun" = 1, "fried pork" = 2, "egg" = 1, "cheese" = 1, "ketchup" = 1)
- foodtypes = MEAT | GRAIN | DAIRY | VEGETABLES
+ foodtypes = MEAT|GRAIN|DAIRY|FRIED
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -438,7 +438,7 @@
/datum/reagent/consumable/capsaicin = 1,
)
tastes = list("meat" = 1, "bacon" = 1, "kimchi" = 1, "salad" = 1, "rice bread" = 1)
- foodtypes = MEAT | GRAIN | VEGETABLES
+ foodtypes = MEAT|VEGETABLES|GRAIN|FRIED
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -469,7 +469,7 @@
/datum/reagent/consumable/capsaicin = 1,
)
tastes = list("egg" = 1, "meat" = 1, "kimchi" = 1, "mozzarella" = 1)
- foodtypes = MEAT | DAIRY | VEGETABLES | GRAIN
+ foodtypes = MEAT|VEGETABLES|GRAIN|DAIRY|FRIED
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -484,7 +484,7 @@
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("egg" = 1, "toast" = 1, "pork" = 1, "pineapple" = 1, "cheese" = 1)
- foodtypes = MEAT | DAIRY | VEGETABLES | GRAIN | PINEAPPLE | BREAKFAST
+ foodtypes = MEAT|GRAIN|FRUIT|DAIRY|FRIED|PINEAPPLE|BREAKFAST
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -545,7 +545,7 @@
/datum/reagent/consumable/nutriment/fat/oil = 2,
)
tastes = list("taco meat" = 1, "batter" = 1, "corn" = 1, "cheese" = 1)
- foodtypes = MEAT | GRAIN | FRIED | VEGETABLES | DAIRY
+ foodtypes = MEAT|GRAIN|FRIED|VEGETABLES|DAIRY|SEAFOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_4 //Batter AND Cargo ingredients.
@@ -559,7 +559,7 @@
/datum/reagent/consumable/nutriment/vitamin = 6,
)
tastes = list("batter" = 1, "cabbage" = 1, "onion" = 1, "worcestershire sauce" = 1)
- foodtypes = SEAFOOD | GRAIN | FRIED | VEGETABLES
+ foodtypes = GRAIN|FRIED|VEGETABLES|SEAFOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_4 //Cargo stuff and batter.
@@ -595,7 +595,7 @@
/datum/reagent/consumable/worcestershire = 2,
)
tastes = list("sausage" = 1, "spicy sauce" = 1, "fries" = 1)
- foodtypes = MEAT | VEGETABLES
+ foodtypes = MEAT|VEGETABLES|FRIED
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_4 //Cargo ingredients and a few steps.
@@ -610,7 +610,7 @@
/datum/reagent/consumable/peanut_butter = 1,
)
tastes = list("blood" = 1, "nuts" = 1, "herbs" = 1)
- foodtypes = MEAT | NUTS | GRAIN
+ foodtypes = MEAT|FRIED|NUTS|GRAIN
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -654,7 +654,7 @@
/datum/reagent/consumable/nutriment = 10,
)
tastes = list("bread" = 1, "egg" = 1, "meat" = 1, "onion" = 1)
- foodtypes = GRAIN | MEAT | VEGETABLES | FRIED | BREAKFAST
+ foodtypes = MEAT|VEGETABLES|GRAIN|BREAKFAST
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_4
@@ -685,7 +685,7 @@
/datum/reagent/consumable/nutriment/vitamin = 8,
)
tastes = list("bread" = 1, "spicy fries" = 1, "mayonnaise" = 1, "curry" = 1, "meat" = 1)
- foodtypes = MEAT | GRAIN | VEGETABLES | FRIED
+ foodtypes = MEAT|VEGETABLES|GRAIN|FRIED
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_4
@@ -699,7 +699,7 @@
/datum/reagent/consumable/nutriment/protein = 8,
)
tastes = list("rice" = 1, "burger" = 1, "gravy" = 1, "egg" = 1)
- foodtypes = MEAT | GRAIN | VEGETABLES
+ foodtypes = MEAT|VEGETABLES|GRAIN|FRIED
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
@@ -730,7 +730,7 @@
/datum/reagent/consumable/nutriment/vitamin = 6,
)
tastes = list("sausage" = 1, "pineapple" = 1, "onion" = 1, "teriyaki" = 1)
- foodtypes = MEAT | VEGETABLES | FRUIT | PINEAPPLE
+ foodtypes = MEAT|VEGETABLES|GRAIN|FRUIT|PINEAPPLE
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_4
custom_price = PAYCHECK_CREW * 1.2
@@ -761,7 +761,7 @@
/datum/reagent/consumable/nutriment/vitamin = 2,
/datum/reagent/consumable/char = 2)
tastes = list("octopus" = 1)
- foodtypes = SEAFOOD | FRIED
+ foodtypes = SEAFOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -775,7 +775,7 @@
/datum/reagent/consumable/nutriment/protein = 6,
)
tastes = list("steak" = 1, "potato" = 1)
- foodtypes = MEAT | VEGETABLES | FRIED
+ foodtypes = MEAT|VEGETABLES|GRAIN|DAIRY|FRIED
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -791,7 +791,7 @@
/datum/reagent/consumable/garlic = 1,
)
tastes = list("ham" = 1, "garlic rice" = 1, "egg" = 1)
- foodtypes = MEAT | GRAIN | VEGETABLES | BREAKFAST
+ foodtypes = MEAT|GRAIN|FRIED|BREAKFAST|VEGETABLES
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -837,7 +837,7 @@
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("chicken" = 1, "coconut" = 1, "curry" = 1)
- foodtypes = MEAT | VEGETABLES | FRUIT
+ foodtypes = MEAT|GRAIN|FRUIT
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -897,13 +897,13 @@
/datum/reagent/consumable/nutriment/protein = 8,
)
tastes = list("curry" = 1, "meat" = 1, "breadcrumbs" = 1, "rice" = 1)
- foodtypes = MEAT | VEGETABLES | GRAIN
+ foodtypes = MEAT|GRAIN|FRIED
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/salad/beef_bowl
name = "beef bowl"
- desc = "A tasty mix of stewed beef and onion, served over rice. Typical toppings include pickled ginger, chilli powder, and fried eggs."
+ desc = "A tasty mix of stewed beef, onion and dashi, served over rice. Typical toppings include pickled ginger, chilli powder, and fried eggs."
icon = 'icons/obj/food/martian.dmi'
icon_state = "beef_bowl"
food_reagents = list(
@@ -912,7 +912,7 @@
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("beef" = 25, "onion" = 25, "chili heat" = 15, "rice" = 34, "soul" = 1) //I pour my soul into this bowl
- foodtypes = MEAT | VEGETABLES | GRAIN
+ foodtypes = MEAT|VEGETABLES|GRAIN|SEAFOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -929,7 +929,7 @@
/datum/reagent/consumable/salt = 2,
)
tastes = list("seafood" = 1, "rice" = 1, "garlic" = 1, "ginger" = 1, "numbing heat" = 1, "salt" = 1)
- foodtypes = SEAFOOD | VEGETABLES | GRAIN
+ foodtypes = VEGETABLES|GRAIN|SEAFOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_4 //A few Cargo ingredients
@@ -944,7 +944,7 @@
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("seafood" = 1, "rice" = 1, "egg" = 1, "onion" = 1)
- foodtypes = SEAFOOD | MEAT | VEGETABLES | GRAIN
+ foodtypes = MEAT|VEGETABLES|GRAIN|SEAFOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -959,7 +959,7 @@
/datum/reagent/toxin/slimejelly = 4,
)
tastes = list("grit" = 1, "slime" = 1, "gristle" = 1, "rice" = 1, "Mystery Food X" = 1)
- foodtypes = GROSS | GRAIN | TOXIC
+ foodtypes = VEGETABLES|GRAIN|FRUIT|SEAFOOD|GROSS|TOXIC
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -977,7 +977,7 @@
/datum/reagent/consumable/garlic = 1,
)
tastes = list("yoghurt" = 1, "garlic" = 1, "lemon" = 1, "egg" = 1, "chilli heat" = 1)
- foodtypes = DAIRY | VEGETABLES | MEAT | BREAKFAST
+ foodtypes = MEAT|VEGETABLES|DAIRY|FRIED|BREAKFAST
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -993,7 +993,7 @@
/datum/reagent/consumable/orangejuice = 4,
)
tastes = list("meat" = 1, "crepes" = 1, "orange" = 1)
- foodtypes = MEAT | DAIRY | VEGETABLES | FRUIT
+ foodtypes = MEAT|GRAIN|FRUIT|SUGAR|ORANGES
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -1008,7 +1008,7 @@
/datum/reagent/consumable/nutriment/vitamin = 15
)
tastes = list("winter spices" = 2, "ambrosia vulgaris" = 2, "cake" = 5)
- foodtypes = GRAIN | SUGAR | DAIRY
+ foodtypes = VEGETABLES|GRAIN|DAIRY|SUGAR
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/cake/spekkoek/make_processable()
@@ -1020,7 +1020,7 @@
icon = 'icons/obj/food/martian.dmi'
icon_state = "spekkoek_slice"
tastes = list("winter spices" = 2, "ambrosia vulgaris" = 2, "cake" = 5)
- foodtypes = GRAIN | SUGAR | DAIRY
+ foodtypes = VEGETABLES|GRAIN|DAIRY|SUGAR
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/salad/pineapple_foster
@@ -1036,7 +1036,7 @@
/datum/reagent/consumable/milk = 4
)
tastes = list("pineapple" = 1, "vanilla" = 1, "caramel" = 1, "ice cream" = 1)
- foodtypes = FRUIT | DAIRY | PINEAPPLE
+ foodtypes = GRAIN|FRUIT|DAIRY|SUGAR|PINEAPPLE
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -1051,7 +1051,7 @@
/datum/reagent/consumable/sugar = 4,
)
tastes = list("custard" = 1, "vanilla" = 1, "sweet pastry" = 1)
- foodtypes = DAIRY | GRAIN
+ foodtypes = GRAIN|FRUIT|DAIRY
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -1080,7 +1080,7 @@
/datum/reagent/consumable/sugar = 1,
)
tastes = list("banana" = 1, "batter" = 1)
- foodtypes = GRAIN | FRUIT | FRIED
+ foodtypes = GRAIN|FRUIT|FRIED|SEAFOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3 //Fried goodness, oil scawy.
@@ -1095,7 +1095,7 @@
/datum/reagent/consumable/sugar = 1,
)
tastes = list("pineapple" = 1, "batter" = 1)
- foodtypes = GRAIN | FRUIT | FRIED | PINEAPPLE
+ foodtypes = GRAIN|FRUIT|FRIED|PINEAPPLE|SEAFOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -1143,7 +1143,7 @@
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("cold pineapple" = 1, "chocolate" = 1)
- foodtypes = SUGAR | PINEAPPLE
+ foodtypes = SUGAR|FRUIT|PINEAPPLE
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/popsicle/sea_salt
@@ -1172,7 +1172,7 @@
/datum/reagent/consumable/berryjuice = 4
)
tastes = list("berry" = 1, "tofu" = 1)
- foodtypes = FRUIT | VEGETABLES
+ foodtypes = FRUIT|SUGAR|VEGETABLES
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/popsicle/topsicle/banana
@@ -1195,6 +1195,7 @@
/datum/reagent/consumable/sugar = 6,
/datum/reagent/consumable/pineapplejuice = 4
)
+ foodtypes = FRUIT|SUGAR|VEGETABLES|PINEAPPLE
tastes = list("pineapple" = 1, "tofu" = 1)
// Ballpark Food
@@ -1209,7 +1210,7 @@
/datum/reagent/consumable/nutriment = 6
)
tastes = list("sausage" = 1, "relish" = 1, "onion" = 1, "fruity salsa" = 1)
- foodtypes = FRUIT | MEAT | PINEAPPLE | VEGETABLES | GRAIN
+ foodtypes = MEAT|VEGETABLES|GRAIN|FRUIT|PINEAPPLE|SEAFOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_4 //Uses Sambal
custom_price = PAYCHECK_CREW * 2
@@ -1225,7 +1226,7 @@
/datum/reagent/consumable/capsaicin = 1,
)
tastes = list("frickles" = 1)
- foodtypes = VEGETABLES | GRAIN
+ foodtypes = VEGETABLES|GRAIN|FRIED|SEAFOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3 //batter and cargo stuff.
diff --git a/code/game/objects/items/food/meatdish.dm b/code/game/objects/items/food/meatdish.dm
index bf7222b31f7..830f647c8e2 100644
--- a/code/game/objects/items/food/meatdish.dm
+++ b/code/game/objects/items/food/meatdish.dm
@@ -16,7 +16,7 @@
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("fish" = 4, "batter" = 1, "hot peppers" = 1)
- foodtypes = SEAFOOD | FRIED
+ foodtypes = VEGETABLES|GRAIN|SEAFOOD|FRIED
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
@@ -172,7 +172,7 @@
)
bite_consumption = 1
tastes = list("fish" = 1, "breadcrumbs" = 1)
- foodtypes = SEAFOOD | FRIED
+ foodtypes = GRAIN|SEAFOOD|FRIED
w_class = WEIGHT_CLASS_SMALL
venue_value = FOOD_PRICE_EXOTIC
crafting_complexity = FOOD_COMPLEXITY_2
@@ -215,7 +215,7 @@
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("boiled rice" = 4, "carrots" = 2, "potato" = 2)
- foodtypes = VEGETABLES
+ foodtypes = VEGETABLES|GRAIN
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -231,7 +231,7 @@
/datum/reagent/consumable/nutriment/vitamin = 1,
)
tastes = list("boiled rice" = 4, "carrots" = 2, "potato" = 2)
- foodtypes = VEGETABLES
+ foodtypes = VEGETABLES|GRAIN
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -246,7 +246,7 @@
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("boiled rice" = 4, "fish" = 2, "spicyness" = 2)
- foodtypes = VEGETABLES | SEAFOOD
+ foodtypes = VEGETABLES|GRAIN|SEAFOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -264,14 +264,14 @@
/datum/reagent/consumable/nutriment/vitamin = 1,
)
tastes = list("boiled rice" = 4, "fish" = 2, "spicyness" = 2)
- foodtypes = VEGETABLES | SEAFOOD
+ foodtypes = VEGETABLES|GRAIN|SEAFOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
// empty sushi for custom sushi
/obj/item/food/sushi/empty
name = "sushi"
- foodtypes = NONE
+ foodtypes = VEGETABLES
tastes = list()
icon_state = "vegetariansushiroll"
desc = "A roll of customized sushi."
@@ -282,7 +282,7 @@
/obj/item/food/sushislice/empty
name = "sushi slice"
- foodtypes = NONE
+ foodtypes = VEGETABLES
tastes = list()
icon_state = "vegetariansushislice"
desc = "A slice of customized sushi."
@@ -295,7 +295,7 @@
icon_state = "nigiri_sushi"
food_reagents = list(/datum/reagent/consumable/nutriment = 10, /datum/reagent/consumable/nutriment/vitamin = 6, /datum/reagent/consumable/nutriment/protein = 2)
tastes = list("boiled rice" = 4, "fish filet" = 2, "soy sauce" = 2)
- foodtypes = SEAFOOD | VEGETABLES
+ foodtypes = VEGETABLES|GRAIN|SEAFOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
@@ -309,7 +309,7 @@
/datum/reagent/consumable/nutriment/vitamin = 5,
/datum/reagent/consumable/nutriment/protein = 2,
)
- foodtypes = SEAFOOD | MEAT | VEGETABLES
+ foodtypes = MEAT|VEGETABLES|GRAIN
tastes = list("rice and meat" = 4, "lettuce" = 2, "soy sauce" = 2)
trash_type = /obj/item/reagent_containers/cup/bowl
w_class = WEIGHT_CLASS_SMALL
@@ -326,7 +326,7 @@
/datum/reagent/consumable/nutriment/vitamin = 4,
/datum/reagent/consumable/nutriment/protein = 2,
)
- foodtypes = SEAFOOD | VEGETABLES
+ foodtypes = VEGETABLES|GRAIN|SEAFOOD
tastes = list("rice and fish" = 4, "lettuce" = 2, "soy sauce" = 2)
trash_type = /obj/item/reagent_containers/cup/bowl
w_class = WEIGHT_CLASS_SMALL
@@ -655,7 +655,7 @@
/datum/reagent/consumable/garlic = 1,
)
tastes = list("meat" = 1, "onions" = 1, "garlic" = 1)
- foodtypes = MEAT
+ foodtypes = MEAT|GRAIN|VEGETABLES
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
@@ -675,7 +675,7 @@
)
bite_consumption = 3
tastes = list("meat" = 1, "onions" = 1, "garlic" = 1)
- foodtypes = MEAT
+ foodtypes = MEAT|GRAIN|VEGETABLES
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -735,12 +735,12 @@
)
bite_consumption = 4
tastes = list("meat" = 1, "the colour green" = 1)
- foodtypes = MEAT
+ foodtypes = MEAT|BUGS
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/sashimi
- name = "carp sashimi"
+ name = "spider sashimi"
desc = "Celebrate surviving an attack from hostile alien lifeforms by hospitalising yourself. You sure hope whoever made this is skilled."
icon = 'icons/obj/food/meat.dmi'
icon_state = "sashimi"
@@ -750,7 +750,7 @@
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("fish" = 1, "hot peppers" = 1)
- foodtypes = SEAFOOD
+ foodtypes = MEAT|SEAFOOD|BUGS
w_class = WEIGHT_CLASS_TINY
//total price of this dish is 20 and a small amount more for soy sauce, all of which are available at the orders console
venue_value = FOOD_PRICE_CHEAP
@@ -853,7 +853,7 @@
/datum/reagent/consumable/tomatojuice = 10,
)
tastes = list("meat" = 3, "pasta" = 3, "tomato" = 2, "cheese" = 2)
- foodtypes = MEAT | DAIRY | GRAIN
+ foodtypes = MEAT|VEGETABLES|GRAIN|DAIRY
venue_value = FOOD_PRICE_NORMAL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -920,7 +920,7 @@
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("rat meat" = 1, "metal" = 1)
- foodtypes = MEAT | GORE
+ foodtypes = MEAT|RAW|GORE
venue_value = FOOD_PRICE_CHEAP
/obj/item/food/kebab/rat/double
@@ -1156,7 +1156,7 @@
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("sausage" = 1, "bacon" = 1, "egg" = 1, "tomato" = 1, "mushrooms" = 1, "bread" = 1, "beans" = 1)
- foodtypes = MEAT | VEGETABLES | GRAIN | BREAKFAST
+ foodtypes = MEAT|VEGETABLES|GRAIN|DAIRY|FRIED|BREAKFAST
w_class = WEIGHT_CLASS_SMALL
venue_value = FOOD_PRICE_EXOTIC
crafting_complexity = FOOD_COMPLEXITY_5
@@ -1249,7 +1249,7 @@
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("boiled rice" = 4, "fish" = 5, "egg" = 3, "dried seaweed" = 2, "cucumber" = 2)
- foodtypes = VEGETABLES | SEAFOOD
+ foodtypes = MEAT|VEGETABLES|GRAIN|SEAFOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -1266,7 +1266,7 @@
/datum/reagent/consumable/nutriment/vitamin = 1,
)
tastes = list("boiled rice" = 4, "fish" = 5, "egg" = 3, "dried seaweed" = 2, "cucumber" = 2)
- foodtypes = VEGETABLES | SEAFOOD
+ foodtypes = VEGETABLES|GRAIN|DAIRY|SEAFOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -1280,7 +1280,7 @@
/datum/reagent/consumable/nutriment/vitamin = 8,
)
tastes = list("boiled rice" = 4, "fish" = 5, "creamy cheese" = 3, "dried seaweed" = 2, "cucumber" = 2)
- foodtypes = VEGETABLES | SEAFOOD | DAIRY
+ foodtypes = VEGETABLES|GRAIN|SEAFOOD|DAIRY
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -1297,6 +1297,6 @@
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("boiled rice" = 4, "fish" = 5, "creamy cheese" = 3, "dried seaweed" = 2, "cucumber" = 2)
- foodtypes = VEGETABLES | SEAFOOD | DAIRY
+ foodtypes = VEGETABLES|GRAIN|SEAFOOD|DAIRY
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
diff --git a/code/game/objects/items/food/meatslab.dm b/code/game/objects/items/food/meatslab.dm
index ed391a57bd2..c195b76f1ca 100644
--- a/code/game/objects/items/food/meatslab.dm
+++ b/code/game/objects/items/food/meatslab.dm
@@ -512,7 +512,6 @@
name = "[source_item.name] steak"
/obj/item/food/meat/steak/plain
- foodtypes = MEAT
/obj/item/food/meat/steak/plain/human
tastes = list("tender meat" = 1)
@@ -549,6 +548,7 @@
/obj/item/food/meat/steak/spider
name = "spider steak"
tastes = list("cobwebs" = 1)
+ foodtypes = parent_type::foodtypes | TOXIC
/obj/item/food/meat/steak/goliath
name = "goliath steak"
@@ -557,7 +557,6 @@
icon_state = "goliathsteak"
trash_type = null
tastes = list("meat" = 1, "rock" = 1)
- foodtypes = MEAT
/obj/item/food/meat/steak/gondola
name = "gondola steak"
@@ -679,6 +678,7 @@
name = "raw spider cutlet"
tastes = list("cobwebs" = 1)
blood_decal_type = /obj/effect/decal/cleanable/insectguts
+ foodtypes = parent_type::foodtypes | TOXIC
/obj/item/food/meat/rawcutlet/spider/make_grillable()
AddComponent(/datum/component/grillable, /obj/item/food/meat/cutlet/spider, rand(35 SECONDS, 50 SECONDS), TRUE, TRUE)
@@ -768,6 +768,7 @@
/obj/item/food/meat/cutlet/spider
name = "spider cutlet"
tastes = list("cobwebs" = 1)
+ foodtypes = parent_type::foodtypes | TOXIC
/obj/item/food/meat/cutlet/gondola
name = "gondola cutlet"
diff --git a/code/game/objects/items/food/mexican.dm b/code/game/objects/items/food/mexican.dm
index 3dc6adc1079..5f46e4f917e 100644
--- a/code/game/objects/items/food/mexican.dm
+++ b/code/game/objects/items/food/mexican.dm
@@ -26,7 +26,7 @@
/datum/reagent/consumable/nutriment/vitamin = 1,
)
tastes = list("torilla" = 2, "beans" = 3)
- foodtypes = GRAIN
+ foodtypes = VEGETABLES|GRAIN
w_class = WEIGHT_CLASS_SMALL
venue_value = FOOD_PRICE_NORMAL
crafting_complexity = FOOD_COMPLEXITY_2
@@ -42,7 +42,7 @@
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("torilla" = 2, "beans" = 3, "cheese" = 1)
- foodtypes = GRAIN | DAIRY
+ foodtypes = VEGETABLES|GRAIN|DAIRY
w_class = WEIGHT_CLASS_SMALL
venue_value = FOOD_PRICE_EXOTIC
crafting_complexity = FOOD_COMPLEXITY_3
@@ -58,7 +58,7 @@
/datum/reagent/consumable/nutriment/vitamin = 1,
)
tastes = list("torilla" = 2, "meat" = 4)
- foodtypes = GRAIN | MEAT
+ foodtypes = VEGETABLES|GRAIN|MEAT
w_class = WEIGHT_CLASS_SMALL
venue_value = FOOD_PRICE_EXOTIC
crafting_complexity = FOOD_COMPLEXITY_3
@@ -75,7 +75,7 @@
/datum/reagent/consumable/nutriment/vitamin = 3,
)
tastes = list("torilla" = 2, "beans" = 3, "hot peppers" = 1)
- foodtypes = GRAIN
+ foodtypes = VEGETABLES|GRAIN
w_class = WEIGHT_CLASS_SMALL
venue_value = FOOD_PRICE_LEGENDARY
crafting_complexity = FOOD_COMPLEXITY_3
@@ -122,7 +122,7 @@
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("nachos" = 2, "hot pepper" = 1)
- foodtypes = VEGETABLES | FRIED | DAIRY
+ foodtypes = VEGETABLES|FRIED|GRAIN
w_class = WEIGHT_CLASS_SMALL
venue_value = FOOD_PRICE_CHEAP
crafting_complexity = FOOD_COMPLEXITY_2
@@ -178,7 +178,7 @@
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("hot peppers" = 1, "meat" = 3, "cheese" = 1, "sour cream" = 1)
- foodtypes = MEAT | GRAIN
+ foodtypes = MEAT|VEGETABLES|GRAIN
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -211,7 +211,7 @@
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("peppers" = 1, "salsa" = 3, "tortilla chips" = 1, "onion" = 1)
- foodtypes = VEGETABLES
+ foodtypes = VEGETABLES|FRIED
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -279,7 +279,7 @@
/datum/reagent/consumable/nutriment/protein = 6,
)
tastes = list("crunchy taco shell" = 1, "cabbage" = 3, "tomatoes" = 1, "ground meat" = 1, "cheese" = 1)
- foodtypes = GRAIN | VEGETABLES | MEAT | DAIRY
+ foodtypes = MEAT|VEGETABLES|GRAIN|DAIRY|FRIED
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_4
@@ -294,7 +294,7 @@
/datum/reagent/consumable/nutriment/protein = 6,
)
tastes = list("crunchy taco shell" = 1, "ground meat" = 1)
- foodtypes = GRAIN | MEAT
+ foodtypes = MEAT|GRAIN|FRIED
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
@@ -325,7 +325,7 @@
)
trash_type = /obj/item/reagent_containers/cup/bowl
tastes = list("zesty rice" = 1, "tomato sauce" = 3,)
- foodtypes = VEGETABLES
+ foodtypes = VEGETABLES|GRAIN
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
diff --git a/code/game/objects/items/food/misc.dm b/code/game/objects/items/food/misc.dm
index 46ee44cd544..c1d46fb029f 100644
--- a/code/game/objects/items/food/misc.dm
+++ b/code/game/objects/items/food/misc.dm
@@ -278,7 +278,7 @@
)
w_class = WEIGHT_CLASS_NORMAL
tastes = list("melon" = 1)
- foodtypes = FRUIT
+ foodtypes = VEGETABLES|FRUIT|ORANGES
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_4
@@ -353,7 +353,7 @@
/datum/reagent/consumable/salt = 8,
)
tastes = list("bran" = 4, "raisins" = 3, "salt" = 1)
- foodtypes = GRAIN | FRUIT | BREAKFAST
+ foodtypes = SUGAR|GRAIN|FRUIT|BREAKFAST
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
@@ -510,7 +510,7 @@
/datum/reagent/consumable/nutriment/vitamin = 5,
)
tastes = list("juicy meat" = 1, "rice" = 1, "cabbage" = 1)
- foodtypes = MEAT | VEGETABLES
+ foodtypes = MEAT|VEGETABLES|GRAIN
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -553,7 +553,7 @@
/datum/reagent/consumable/nutriment/protein = 4,
)
tastes = list("granola" = 1, "nuts" = 1, "chocolate" = 1, "raisin" = 1)
- foodtypes = GRAIN | NUTS | FRUIT | SUGAR | DAIRY
+ foodtypes = GRAIN|NUTS|FRUIT|SUGAR
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_4
@@ -567,7 +567,7 @@
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("rice" = 1, "dried seaweed" = 1)
- foodtypes = VEGETABLES
+ foodtypes = VEGETABLES|GRAIN
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
@@ -580,7 +580,7 @@
name = "onigiri"
desc = "A ball of cooked rice surrounding a filling formed into a triangular shape and wrapped in seaweed."
icon_state = "onigiri"
- foodtypes = VEGETABLES
+ foodtypes = VEGETABLES|GRAIN
tastes = list()
/obj/item/food/pacoca
@@ -689,7 +689,7 @@
/datum/reagent/consumable/nutriment/protein = 20,
)
tastes = list("cooked eggplant" = 5, "potato" = 1, "baked veggies" = 2, "meat" = 4, "bechamel sauce" = 3)
- foodtypes = MEAT | DAIRY | VEGETABLES
+ foodtypes = MEAT|VEGETABLES|GRAIN|DAIRY
crafting_complexity = FOOD_COMPLEXITY_4
/obj/item/food/moussaka/make_processable()
@@ -705,7 +705,7 @@
/datum/reagent/consumable/nutriment/protein = 5,
)
tastes = list("cooked eggplant" = 5, "potato" = 1, "baked veggies" = 2, "meat" = 4, "bechamel sauce" = 3)
- foodtypes = MEAT | DAIRY | VEGETABLES
+ foodtypes = MEAT|VEGETABLES|GRAIN|DAIRY
crafting_complexity = FOOD_COMPLEXITY_4
/obj/item/food/candied_pineapple
@@ -718,7 +718,7 @@
icon_state = "candied_pineapple_1"
base_icon_state = "candied_pineapple"
tastes = list("sugar" = 2, "chewy pineapple" = 4)
- foodtypes = FRUIT | SUGAR
+ foodtypes = SUGAR|FRUIT|PINEAPPLE
food_flags = FOOD_FINGER_FOOD
w_class = WEIGHT_CLASS_TINY
crafting_complexity = FOOD_COMPLEXITY_1
diff --git a/code/game/objects/items/food/moth.dm b/code/game/objects/items/food/moth.dm
index 367a3f29b5c..eeaa02cebc8 100644
--- a/code/game/objects/items/food/moth.dm
+++ b/code/game/objects/items/food/moth.dm
@@ -67,7 +67,7 @@
/datum/reagent/consumable/salt = 2,
)
tastes = list("seeds" = 1, "nuts" = 1, "chocolate" = 1, "salt" = 1, "popcorn" = 1, "potato" = 1)
- foodtypes = GRAIN | NUTS | VEGETABLES | SUGAR
+ foodtypes = JUNKFOOD|GRAIN|FRIED|NUTS|VEGETABLES
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -94,7 +94,7 @@
/datum/reagent/consumable/nutriment/vitamin = 6,
)
tastes = list("cheese" = 1, "tofu" = 1, "veggies" = 1)
- foodtypes = DAIRY | VEGETABLES
+ foodtypes = DAIRY|VEGETABLES|GRAIN
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_4
@@ -126,7 +126,7 @@
/datum/reagent/consumable/capsaicin = 1,
)
tastes = list("cheese" = 1, "oil" = 1, "chili" = 1, "fries" = 1)
- foodtypes = DAIRY | VEGETABLES
+ foodtypes = VEGETABLES|DAIRY|FRIED
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_5
@@ -172,7 +172,7 @@
/datum/reagent/consumable/nutriment/vitamin = 10,
)
tastes = list("cheese" = 1, "pesto" = 1, "pasta" = 1)
- foodtypes = VEGETABLES | GRAIN | NUTS | RAW
+ foodtypes = VEGETABLES|GRAIN|DAIRY|NUTS|RAW
w_class = WEIGHT_CLASS_NORMAL
crafting_complexity = FOOD_COMPLEXITY_5
@@ -189,7 +189,7 @@
/datum/reagent/consumable/nutriment/vitamin = 18,
)
tastes = list("cheese" = 1, "pesto" = 1, "pasta" = 1)
- foodtypes = VEGETABLES | GRAIN | NUTS
+ foodtypes = VEGETABLES|GRAIN|DAIRY|NUTS
w_class = WEIGHT_CLASS_NORMAL
crafting_complexity = FOOD_COMPLEXITY_5
@@ -206,7 +206,7 @@
/datum/reagent/consumable/nutriment/vitamin = 3,
)
tastes = list("cheese" = 1, "pesto" = 1, "pasta" = 1)
- foodtypes = VEGETABLES | GRAIN | NUTS
+ foodtypes = VEGETABLES|GRAIN|DAIRY|NUTS
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_5
@@ -300,7 +300,7 @@
/datum/reagent/consumable/char = 1,
)
tastes = list("corn" = 1, "chili" = 1, "char" = 1)
- foodtypes = VEGETABLES | DAIRY
+ foodtypes = VEGETABLES|JUNKFOOD|DAIRY|FRIED
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_4
@@ -347,7 +347,7 @@
/datum/reagent/consumable/nutriment/protein = 6,
)
tastes = list("creamy cheese" = 1, "breading" = 1, "oil" = 1)
- foodtypes = DAIRY | GRAIN | FRIED
+ foodtypes = GRAIN|DAIRY|FRIED
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_4
@@ -469,7 +469,7 @@
/datum/reagent/consumable/nutriment/protein = 6,
)
tastes = list("bacon" = 1, "eggs" = 1)
- foodtypes = MEAT | GRAIN
+ foodtypes = MEAT|GRAIN|FRIED
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_4
@@ -485,7 +485,7 @@
/datum/reagent/consumable/nutriment = 10,
)
tastes = list("cornmeal" = 1, "cheese" = 1, "eggplant" = 1, "tomato sauce" = 1)
- foodtypes = DAIRY | GRAIN
+ foodtypes = VEGETABLES|GRAIN|DAIRY
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_5
@@ -786,7 +786,7 @@
/datum/reagent/consumable/nutriment/vitamin = 3,
)
tastes = list("dough" = 1, "garlic" = 1, "butter" = 1)
- foodtypes = GRAIN | VEGETABLES | RAW
+ foodtypes = GRAIN|VEGETABLES|RAW|DAIRY
crafting_complexity = FOOD_COMPLEXITY_4
/obj/item/food/raw_mothic_garlic/make_bakeable()
@@ -804,7 +804,7 @@
/datum/reagent/consumable/nutriment/vitamin = 5,
)
tastes = list("crust" = 1, "garlic" = 1, "butter" = 1)
- foodtypes = GRAIN | VEGETABLES | DAIRY | NUTS
+ foodtypes = GRAIN|VEGETABLES|DAIRY
slice_type = /obj/item/food/pizzaslice/mothic_garlic
boxtag = "Garlic Bread alla Moffuchi"
crafting_complexity = FOOD_COMPLEXITY_4
@@ -815,7 +815,7 @@
icon = 'icons/obj/food/moth.dmi'
icon_state = "garlic_slice"
tastes = list("dough" = 1, "garlic" = 1, "butter" = 1)
- foodtypes = GRAIN | VEGETABLES
+ foodtypes = GRAIN|VEGETABLES|DAIRY
crafting_complexity = FOOD_COMPLEXITY_4
//Bread
diff --git a/code/game/objects/items/food/pancakes.dm b/code/game/objects/items/food/pancakes.dm
index 488ba1e5eb5..3ddee9906cc 100644
--- a/code/game/objects/items/food/pancakes.dm
+++ b/code/game/objects/items/food/pancakes.dm
@@ -145,8 +145,8 @@
/obj/item/food/pancakes/proc/update_snack_overlays(obj/item/food/pancakes/pancake)
var/mutable_appearance/pancake_visual = mutable_appearance(icon, "[pancake.stack_name]_[rand(1, 3)]")
- pancake_visual.pixel_x = rand(-1, 1)
- pancake_visual.pixel_y = 3 * contents.len - 1
+ pancake_visual.pixel_w = rand(-1, 1)
+ pancake_visual.pixel_z = 3 * contents.len - 1
pancake_visual.layer = layer + (contents.len * 0.01)
add_overlay(pancake_visual)
update_appearance()
diff --git a/code/game/objects/items/food/pastries.dm b/code/game/objects/items/food/pastries.dm
index 556c0a0bda9..a46802c496a 100644
--- a/code/game/objects/items/food/pastries.dm
+++ b/code/game/objects/items/food/pastries.dm
@@ -11,7 +11,7 @@
/datum/reagent/consumable/nutriment/vitamin = 1,
)
tastes = list("muffin" = 1)
- foodtypes = GRAIN | SUGAR | BREAKFAST
+ foodtypes = GRAIN|DAIRY|SUGAR|BREAKFAST
food_flags = FOOD_FINGER_FOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
@@ -21,7 +21,7 @@
icon_state = "berrymuffin"
desc = "A delicious and spongy little cake, with berries."
tastes = list("muffin" = 3, "berry" = 1)
- foodtypes = GRAIN | FRUIT | SUGAR | BREAKFAST
+ foodtypes = GRAIN|DAIRY|SUGAR|BREAKFAST|FRUIT
venue_value = FOOD_PRICE_NORMAL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -31,7 +31,7 @@
alpha = 125
desc = "My stomach is a graveyard! No living being can quench my bloodthirst!"
tastes = list("muffin" = 3, "spookiness" = 1)
- foodtypes = GRAIN | FRUIT | SUGAR | BREAKFAST
+ foodtypes = GRAIN|DAIRY|SUGAR|BREAKFAST|FRUIT
crafting_complexity = FOOD_COMPLEXITY_4
/obj/item/food/muffin/booberry/Initialize(mapload, starting_reagent_purity, no_base_reagents)
@@ -44,7 +44,7 @@
base_icon_state = "moffin"
desc = "A delicious and spongy little cake."
tastes = list("muffin" = 3, "dust" = 1, "lint" = 1)
- foodtypes = CLOTH | GRAIN | SUGAR | BREAKFAST
+ foodtypes = CLOTH|DAIRY|GRAIN|SUGAR|BREAKFAST
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/muffin/moffin/Initialize(mapload)
@@ -72,7 +72,7 @@
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("waffles" = 1)
- foodtypes = GRAIN | SUGAR | BREAKFAST
+ foodtypes = GRAIN|DAIRY|BREAKFAST
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
@@ -90,7 +90,7 @@
/datum/reagent/consumable/nutriment/protein = 4,
)
tastes = list("waffles" = 7, "people" = 1)
- foodtypes = GRAIN | MEAT
+ foodtypes = MEAT|GRAIN|DAIRY
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -104,7 +104,7 @@
/datum/reagent/consumable/nutriment/protein = 2,
)
tastes = list("waffles" = 7, "the colour green" = 1)
- foodtypes = GRAIN
+ foodtypes = VEGETABLES|GRAIN|DAIRY
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -119,7 +119,7 @@
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("waffles" = 1, "mushrooms" = 1)
- foodtypes = GRAIN | VEGETABLES | SUGAR | BREAKFAST
+ foodtypes = GRAIN|DAIRY|VEGETABLES|BREAKFAST
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -155,7 +155,7 @@
trash_type = /obj/item/paper/paperslip/fortune
food_reagents = list(/datum/reagent/consumable/nutriment = 5)
tastes = list("cookie" = 1)
- foodtypes = GRAIN | SUGAR
+ foodtypes = GRAIN|SUGAR|DAIRY
food_flags = FOOD_FINGER_FOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
@@ -187,7 +187,7 @@
/datum/reagent/consumable/sugar = 6,
)
tastes = list("sweetness" = 1)
- foodtypes = GRAIN | JUNKFOOD | SUGAR
+ foodtypes = GRAIN|DAIRY|JUNKFOOD|SUGAR
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/cookie/sugar/Initialize(mapload, seasonal_changes = TRUE)
@@ -206,7 +206,7 @@
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("biscuit" = 3, "chocolate" = 1)
- foodtypes = GRAIN | JUNKFOOD
+ foodtypes = JUNKFOOD|GRAIN|DAIRY|SUGAR
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -219,7 +219,7 @@
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("cookie" = 2, "oat" = 1)
- foodtypes = GRAIN
+ foodtypes = GRAIN|DAIRY
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/cookie/raisin
@@ -231,7 +231,7 @@
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("cookie" = 1, "raisins" = 1)
- foodtypes = GRAIN | FRUIT
+ foodtypes = GRAIN|FRUIT|DAIRY|SUGAR
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/poppypretzel
@@ -243,7 +243,7 @@
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("pretzel" = 1)
- foodtypes = GRAIN | SUGAR
+ foodtypes = GRAIN|DAIRY|SUGAR
food_flags = FOOD_FINGER_FOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -257,7 +257,7 @@
/datum/reagent/consumable/nutriment/vitamin = 1,
)
tastes = list("mushroom" = 1, "biscuit" = 1)
- foodtypes = GRAIN | VEGETABLES
+ foodtypes = VEGETABLES|GRAIN|DAIRY
food_flags = FOOD_FINGER_FOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -311,7 +311,7 @@
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("cake" = 3, "cherry" = 1)
- foodtypes = GRAIN | FRUIT | SUGAR
+ foodtypes = GRAIN|DAIRY|FRUIT|SUGAR
food_flags = FOOD_FINGER_FOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -334,6 +334,9 @@
/datum/reagent/consumable/liquidelectricity/enriched = 3,
)
tastes = list("cake" = 3, "caramel" = 2, "zap" = 1)
+ foodtypes = GRAIN|DAIRY|VEGETABLES|SUGAR
+ food_flags = FOOD_FINGER_FOOD
+ w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
crafted_food_buff = /datum/status_effect/food/trait/shockimmune
@@ -346,7 +349,7 @@
/datum/reagent/consumable/honey = 6,
)
tastes = list("pastry" = 1, "sweetness" = 1)
- foodtypes = GRAIN | SUGAR
+ foodtypes = GRAIN|DAIRY|SUGAR
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -372,7 +375,7 @@
food_reagents = list(/datum/reagent/consumable/nutriment = 5)
tastes = list("cream" = 2, "waffle" = 1)
bite_consumption = 4
- foodtypes = DAIRY | SUGAR
+ foodtypes = DAIRY | SUGAR | GRAIN
food_flags = FOOD_FINGER_FOOD
crafting_complexity = FOOD_COMPLEXITY_2
max_volume = 10 //The max volumes scales up with the number of scoops of ice cream served.
@@ -432,7 +435,7 @@
/datum/reagent/consumable/peanut_butter = 5,
)
tastes = list("peanut butter" = 2, "cookie" = 1)
- foodtypes = GRAIN | JUNKFOOD | NUTS
+ foodtypes = GRAIN|DAIRY|JUNKFOOD|NUTS
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/raw_brownie_batter
@@ -445,7 +448,7 @@
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("raw brownie batter" = 1)
- foodtypes = GRAIN | JUNKFOOD | SUGAR | BREAKFAST
+ foodtypes = GRAIN|DAIRY|JUNKFOOD|SUGAR|BREAKFAST
crafting_complexity = FOOD_COMPLEXITY_1
/obj/item/food/raw_brownie_batter/make_bakeable()
@@ -461,7 +464,7 @@
/datum/reagent/consumable/sugar = 12,
)
tastes = list("brownie" = 1, "chocolatey goodness" = 1)
- foodtypes = GRAIN | JUNKFOOD | SUGAR
+ foodtypes = GRAIN|DAIRY|JUNKFOOD|SUGAR|BREAKFAST
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
@@ -478,7 +481,7 @@
/datum/reagent/consumable/sugar = 3,
)
tastes = list("brownie" = 1, "chocolatey goodness" = 1)
- foodtypes = GRAIN | JUNKFOOD | SUGAR
+ foodtypes = GRAIN|DAIRY|JUNKFOOD|SUGAR|BREAKFAST
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
@@ -493,7 +496,7 @@
/datum/reagent/consumable/peanut_butter = 4,
)
tastes = list("raw brownie batter" = 1)
- foodtypes = GRAIN | JUNKFOOD | SUGAR | NUTS
+ foodtypes = GRAIN|DAIRY|JUNKFOOD|SUGAR|BREAKFAST|NUTS
crafting_complexity = FOOD_COMPLEXITY_1
/obj/item/food/peanut_butter_brownie_batter/make_bakeable()
@@ -510,7 +513,7 @@
/datum/reagent/consumable/peanut_butter = 20,
)
tastes = list("brownie" = 1, "chocolatey goodness" = 1, "peanut butter" = 1)
- foodtypes = GRAIN | JUNKFOOD | SUGAR | NUTS
+ foodtypes = GRAIN|DAIRY|JUNKFOOD|SUGAR|BREAKFAST|NUTS
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -528,7 +531,7 @@
/datum/reagent/consumable/peanut_butter = 5,
)
tastes = list("brownie" = 1, "chocolatey goodness" = 1)
- foodtypes = GRAIN | JUNKFOOD | SUGAR
+ foodtypes = GRAIN|DAIRY|JUNKFOOD|SUGAR|BREAKFAST|NUTS
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -543,7 +546,7 @@
/datum/reagent/consumable/peanut_butter = 5,
)
tastes = list("peanut butter" = 1, "peanuts" = 1, "cream" = 1)
- foodtypes = GRAIN | JUNKFOOD | SUGAR | NUTS
+ foodtypes = GRAIN|DAIRY|JUNKFOOD|SUGAR|NUTS
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -591,7 +594,7 @@
icon_state = "thumbprint_cookie"
food_reagents = list(/datum/reagent/consumable/nutriment = 6)
tastes = list("cookie" = 2, "cherry jelly" = 3)
- foodtypes = GRAIN | SUGAR | FRUIT
+ foodtypes = GRAIN|DAIRY|SUGAR|FRUIT
food_flags = FOOD_FINGER_FOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
diff --git a/code/game/objects/items/food/pie.dm b/code/game/objects/items/food/pie.dm
index fae0edd7a20..de9d7bb2c49 100644
--- a/code/game/objects/items/food/pie.dm
+++ b/code/game/objects/items/food/pie.dm
@@ -6,7 +6,7 @@
max_volume = 80
food_reagents = list(/datum/reagent/consumable/nutriment = 10, /datum/reagent/consumable/nutriment/vitamin = 2)
tastes = list("pie" = 1)
- foodtypes = GRAIN
+ foodtypes = GRAIN | DAIRY
venue_value = FOOD_PRICE_NORMAL
crafting_complexity = FOOD_COMPLEXITY_2
/// type is spawned 5 at a time and replaces this pie when processed by cutting tool
@@ -24,7 +24,7 @@
w_class = WEIGHT_CLASS_TINY
food_reagents = list(/datum/reagent/consumable/nutriment = 2)
tastes = list("pie" = 1, "uncertainty" = 1)
- foodtypes = GRAIN | VEGETABLES
+ foodtypes = GRAIN | DAIRY
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/pie/plain
@@ -36,7 +36,6 @@
/datum/reagent/consumable/nutriment/vitamin = 1,
)
tastes = list("pie" = 1)
- foodtypes = GRAIN
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/pie/plain/Initialize(mapload)
@@ -47,14 +46,12 @@
name = "pie"
desc = "A custom pie made by a crazed chef."
icon_state = "pie_custom"
- foodtypes = GRAIN
slice_type = /obj/item/food/pieslice/empty
/obj/item/food/pieslice/empty
name = "pie slice"
desc = "A custom pie slice made by a crazed chef."
icon_state = "pie_custom_slice"
- foodtypes = GRAIN
/obj/item/food/pieslice/empty/Initialize(mapload)
. = ..()
@@ -70,7 +67,7 @@
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("pie" = 1)
- foodtypes = GRAIN | DAIRY | SUGAR
+ foodtypes = GRAIN|DAIRY|SUGAR|FRUIT
var/stunning = TRUE
crafting_complexity = FOOD_COMPLEXITY_3
@@ -99,7 +96,7 @@
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("pie" = 1, "blackberries" = 1)
- foodtypes = GRAIN | FRUIT | SUGAR
+ foodtypes = GRAIN|FRUIT|DAIRY|SUGAR
venue_value = FOOD_PRICE_NORMAL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -113,7 +110,7 @@
/datum/reagent/consumable/nutriment/vitamin = 5,
)
tastes = list("pie" = 1, "meat" = 1, "salmon" = 1)
- foodtypes = GRAIN | SUGAR | MEAT | FRUIT
+ foodtypes = GRAIN|DAIRY|SUGAR|MEAT|FRUIT
crafting_complexity = FOOD_COMPLEXITY_4
/obj/item/food/pie/meatpie
@@ -126,7 +123,7 @@
/datum/reagent/consumable/nutriment/protein = 2,
)
tastes = list("pie" = 1, "meat" = 1)
- foodtypes = GRAIN | MEAT
+ foodtypes = GRAIN|DAIRY|MEAT
venue_value = FOOD_PRICE_NORMAL
slice_type = /obj/item/food/pieslice/meatpie
crafting_complexity = FOOD_COMPLEXITY_3
@@ -136,7 +133,7 @@
desc = "Oh nice, meat pie!"
icon_state = "meatpie_slice"
tastes = list("pie" = 1, "meat" = 1)
- foodtypes = GRAIN | MEAT
+ foodtypes = GRAIN|DAIRY|MEAT
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/pie/tofupie
@@ -149,7 +146,7 @@
/datum/reagent/consumable/nutriment/vitamin = 6,
)
tastes = list("pie" = 1, "tofu" = 1)
- foodtypes = GRAIN | VEGETABLES
+ foodtypes = GRAIN|DAIRY|VEGETABLES
slice_type = /obj/item/food/pieslice/tofupie
crafting_complexity = FOOD_COMPLEXITY_3
@@ -158,7 +155,7 @@
desc = "Oh nice, meat pie- WAIT A MINUTE!!"
icon_state = "meatpie_slice"
tastes = list("pie" = 1, "disappointment" = 1, "tofu" = 1)
- foodtypes = GRAIN | VEGETABLES
+ foodtypes = GRAIN|DAIRY|VEGETABLES
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/pie/amanita_pie
@@ -173,7 +170,7 @@
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("pie" = 1, "mushroom" = 1)
- foodtypes = GRAIN | VEGETABLES | TOXIC | GROSS
+ foodtypes = GRAIN|DAIRY|VEGETABLES|TOXIC|GROSS
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/pie/plump_pie
@@ -185,7 +182,7 @@
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("pie" = 1, "mushroom" = 1)
- foodtypes = GRAIN | VEGETABLES
+ foodtypes = GRAIN|DAIRY|VEGETABLES
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/pie/plump_pie/Initialize(mapload)
@@ -210,7 +207,7 @@
/datum/reagent/consumable/nutriment/vitamin = 6,
)
tastes = list("pie" = 1, "meat" = 1, "acid" = 1)
- foodtypes = GRAIN | MEAT
+ foodtypes = MEAT|GRAIN|DAIRY
slice_type = /obj/item/food/pieslice/xemeatpie
crafting_complexity = FOOD_COMPLEXITY_3
@@ -219,7 +216,7 @@
desc = "Oh god... Is that still moving?"
icon_state = "xenopie_slice"
tastes = list("pie" = 1, "acid" = 1, "meat" = 1)
- foodtypes = GRAIN | MEAT
+ foodtypes = GRAIN|DAIRY|MEAT
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/pie/applepie
@@ -231,7 +228,7 @@
/datum/reagent/consumable/nutriment/vitamin = 5,
)
tastes = list("pie" = 1, "apple" = 1)
- foodtypes = GRAIN | FRUIT | SUGAR
+ foodtypes = GRAIN|DAIRY|FRUIT|SUGAR
slice_type = /obj/item/food/pieslice/apple
crafting_complexity = FOOD_COMPLEXITY_3
@@ -240,7 +237,7 @@
desc = "A slice of comfy apple pie, warm autumn memories ahead."
icon_state = "applepie_slice"
tastes = list("pie" = 1, "apples" = 1)
- foodtypes = GRAIN | FRUIT | SUGAR
+ foodtypes = GRAIN|DAIRY|FRUIT|SUGAR
crafting_complexity = FOOD_COMPLEXITY_3
@@ -253,7 +250,7 @@
/datum/reagent/consumable/nutriment/vitamin = 5,
)
tastes = list("pie" = 7, "Nicole Paige Brooks" = 2)
- foodtypes = GRAIN | FRUIT | SUGAR
+ foodtypes = GRAIN|DAIRY|FRUIT|SUGAR
slice_type = /obj/item/food/pieslice/cherry
crafting_complexity = FOOD_COMPLEXITY_3
@@ -262,7 +259,7 @@
desc = "A slice of delicious cherry pie, I hope it's morellos!"
icon_state = "cherrypie_slice"
tastes = list("pie" = 1, "apples" = 1)
- foodtypes = GRAIN | FRUIT | SUGAR
+ foodtypes = GRAIN|DAIRY|FRUIT|SUGAR
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/pie/pumpkinpie
@@ -274,7 +271,7 @@
/datum/reagent/consumable/nutriment/vitamin = 5,
)
tastes = list("pie" = 1, "pumpkin" = 1)
- foodtypes = GRAIN | VEGETABLES | SUGAR
+ foodtypes = GRAIN|DAIRY|VEGETABLES|SUGAR
slice_type = /obj/item/food/pieslice/pumpkin
crafting_complexity = FOOD_COMPLEXITY_3
@@ -283,7 +280,7 @@
desc = "A slice of pumpkin pie, with whipped cream on top. Perfection."
icon_state = "pumpkinpieslice"
tastes = list("pie" = 1, "pumpkin" = 1)
- foodtypes = GRAIN | VEGETABLES | SUGAR
+ foodtypes = GRAIN|DAIRY|VEGETABLES|SUGAR
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/pie/appletart
@@ -296,7 +293,7 @@
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("pie" = 1, "apple" = 1, "expensive metal" = 1)
- foodtypes = GRAIN | FRUIT | SUGAR
+ foodtypes = GRAIN|DAIRY|FRUIT|SUGAR
crafting_complexity = FOOD_COMPLEXITY_4
/obj/item/food/pie/grapetart
@@ -308,7 +305,7 @@
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("pie" = 1, "grape" = 1)
- foodtypes = GRAIN | FRUIT | SUGAR
+ foodtypes = GRAIN|DAIRY|FRUIT|SUGAR
crafting_complexity = FOOD_COMPLEXITY_4
/obj/item/food/pie/mimetart
@@ -321,7 +318,7 @@
/datum/reagent/consumable/nothing = 10,
)
tastes = list("nothing" = 3)
- foodtypes = GRAIN
+ foodtypes = GRAIN|DAIRY|SUGAR
crafted_food_buff = /datum/status_effect/food/trait/mute
/obj/item/food/pie/berrytart
@@ -333,7 +330,7 @@
/datum/reagent/consumable/nutriment/vitamin = 5,
)
tastes = list("pie" = 1, "berries" = 2)
- foodtypes = GRAIN | FRUIT
+ foodtypes = GRAIN|DAIRY|FRUIT|SUGAR
/obj/item/food/pie/cocolavatart
name = "chocolate lava tart"
@@ -344,7 +341,7 @@
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("pie" = 1, "dark chocolate" = 3)
- foodtypes = GRAIN | SUGAR
+ foodtypes = GRAIN|DAIRY|SUGAR
/obj/item/food/pie/blumpkinpie
name = "blumpkin pie"
@@ -355,7 +352,7 @@
/datum/reagent/consumable/nutriment/vitamin = 6,
)
tastes = list("pie" = 1, "a mouthful of pool water" = 1)
- foodtypes = GRAIN | VEGETABLES
+ foodtypes = GRAIN|DAIRY|VEGETABLES|SUGAR
slice_type = /obj/item/food/pieslice/blumpkin
crafting_complexity = FOOD_COMPLEXITY_3
@@ -364,7 +361,7 @@
desc = "A slice of blumpkin pie, with whipped cream on top. Is this edible?"
icon_state = "blumpkinpieslice"
tastes = list("pie" = 1, "a mouthful of pool water" = 1)
- foodtypes = GRAIN | VEGETABLES
+ foodtypes = GRAIN|DAIRY|VEGETABLES|SUGAR
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/pie/dulcedebatata
@@ -398,7 +395,7 @@
/datum/reagent/consumable/nutriment/vitamin = 6,
)
tastes = list("mint" = 1, "pie" = 1)
- foodtypes = GRAIN | FRUIT | SUGAR
+ foodtypes = GRAIN|DAIRY|FRUIT|SUGAR
slice_type = /obj/item/food/pieslice/frostypie
crafting_complexity = FOOD_COMPLEXITY_3
@@ -419,7 +416,7 @@
/datum/reagent/consumable/nutriment/vitamin = 6,
)
tastes = list("nuts" = 1, "pie" = 1)
- foodtypes = NUTS | SUGAR
+ foodtypes = GRAIN|DAIRY|SUGAR
slice_type = /obj/item/food/pieslice/baklava
yield = 6
crafting_complexity = FOOD_COMPLEXITY_4
@@ -429,7 +426,7 @@
desc = "A portion of a delightful healthy snack made of nut layers with thin bread"
icon_state = "baklavaslice"
tastes = list("nuts" = 1, "pie" = 1)
- foodtypes = NUTS | SUGAR
+ foodtypes = GRAIN|DAIRY|SUGAR
crafting_complexity = FOOD_COMPLEXITY_4
/obj/item/food/pie/frenchsilkpie
@@ -490,7 +487,7 @@
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("pie" = 1, "the far off year of 2010" = 1)
- foodtypes = GRAIN
+ foodtypes = GRAIN|DAIRY
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/pie/bacid_pie
@@ -502,7 +499,7 @@
/datum/reagent/consumable/liquidelectricity/enriched = 18
)
tastes = list("battery acid" = 2, "electricity" = 2, "a cyber world" = 2)
- foodtypes = TOXIC
+ foodtypes = GRAIN|DAIRY|TOXIC
slice_type = /obj/item/food/pieslice/bacid_pie
yield = 4
crafting_complexity = FOOD_COMPLEXITY_3
diff --git a/code/game/objects/items/food/pizza.dm b/code/game/objects/items/food/pizza.dm
index b3de33e9ecd..33aefddd187 100644
--- a/code/game/objects/items/food/pizza.dm
+++ b/code/game/objects/items/food/pizza.dm
@@ -296,8 +296,8 @@
/datum/reagent/medicine/omnizine = 10,
/datum/reagent/consumable/nutriment/vitamin = 5,
)
- tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1, "meat" = 1, "laziness" = 1)
- foodtypes = GRAIN | VEGETABLES | DAIRY | MEAT | JUNKFOOD
+ tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1, "umami" = 1, "laziness" = 1)
+ foodtypes = GRAIN|VEGETABLES|DAIRY|JUNKFOOD
slice_type = /obj/item/food/pizzaslice/donkpocket
boxtag = "Bangin' Donk"
crafting_complexity = FOOD_COMPLEXITY_3
@@ -305,7 +305,7 @@
/obj/item/food/pizza/donkpocket/raw
name = "raw donkpocket pizza"
icon_state = "donkpocketpizza_raw"
- foodtypes = GRAIN | VEGETABLES | DAIRY | MEAT | JUNKFOOD | RAW
+ foodtypes = GRAIN|VEGETABLES|DAIRY|JUNKFOOD|RAW
slice_type = null
/obj/item/food/pizza/donkpocket/raw/make_bakeable()
@@ -315,8 +315,8 @@
name = "donkpocket pizza slice"
desc = "Smells like donkpocket."
icon_state = "donkpocketpizzaslice"
- tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1, "meat" = 1, "laziness" = 1)
- foodtypes = GRAIN | VEGETABLES | DAIRY | MEAT | JUNKFOOD
+ tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1, "umami" = 1, "laziness" = 1)
+ foodtypes = GRAIN|VEGETABLES|DAIRY|JUNKFOOD
/obj/item/food/pizza/dank
name = "dank pizza"
@@ -458,12 +458,13 @@
tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1, "pepperoni" = 2, "9 millimeter bullets" = 2)
slice_type = /obj/item/food/pizzaslice/arnold
boxtag = "9mm Pepperoni"
+ foodtypes = MEAT|GRAIN|DAIRY|VEGETABLES
crafting_complexity = FOOD_COMPLEXITY_4
/obj/item/food/pizza/arnold/raw
name = "raw Arnold pizza"
icon_state = "arnoldpizza_raw"
- foodtypes = GRAIN | DAIRY | VEGETABLES | RAW
+ foodtypes = MEAT|GRAIN|DAIRY|VEGETABLES|RAW
slice_type = null
/obj/item/food/pizza/arnold/raw/make_bakeable()
@@ -539,14 +540,14 @@
)
tastes = list("pure electricity" = 4, "pizza" = 2)
slice_type = /obj/item/food/pizzaslice/energy
- foodtypes = TOXIC
+ foodtypes = GRAIN|TOXIC
boxtag = "24 Hour Energy"
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/pizza/energy/raw
name = "raw energy pizza"
icon_state = "energypizza_raw"
- foodtypes = TOXIC
+ foodtypes = GRAIN|TOXIC|RAW
slice_type = null
/obj/item/food/pizza/energy/raw/make_bakeable()
@@ -557,7 +558,7 @@
desc = "You're thinking about using this to power your modsuit. You should avoid eating this if you aren't an Ethereal."
icon_state ="energypizzaslice"
tastes = list("pure electricity" = 4, "pizza" = 2)
- foodtypes = TOXIC
+ foodtypes = GRAIN|TOXIC
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/raw_meat_calzone
@@ -570,7 +571,7 @@
/datum/reagent/consumable/nutriment/protein = 2,
)
tastes = list("raw dough" = 1, "raw meat" = 1, "cheese" = 1, "tomato sauce" = 1)
- foodtypes = GRAIN | RAW | DAIRY | MEAT
+ foodtypes = GRAIN|VEGETABLES|DAIRY|MEAT|RAW
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -587,7 +588,7 @@
/datum/reagent/consumable/nutriment/protein = 6,
)
tastes = list("baked dough" = 1, "juicy meat" = 1, "melted cheese" = 1, "tomato sauce" = 1)
- foodtypes = GRAIN | DAIRY | MEAT
+ foodtypes = GRAIN|VEGETABLES|DAIRY|MEAT
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
@@ -600,7 +601,7 @@
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("raw dough" = 1, "vegetables" = 1, "tomato sauce" = 1)
- foodtypes = GRAIN | VEGETABLES
+ foodtypes = GRAIN|VEGETABLES|RAW
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
diff --git a/code/game/objects/items/food/salad.dm b/code/game/objects/items/food/salad.dm
index ed9c1ba545b..58dffd65a60 100644
--- a/code/game/objects/items/food/salad.dm
+++ b/code/game/objects/items/food/salad.dm
@@ -36,7 +36,7 @@
icon_state = "validsalad"
food_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/nutriment/protein = 5, /datum/reagent/consumable/doctor_delight = 8, /datum/reagent/consumable/nutriment/vitamin = 6)
tastes = list("leaves" = 1, "potato" = 1, "meat" = 1, "valids" = 1)
- foodtypes = VEGETABLES | MEAT | FRIED | FRUIT
+ foodtypes = VEGETABLES | MEAT | FRIED
/obj/item/food/salad/fruit
name = "fruit salad"
@@ -44,7 +44,7 @@
icon_state = "fruitsalad"
food_reagents = list(/datum/reagent/consumable/nutriment = 9, /datum/reagent/consumable/nutriment/vitamin = 5)
tastes = list("fruit" = 1)
- foodtypes = FRUIT
+ foodtypes = FRUIT|ORANGES
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/salad/jungle
@@ -129,7 +129,7 @@
/datum/reagent/consumable/nutriment/vitamin = 6,
)
tastes = list("rice" = 1, "cheese" = 1)
- foodtypes = GRAIN | DAIRY
+ foodtypes = GRAIN|DAIRY|VEGETABLES
venue_value = FOOD_PRICE_EXOTIC
crafting_complexity = FOOD_COMPLEXITY_3
@@ -143,7 +143,7 @@
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("rice" = 1, "egg" = 1)
- foodtypes = GRAIN | MEAT //EGG = MEAT -NinjaNomNom 2017
+ foodtypes = MEAT|VEGETABLES|GRAIN
crafting_complexity = FOOD_COMPLEXITY_4
/obj/item/food/salad/edensalad
@@ -266,7 +266,7 @@
/datum/reagent/consumable/nutriment = 14,
)
tastes = list("healthy greens" = 2, "olive dressing" = 1, "feta cheese" = 1)
- foodtypes = VEGETABLES | DAIRY
+ foodtypes = VEGETABLES|FRUIT|DAIRY
crafting_complexity = FOOD_COMPLEXITY_4
/obj/item/food/salad/caesar_salad
@@ -303,7 +303,7 @@
/datum/reagent/consumable/nutriment/protein = 4,
)
tastes = list("creamy potatoes" = 2, "eggs" = 2, "mayonnaise" = 1, "onions" = 1)
- foodtypes = VEGETABLES | BREAKFAST
+ foodtypes = MEAT|VEGETABLES|BREAKFAST
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/salad/spinach_fruit_salad
@@ -315,7 +315,7 @@
/datum/reagent/consumable/nutriment = 12,
)
tastes = list("spinach" = 2, "berries" = 2, "pineapple" = 2, "dressing" = 1)
- foodtypes = VEGETABLES | FRUIT
+ foodtypes = VEGETABLES|FRUIT|PINEAPPLE
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/salad/antipasto_salad
@@ -328,5 +328,5 @@
/datum/reagent/consumable/nutriment/protein = 6,
)
tastes = list("lettuce" = 2, "salami" = 2, "mozzarella cheese" = 2, "tomatoes" = 2, "dressing" = 1)
- foodtypes = VEGETABLES | DAIRY | MEAT
+ foodtypes = MEAT|VEGETABLES|FRUIT|DAIRY
crafting_complexity = FOOD_COMPLEXITY_4
diff --git a/code/game/objects/items/food/sandwichtoast.dm b/code/game/objects/items/food/sandwichtoast.dm
index ebf934b341a..4c29252bd94 100644
--- a/code/game/objects/items/food/sandwichtoast.dm
+++ b/code/game/objects/items/food/sandwichtoast.dm
@@ -96,7 +96,7 @@
/datum/reagent/consumable/nutriment/vitamin = 1,
)
tastes = list("butter" = 1, "toast" = 1)
- foodtypes = GRAIN | BREAKFAST
+ foodtypes = GRAIN | BREAKFAST | DAIRY
food_flags = FOOD_FINGER_FOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
@@ -119,7 +119,7 @@
/obj/item/food/jelliedtoast/slime
food_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/toxin/slimejelly = 8, /datum/reagent/consumable/nutriment/vitamin = 4)
- foodtypes = GRAIN | TOXIC | SUGAR | BREAKFAST
+ foodtypes = GRAIN | TOXIC | BREAKFAST
/obj/item/food/twobread
name = "two bread"
@@ -242,7 +242,7 @@
/datum/reagent/consumable/nutriment/vitamin = 1,
)
tastes = list("bread" = 2, "Britain" = 1, "butter" = 1, "toast" = 1)
- foodtypes = GRAIN
+ foodtypes = GRAIN|DAIRY
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/sandwich/death
@@ -255,7 +255,7 @@
/datum/reagent/consumable/nutriment/vitamin = 6,
)
tastes = list("bread" = 1, "meat" = 1, "tomato sauce" = 1, "death" = 1)
- foodtypes = GRAIN | MEAT
+ foodtypes = MEAT|VEGETABLES|GRAIN
eat_time = 4 SECONDS // Makes it harder to force-feed this to people as a weapon, as funny as that is.
var/static/list/correct_clothing = list(/obj/item/clothing/under/rank/civilian/cookjorts, /obj/item/clothing/under/shorts/jeanshorts)
diff --git a/code/game/objects/items/food/snacks.dm b/code/game/objects/items/food/snacks.dm
index deb222033ba..dfdd0e5bbe7 100644
--- a/code/game/objects/items/food/snacks.dm
+++ b/code/game/objects/items/food/snacks.dm
@@ -94,7 +94,7 @@
)
junkiness = 20
tastes = list("salt" = 1, "crisps" = 1)
- foodtypes = JUNKFOOD | FRIED
+ foodtypes = VEGETABLES|JUNKFOOD|FRIED
w_class = WEIGHT_CLASS_SMALL
/obj/item/food/chips/make_leave_trash()
diff --git a/code/game/objects/items/food/soup.dm b/code/game/objects/items/food/soup.dm
index e1482b17a81..450893e2cfc 100644
--- a/code/game/objects/items/food/soup.dm
+++ b/code/game/objects/items/food/soup.dm
@@ -32,7 +32,7 @@
/datum/reagent/consumable/nutriment = 11,
/datum/reagent/consumable/nutriment/vitamin = 2,
)
- foodtypes = SUGAR | DAIRY
+ foodtypes = SUGAR | DAIRY | JUNKFOOD | GRAIN
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/bowled/spacylibertyduff
diff --git a/code/game/objects/items/food/sweets.dm b/code/game/objects/items/food/sweets.dm
index fcd5707f013..7088c2fe275 100644
--- a/code/game/objects/items/food/sweets.dm
+++ b/code/game/objects/items/food/sweets.dm
@@ -128,7 +128,7 @@
/datum/reagent/consumable/sugar = 1,
)
tastes = list("chocolate" = 3, "oranges" = 1)
- foodtypes = JUNKFOOD | SUGAR | ORANGES
+ foodtypes = JUNKFOOD|FRUIT|SUGAR|ORANGES
food_flags = FOOD_FINGER_FOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
@@ -143,7 +143,7 @@
/datum/reagent/consumable/coco = 1,
)
tastes = list("chocolate" = 1)
- foodtypes = DAIRY | JUNKFOOD | SUGAR
+ foodtypes = JUNKFOOD|SUGAR
food_flags = FOOD_FINGER_FOOD
w_class = WEIGHT_CLASS_TINY
@@ -176,7 +176,7 @@
/datum/reagent/consumable/nutriment/vitamin = 3,
)
tastes = list("chocolate" = 1, "peanuts" = 1)
- foodtypes = DAIRY | SUGAR | JUNKFOOD | NUTS
+ foodtypes = SUGAR|JUNKFOOD|NUTS
crafting_complexity = FOOD_COMPLEXITY_1
/obj/item/food/bonbon/peanut_butter_cup
@@ -188,7 +188,7 @@
/datum/reagent/consumable/nutriment/vitamin = 3,
)
tastes = list("chocolate" = 1, "peanut butter" = 1)
- foodtypes = DAIRY | SUGAR | JUNKFOOD | NUTS
+ foodtypes = SUGAR|JUNKFOOD|NUTS
crafting_complexity = FOOD_COMPLEXITY_1
// Gum
@@ -342,7 +342,7 @@
/datum/reagent/medicine/omnizine = 2,
) //lollipop, but vitamins = toxins
tastes = list("cobwebs" = 1, "sugar" = 2)
- foodtypes = JUNKFOOD | SUGAR | BUGS
+ foodtypes = JUNKFOOD|SUGAR|MEAT|BUGS
food_flags = FOOD_FINGER_FOOD
slot_flags = ITEM_SLOT_MASK
crafting_complexity = FOOD_COMPLEXITY_1
diff --git a/code/game/objects/items/food/vegetables.dm b/code/game/objects/items/food/vegetables.dm
index 8c0962106b1..000ada0907c 100644
--- a/code/game/objects/items/food/vegetables.dm
+++ b/code/game/objects/items/food/vegetables.dm
@@ -126,7 +126,7 @@
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("fries" = 3, "cheese" = 1)
- foodtypes = VEGETABLES | DAIRY
+ foodtypes = VEGETABLES|DAIRY|FRIED
w_class = WEIGHT_CLASS_SMALL
venue_value = FOOD_PRICE_CHEAP
preserved_food = TRUE
@@ -158,7 +158,7 @@
icon_state = "poutine"
food_reagents = list(/datum/reagent/consumable/nutriment = 7)
tastes = list("potato" = 3, "gravy" = 1, "squeaky cheese" = 1)
- foodtypes = VEGETABLES | FRIED | MEAT
+ foodtypes = VEGETABLES|DAIRY|FRIED|MEAT
w_class = WEIGHT_CLASS_SMALL
venue_value = FOOD_PRICE_CHEAP
preserved_food = TRUE
diff --git a/code/game/objects/items/granters/martial_arts/_martial_arts.dm b/code/game/objects/items/granters/martial_arts/_martial_arts.dm
index b7d186c99c0..bc61c9ad802 100644
--- a/code/game/objects/items/granters/martial_arts/_martial_arts.dm
+++ b/code/game/objects/items/granters/martial_arts/_martial_arts.dm
@@ -6,10 +6,12 @@
/// The text given to the user when they learn the martial arts
var/greet = ""
-/obj/item/book/granter/martial/can_learn(mob/user)
+/obj/item/book/granter/martial/can_learn(mob/living/user)
if(!martial)
CRASH("Someone attempted to learn [type], which did not have a martial arts set.")
- if(istype(user.mind?.martial_art, martial))
+ if(!isliving(user))
+ return FALSE
+ if(locate(martial) in user.martial_arts)
to_chat(user, span_warning("You already know [martial_name]!"))
return FALSE
return TRUE
@@ -19,12 +21,14 @@
return TRUE
/obj/item/book/granter/martial/on_reading_finished(mob/user)
- var/datum/martial_art/martial_to_learn = new martial()
- if(!martial_to_learn.teach(user))
- to_chat(user, span_warning("You attempt to learn [martial_name] from [src], \
- but your current knowledge of martial arts conflicts with the new style, so it just doesn't stick with you."))
- uses += 1 // Return the use
- return
+ if(user.mind)
+ if(!user.mind.AddComponent(/datum/component/mindbound_martial_arts, martial))
+ to_chat(user, span_warning("You attempt to learn [martial_name] from [src], but it doesn't stick."))
+ uses += 1 // Return the use
+ return
+ else
+ var/datum/martial_art/martial_art = new martial(user)
+ martial_art.teach(user)
to_chat(user, "[greet]")
- user.log_message("learned the martial art [martial_name] ([martial_to_learn])", LOG_ATTACK, color = "orange")
+ user.log_message("learned the martial art [martial_name] ([martial])", LOG_ATTACK, color = "orange")
diff --git a/code/game/objects/items/grenades/chem_grenade.dm b/code/game/objects/items/grenades/chem_grenade.dm
index 93af52924c2..a3cffcaeffc 100644
--- a/code/game/objects/items/grenades/chem_grenade.dm
+++ b/code/game/objects/items/grenades/chem_grenade.dm
@@ -9,7 +9,7 @@
/// Which stage of construction this grenade is currently at.
var/stage = GRENADE_EMPTY
/// The set of reagent containers that have been added to this grenade casing.
- var/list/obj/item/reagent_containers/cup/beakers = list()
+ var/list/obj/item/beakers = list()
/// The types of reagent containers that can be added to this grenade casing.
var/list/allowed_containers = list(/obj/item/reagent_containers/cup/beaker, /obj/item/reagent_containers/cup/bottle)
/// The types of reagent containers that can't be added to this grenade casing.
@@ -24,15 +24,15 @@
var/threatscale = 1
/// The description when examining empty casings.
var/casedesc = "This basic model accepts both beakers and bottles. It heats contents by 10 K upon ignition."
- /// Whether or not the grenade is currently acting as a landmine. Currently broken and not my current project.
+ /// Whether or not the grenade is currently acting as a landmine.
var/obj/item/assembly/prox_sensor/landminemode = null
/obj/item/grenade/chem_grenade/Initialize(mapload)
. = ..()
AddElement(/datum/element/empprotection, EMP_PROTECT_WIRES)
create_reagents(casing_holder_volume)
- stage_change() // If no argument is set, it will change the stage to the current stage, useful for stock grenades that start READY.
set_wires(new /datum/wires/explosive/chem_grenade(src))
+ update_appearance()
/obj/item/grenade/chem_grenade/Destroy(force)
QDEL_NULL(landminemode)
@@ -48,162 +48,186 @@
/obj/item/grenade/chem_grenade/examine(mob/user)
display_timer = (stage == GRENADE_READY) //show/hide the timer based on assembly state
. = ..()
- if(user.can_see_reagents())
- if(beakers.len)
- . += span_notice("You scan the grenade and detect the following reagents:")
- for(var/obj/item/reagent_containers/cup/glass_beaker in beakers)
- for(var/datum/reagent/reagent in glass_beaker.reagents.reagent_list)
- . += span_notice("[reagent.volume] units of [reagent.name] in \the [glass_beaker].")
- if(beakers.len == 1)
- . += span_notice("You detect no second beaker in the grenade.")
- else
- . += span_notice("You scan the grenade, but detect nothing.")
- else if(stage != GRENADE_READY && beakers.len)
- if(beakers.len == 2 && beakers[1].name == beakers[2].name)
+ if (!user.can_see_reagents())
+ if (stage == GRENADE_READY || !(length(beakers)))
+ return
+ if (length(beakers) == 2 && beakers[1].name == beakers[2].name)
. += span_notice("You see two [beakers[1].name]s inside the grenade.")
- else
- for(var/obj/item/reagent_containers/cup/glass_beaker in beakers)
- . += span_notice("You see a [glass_beaker.name] inside the grenade.")
+ return
+
+ for (var/obj/item/beaker as anything in beakers)
+ . += span_notice("You see a [beaker.name] inside the grenade.")
+
+ if (!length(beakers))
+ . += span_notice("You scan the grenade, but detect nothing.")
+ return
+
+ . += span_notice("You scan the grenade and detect the following reagents:")
+
+ for (var/obj/item/beaker as anything in beakers)
+ for (var/datum/reagent/reagent in beaker.reagents.reagent_list)
+ . += span_notice("[reagent.volume] units of [reagent.name] in \the [beaker].")
+
+ if (length(beakers) == 1)
+ . += span_notice("You detect no second beaker in the grenade.")
/obj/item/grenade/chem_grenade/update_name(updates)
- switch(stage)
- if(GRENADE_EMPTY)
+ switch (stage)
+ if (GRENADE_EMPTY)
name = "[initial(name)] casing"
- if(GRENADE_WIRED)
+ if (GRENADE_WIRED)
name = "unsecured [initial(name)]"
- if(GRENADE_READY)
+ if (GRENADE_READY)
name = initial(name)
return ..()
/obj/item/grenade/chem_grenade/update_desc(updates)
- switch(stage)
- if(GRENADE_EMPTY)
+ switch (stage)
+ if (GRENADE_EMPTY)
desc = "A do it yourself [initial(name)]! [initial(casedesc)]"
- if(GRENADE_WIRED)
+ if (GRENADE_WIRED)
desc = "An unsecured [initial(name)] assembly."
- if(GRENADE_READY)
+ if (GRENADE_READY)
desc = initial(desc)
return ..()
/obj/item/grenade/chem_grenade/update_icon_state()
- if(active)
+ if (active)
icon_state = "[base_icon_state]_active"
return ..()
- switch(stage)
- if(GRENADE_EMPTY)
+ switch (stage)
+ if (GRENADE_EMPTY)
icon_state = base_icon_state
- if(GRENADE_WIRED)
+ if (GRENADE_WIRED)
icon_state = "[base_icon_state]_ass"
- if(GRENADE_READY)
+ if (GRENADE_READY)
icon_state = "[base_icon_state]_locked"
return ..()
/obj/item/grenade/chem_grenade/attack_self(mob/user)
- if(stage == GRENADE_READY && !active)
- ..()
- if(stage == GRENADE_WIRED)
+ if (stage == GRENADE_READY && !active)
+ return ..()
+
+ if (stage == GRENADE_WIRED)
wires.interact(user)
/obj/item/grenade/chem_grenade/screwdriver_act(mob/living/user, obj/item/tool)
- . = TRUE
- if(dud_flags & GRENADE_USED)
+ if (dud_flags & GRENADE_USED)
balloon_alert(user, "resetting trigger...")
- if (do_after(user, 2 SECONDS, src))
- balloon_alert(user, "trigger reset")
- dud_flags &= ~GRENADE_USED
- return
+ if (!do_after(user, 2 SECONDS, src))
+ return ITEM_INTERACT_BLOCKING
- if(stage == GRENADE_WIRED)
- if(beakers.len)
+ balloon_alert(user, "trigger reset")
+ dud_flags &= ~GRENADE_USED
+ return ITEM_INTERACT_SUCCESS
+
+ if (stage == GRENADE_WIRED)
+ if (length(beakers))
stage_change(GRENADE_READY)
to_chat(user, span_notice("You lock the [initial(name)] assembly."))
tool.play_tool_sound(src, 25)
- else if(landminemode)
- landminemode.timing = FALSE
- if(!landminemode.secured)
- landminemode.toggle_secure()
- landminemode.toggle_scan(FALSE)
- to_chat(user, span_notice("You disarm \the [landminemode]."))
- tool.play_tool_sound(src, 25)
- else
- to_chat(user, span_warning("You need to add at least one beaker before locking the [initial(name)] assembly!"))
- else if(stage == GRENADE_READY)
- det_time = det_time == 50 ? 30 : 50 //toggle between 30 and 50
- if(landminemode)
- landminemode.time = det_time * 0.1 //overwrites the proxy sensor activation timer
- tool.play_tool_sound(src, 25)
- to_chat(user, span_notice("You modify the time delay. It's set for [DisplayTimeText(det_time)]."))
- else
- to_chat(user, span_warning("You need to add a wire!"))
+ return ITEM_INTERACT_SUCCESS
+ if (!landminemode || !(landminemode.scanning || landminemode.timing))
+ to_chat(user, span_warning("You need to add at least one beaker before locking the [initial(name)] assembly!"))
+ return ITEM_INTERACT_BLOCKING
+
+ landminemode.timing = FALSE
+ landminemode.toggle_scan(FALSE)
+ to_chat(user, span_notice("You disarm \the [landminemode]."))
+ tool.play_tool_sound(src, 25)
+ return ITEM_INTERACT_SUCCESS
+
+ if (stage != GRENADE_READY)
+ to_chat(user, span_warning("You need to add a wire!"))
+ return ITEM_INTERACT_BLOCKING
+
+ det_time = det_time == 5 SECONDS ? 3 SECONDS : 5 SECONDS
+ if (landminemode)
+ landminemode.time = det_time * 0.1 //overwrites the proxy sensor activation timer
+
+ tool.play_tool_sound(src, 25)
+ to_chat(user, span_notice("You modify the time delay. It's set for [DisplayTimeText(det_time)]."))
return TRUE
/obj/item/grenade/chem_grenade/wirecutter_act(mob/living/user, obj/item/tool)
- if(stage == GRENADE_READY && !active)
- tool.play_tool_sound(src)
- stage_change(GRENADE_WIRED)
- to_chat(user, span_notice("You unlock the [initial(name)] assembly."))
- return TRUE
+ if (stage != GRENADE_READY || active)
+ return NONE
+
+ tool.play_tool_sound(src)
+ stage_change(GRENADE_WIRED)
+ to_chat(user, span_notice("You unlock the [initial(name)] assembly."))
+ return TRUE
/obj/item/grenade/chem_grenade/wrench_act(mob/living/user, obj/item/tool)
- if(stage != GRENADE_WIRED)
- return FALSE
- if(beakers.len)
- for(var/obj/beaker in beakers)
- beaker.forceMove(drop_location())
- if(!beaker.reagents)
- continue
- var/reagent_list = pretty_string_from_reagent_list(beaker.reagents.reagent_list)
- user.log_message("removed [beaker] ([reagent_list]) from [src]", LOG_GAME)
- beakers = list()
- to_chat(user, span_notice("You open the [initial(name)] assembly and remove the payload."))
- return
- tool.play_tool_sound(src)
- wires.detach_assembly(wires.get_wire(1))
- new /obj/item/stack/cable_coil(get_turf(src), 1)
- stage_change(GRENADE_EMPTY)
- to_chat(user, span_notice("You remove the activation mechanism from the [initial(name)] assembly."))
+ if (stage != GRENADE_WIRED)
+ return NONE
-/obj/item/grenade/chem_grenade/attackby(obj/item/item, mob/user, params)
- if(isassembly(item) && stage == GRENADE_WIRED)
+ if (!length(beakers))
+ tool.play_tool_sound(src)
+ wires.detach_assembly(wires.get_wire(1))
+ new /obj/item/stack/cable_coil(get_turf(src), 1)
+ stage_change(GRENADE_EMPTY)
+ to_chat(user, span_notice("You remove the activation mechanism from the [initial(name)] assembly."))
+ return ITEM_INTERACT_SUCCESS
+
+ to_chat(user, span_notice("You open the [initial(name)] assembly and remove the payload."))
+ for(var/obj/item/beaker as anything in beakers)
+ beaker.forceMove(drop_location())
+ if(!beaker.reagents)
+ continue
+ var/reagent_list = pretty_string_from_reagent_list(beaker.reagents.reagent_list)
+ user.log_message("removed [beaker] ([reagent_list]) from [src]", LOG_GAME)
+ return ITEM_INTERACT_SUCCESS
+
+/obj/item/grenade/chem_grenade/item_interaction(mob/living/user, obj/item/item, list/modifiers)
+ if (isassembly(item) && stage == GRENADE_WIRED)
wires.interact(user)
- else if(stage == GRENADE_WIRED && is_type_in_list(item, allowed_containers))
- . = TRUE //no afterattack
- if(is_type_in_list(item, banned_containers))
- to_chat(user, span_warning("[src] is too small to fit [item]!")) // this one hits home huh anon?
- return
- if(beakers.len == 2)
- to_chat(user, span_warning("[src] can not hold more containers!"))
- return
- else
- if(item.reagents.total_volume)
- if(!user.transferItemToLoc(item, src))
- return
- to_chat(user, span_notice("You add [item] to the [initial(name)] assembly."))
- beakers += item
- var/reagent_list = pretty_string_from_reagent_list(item.reagents.reagent_list)
- user.log_message("inserted [item] ([reagent_list]) into [src]", LOG_GAME)
- else
- to_chat(user, span_warning("[item] is empty!"))
+ return ITEM_INTERACT_SUCCESS
- else if(stage == GRENADE_EMPTY && istype(item, /obj/item/stack/cable_coil))
+ if (stage == GRENADE_EMPTY && istype(item, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/coil = item
- if (coil.use(1))
- det_time = 50 // In case the cable_coil was removed and readded.
- stage_change(GRENADE_WIRED)
- to_chat(user, span_notice("You rig the [initial(name)] assembly."))
- else
+ if (!coil.use(1))
to_chat(user, span_warning("You need one length of coil to wire the assembly!"))
- return
- else
- return ..()
+ return ITEM_INTERACT_BLOCKING
-/obj/item/grenade/chem_grenade/proc/stage_change(N)
- if(N)
- stage = N
+ det_time = 5 SECONDS // In case the cable_coil was removed and readded.
+ stage_change(GRENADE_WIRED)
+ to_chat(user, span_notice("You rig the [initial(name)] assembly."))
+ return ITEM_INTERACT_SUCCESS
+
+ if (stage != GRENADE_WIRED)
+ return NONE
+
+ if (!is_type_in_list(item, allowed_containers))
+ return NONE
+
+ if(is_type_in_list(item, banned_containers))
+ to_chat(user, span_warning("[src] is too small to fit [item]!")) // this one hits home huh anon?
+ return ITEM_INTERACT_BLOCKING
+
+ if (length(beakers) == 2)
+ to_chat(user, span_warning("[src] can not hold more containers!"))
+ return ITEM_INTERACT_BLOCKING
+
+ if(!user.transferItemToLoc(item, src))
+ return ITEM_INTERACT_BLOCKING
+
+ to_chat(user, span_notice("You add [item] to the [initial(name)] assembly."))
+ beakers += item
+ var/reagent_list = pretty_string_from_reagent_list(item.reagents.reagent_list)
+ user.log_message("inserted [item] ([reagent_list]) into [src]", LOG_GAME)
+ return ITEM_INTERACT_SUCCESS
+
+/obj/item/grenade/chem_grenade/Exited(atom/movable/gone, direction)
+ . = ..()
+ beakers -= gone
+
+/obj/item/grenade/chem_grenade/proc/stage_change(new_stage)
+ stage = new_stage
update_appearance()
/obj/item/grenade/chem_grenade/on_found(mob/finder)
@@ -213,10 +237,10 @@
/obj/item/grenade/chem_grenade/log_grenade(mob/user)
var/reagent_string = ""
var/beaker_number = 1
- for(var/obj/exploded_beaker in beakers)
- if(!exploded_beaker.reagents)
- continue
- reagent_string += " ([exploded_beaker.name] [beaker_number++] : " + pretty_string_from_reagent_list(exploded_beaker.reagents.reagent_list) + ");"
+ for(var/obj/item/exploded_beaker as anything in beakers)
+ if (exploded_beaker.reagents)
+ reagent_string += " ([exploded_beaker.name] [beaker_number++] : " + pretty_string_from_reagent_list(exploded_beaker.reagents.reagent_list) + ");"
+
if(landminemode)
log_bomber(user, "activated a proxy", src, "containing:[reagent_string]", message_admins = !dud_flags)
else
@@ -224,10 +248,10 @@
/obj/item/grenade/chem_grenade/arm_grenade(mob/user, delayoverride, msg = TRUE, volume = 60)
log_grenade(user) //Inbuilt admin procs already handle null users
- if(user)
+ if (user)
add_fingerprint(user)
- if(msg)
- if(landminemode)
+ if (msg)
+ if (landminemode)
to_chat(user, span_warning("You prime [src], activating its proximity sensor."))
else
to_chat(user, span_warning("You prime [src]! [DisplayTimeText(det_time)]!"))
@@ -235,10 +259,11 @@
active = TRUE
update_icon_state()
playsound(src, grenade_arm_sound, volume, grenade_sound_vary)
- if(landminemode)
+ if (landminemode)
+ landminemode.toggle_scan(FALSE) // Ensures that if it was turned on before for some reason, it doesn't get turned off
landminemode.activate()
- return
- addtimer(CALLBACK(src, PROC_REF(detonate)), isnull(delayoverride)? det_time : delayoverride)
+ else
+ addtimer(CALLBACK(src, PROC_REF(detonate)), isnull(delayoverride)? det_time : delayoverride)
/obj/item/grenade/chem_grenade/detonate(mob/living/lanced_by)
if(stage != GRENADE_READY)
@@ -249,8 +274,8 @@
return
var/list/datum/reagents/reactants = list()
- for(var/obj/item/reagent_containers/cup/glass_beaker in beakers)
- reactants += glass_beaker.reagents
+ for(var/obj/item/beaker as anything in beakers)
+ reactants += beaker.reagents
var/turf/detonation_turf = get_turf(src)
if (chem_splash(detonation_turf, reagents, affected_area, reactants, ignition_temp, threatscale))
@@ -260,7 +285,6 @@
active = FALSE
update_appearance()
-
//Large chem grenades accept slime cores and use the appropriately.
/obj/item/grenade/chem_grenade/large
name = "large grenade"
@@ -268,7 +292,7 @@
casedesc = "This casing affects a larger area than the basic model and can fit exotic containers, including slime cores and bluespace beakers. Heats contents by 25 K upon ignition."
icon_state = "large_grenade"
base_icon_state = "large_grenade"
- allowed_containers = list(/obj/item/reagent_containers/cup, /obj/item/reagent_containers/condiment, /obj/item/reagent_containers/cup/glass)
+ allowed_containers = list(/obj/item/reagent_containers/cup, /obj/item/reagent_containers/condiment, /obj/item/reagent_containers/cup/glass, /obj/item/slime_extract)
banned_containers = list()
affected_area = 5
ignition_temp = 25 // Large grenades are slightly more effective at setting off heat-sensitive mixtures than smaller grenades.
@@ -280,7 +304,6 @@
update_appearance()
return FALSE
-
var/extract_total_volume = 0
var/extract_maximum_volume = 0
var/list/extracts = list()
@@ -292,18 +315,18 @@
if(!thing.reagents)
continue
- if(istype(thing, /obj/item/slime_extract))
- var/obj/item/slime_extract/extract = thing
- if(!extract.extract_uses)
- continue
-
- extract_total_volume += extract.reagents.total_volume
- extract_maximum_volume += extract.reagents.maximum_volume
- extracts += extract
- else
+ if(!istype(thing, /obj/item/slime_extract))
beaker_total_volume += thing.reagents.total_volume
other_containers += thing
+ continue
+ var/obj/item/slime_extract/extract = thing
+ if(!extract.extract_uses)
+ continue
+
+ extract_total_volume += extract.reagents.total_volume
+ extract_maximum_volume += extract.reagents.maximum_volume
+ extracts += extract
var/available_extract_volume = extract_maximum_volume - extract_total_volume
if(beaker_total_volume <= 0 || available_extract_volume <= 0)
@@ -325,18 +348,6 @@
return ..()
- //I tried to just put it in the allowed_containers list but
- //if you do that it must have reagents. If you're going to
- //make a special case you might as well do it explicitly. -Sayu
-/obj/item/grenade/chem_grenade/large/attackby(obj/item/item, mob/user, params)
- if(!istype(item, /obj/item/slime_extract) || stage != GRENADE_WIRED)
- return ..()
-
- if(!user.transferItemToLoc(item, src))
- return
- to_chat(user, span_notice("You add [item] to the [initial(name)] assembly."))
- beakers += item
-
/obj/item/grenade/chem_grenade/cryo // Intended for rare cryogenic mixes. Cools the area moderately upon detonation.
name = "cryo grenade"
desc = "A custom made cryogenic grenade. Rapidly cools contents upon ignition."
@@ -364,13 +375,15 @@
/obj/item/grenade/chem_grenade/adv_release/multitool_act(mob/living/user, obj/item/tool)
if (active)
- return
+ return ITEM_INTERACT_BLOCKING
+
var/newspread = tgui_input_number(user, "Please enter a new spread amount", "Grenade Spread", 5, 100, 5)
if(!newspread || QDELETED(user) || QDELETED(src) || !usr.can_perform_action(src, FORBID_TELEKINESIS_REACH))
- return
+ return ITEM_INTERACT_BLOCKING
+
unit_spread = newspread
to_chat(user, span_notice("You set the time release to [unit_spread] units per detonation."))
- ..()
+ return ..()
/obj/item/grenade/chem_grenade/adv_release/detonate(mob/living/lanced_by)
if(stage != GRENADE_READY || dud_flags)
@@ -381,10 +394,12 @@
var/total_volume = 0
for(var/obj/item/reagent_containers/reagent_container in beakers)
total_volume += reagent_container.reagents.total_volume
+
if(!total_volume)
active = FALSE
update_appearance()
return
+
var/fraction = unit_spread/total_volume
var/datum/reagents/reactants = new(unit_spread)
reactants.my_atom = src
@@ -395,18 +410,13 @@
threatscale,
no_react = TRUE
)
- chem_splash(get_turf(src), reagents, affected_area, list(reactants), ignition_temp, threatscale)
var/turf/detonated_turf = get_turf(src)
+ chem_splash(detonated_turf, reagents, affected_area, list(reactants), ignition_temp, threatscale)
addtimer(CALLBACK(src, PROC_REF(detonate)), det_time)
log_game("A grenade detonated at [AREACOORD(detonated_turf)]")
-
-
-
-//////////////////////////////
-////// PREMADE GRENADES //////
-//////////////////////////////
+// Premade grenades
/obj/item/grenade/chem_grenade/metalfoam
name = "metal foam grenade"
diff --git a/code/game/objects/items/grenades/hypno.dm b/code/game/objects/items/grenades/hypno.dm
index 0d7601df204..d77049419ab 100644
--- a/code/game/objects/items/grenades/hypno.dm
+++ b/code/game/objects/items/grenades/hypno.dm
@@ -52,7 +52,7 @@
living_mob.Paralyze(10)
living_mob.Knockdown(100)
to_chat(living_mob, span_hypnophrase("The sound echoes in your brain..."))
- living_mob.adjust_hallucinations(100 SECONDS)
+ living_mob.adjust_hallucinations(150 SECONDS)
else
if(distance <= 1)
@@ -60,7 +60,7 @@
living_mob.Knockdown(30)
if(hypno_sound)
to_chat(living_mob, span_hypnophrase("The sound echoes in your brain..."))
- living_mob.adjust_hallucinations(100 SECONDS)
+ living_mob.adjust_hallucinations(150 SECONDS)
//Flash
if(living_mob.flash_act(affect_silicon = 1))
diff --git a/code/game/objects/items/implants/implant_krav_maga.dm b/code/game/objects/items/implants/implant_krav_maga.dm
index 4d921269beb..5dd821a683d 100644
--- a/code/game/objects/items/implants/implant_krav_maga.dm
+++ b/code/game/objects/items/implants/implant_krav_maga.dm
@@ -3,6 +3,7 @@
desc = "Teaches you the arts of Krav Maga in 5 short instructional videos beamed directly into your eyeballs."
icon = 'icons/obj/scrolls.dmi'
icon_state ="scroll2"
+ /// The martial art style this implant teaches.
var/datum/martial_art/krav_maga/style
/obj/item/implant/krav_maga/get_data()
@@ -15,8 +16,7 @@
/obj/item/implant/krav_maga/Initialize(mapload)
. = ..()
- style = new()
- style.allow_temp_override = FALSE
+ style = new(src)
/obj/item/implant/krav_maga/Destroy()
QDEL_NULL(style)
@@ -26,10 +26,10 @@
. = ..()
if(isnull(imp_in.mind))
return
- if(style.fully_remove(imp_in))
+ if(style.unlearn(imp_in))
return
- style.teach(imp_in, TRUE)
+ style.teach(imp_in)
/obj/item/implanter/krav_maga
name = "implanter (krav maga)"
diff --git a/code/game/objects/items/mail.dm b/code/game/objects/items/mail.dm
index 1e414ca68da..d8659732e24 100644
--- a/code/game/objects/items/mail.dm
+++ b/code/game/objects/items/mail.dm
@@ -82,22 +82,22 @@
for(var/stamp in stamps)
var/image/stamp_image = image(
icon = icon,
- icon_state = stamp,
- pixel_x = stamp_offset_x,
- pixel_y = stamp_offset_y + bonus_stamp_offset
+ icon_state = stamp
)
- stamp_image.appearance_flags |= RESET_COLOR
+ stamp_image.pixel_w = pixel_w = stamp_offset_x
+ stamp_image.pixel_z = stamp_offset_y + bonus_stamp_offset
+ stamp_image.appearance_flags |= RESET_COLOR|KEEP_APART
bonus_stamp_offset -= 5
. += stamp_image
if(postmarked == TRUE)
var/image/postmark_image = image(
icon = icon,
- icon_state = "postmark",
- pixel_x = stamp_offset_x + rand(-3, 1),
- pixel_y = stamp_offset_y + rand(bonus_stamp_offset + 3, 1)
+ icon_state = "postmark"
)
- postmark_image.appearance_flags |= RESET_COLOR
+ postmark_image.pixel_w = stamp_offset_x + rand(-3, 1)
+ postmark_image.pixel_z = stamp_offset_y + rand(bonus_stamp_offset + 3, 1)
+ postmark_image.appearance_flags |= RESET_COLOR|KEEP_APART
. += postmark_image
/obj/item/mail/attackby(obj/item/W, mob/user, params)
@@ -252,8 +252,10 @@
base_icon_state = "mail"
can_install_electronics = FALSE
lid_icon_state = "maillid"
- lid_x = -26
- lid_y = 2
+ lid_w = -26
+ lid_z = 2
+ weld_w = 1
+ weld_z = 4
paint_jobs = null
///if it'll show the nt mark on the crate
var/postmarked = TRUE
diff --git a/code/game/objects/items/melee/baton.dm b/code/game/objects/items/melee/baton.dm
index 946a9e47eae..5e84c16ffd8 100644
--- a/code/game/objects/items/melee/baton.dm
+++ b/code/game/objects/items/melee/baton.dm
@@ -86,7 +86,7 @@
readout += "\n[active ? "It is currently [span_warning("[activated_word]")], and capable of stunning." : "It is [span_warning("not [activated_word]")], and not capable of stunning."]"
if(stamina_damage <= 0) // The advanced baton actually does have 0 stamina damage so...yeah.
- readout += "Either is is [span_warning("completely unable to perform a stunning strike")], or it [span_warning("attacks via some unusual method")]."
+ readout += "Either it is [span_warning("completely unable to perform a stunning strike")], or it [span_warning("attacks via some unusual method")]."
return readout.Join("\n")
readout += "It takes [span_warning("[HITS_TO_CRIT(stamina_damage)] strike\s")] to stun an enemy."
@@ -984,3 +984,56 @@
else
stuff_in_hand.forceMove(user.drop_location())
stuff_in_hand.loc.visible_message(span_warning("[stuff_in_hand] suddenly appears!"))
+
+
+/obj/item/melee/baton/nunchaku
+ name = "Syndie Fitness Nunchuks"
+ desc = "The most common fitness equipment in the entire syndicate, titanium rods weigh strictly 13 pounds"
+ desc_controls = "Left click to stun, right click to harm. Throw mode counterattack any melee/throwable attacks."
+ icon_state = "nunchaku"
+ lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi'
+ inhand_icon_state = "nunchaku"
+ worn_icon_state = "nunchaku"
+ attack_verb_continuous = list("beats", "whips", "smashes", "punishes")
+ attack_verb_simple = list("beat", "whip", "smash", "punish")
+ hitsound = 'sound/items/weapons/chainhit.ogg'
+ block_sound = 'sound/items/weapons/block_shield.ogg'
+ slot_flags = ITEM_SLOT_BELT
+ cooldown = CLICK_CD_MELEE
+ knockdown_time = 0.25 SECONDS
+ demolition_mod = 1.5
+ stamina_damage = 30 // 4 hit stamcrit
+ stun_armour_penetration = 30 // bronze-silver telescopic
+ force = 16 // 7 hit crit
+ bare_wound_bonus = 5
+
+/obj/item/melee/baton/nunchaku/proc/randomize_state()
+ icon_state = pick(list("nunchaku", "nunchaku_x", "nunchaku_y"))
+ update_appearance()
+
+/obj/item/melee/baton/nunchaku/after_throw(datum/callback/callback)
+ . = ..()
+ randomize_state()
+
+/obj/item/melee/baton/nunchaku/afterattack(atom/target, mob/user, click_parameters)
+ . = ..()
+ randomize_state()
+
+/obj/item/melee/baton/nunchaku/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text, final_block_chance, damage, attack_type, damage_type)
+ if(attack_type == PROJECTILE_ATTACK || !owner.throw_mode)
+ return ..()
+
+ randomize_state()
+
+ // blocks any melee/throwable attacks
+ owner.adjustStaminaLoss(5)
+ final_block_chance = 100
+
+ // counterattack at melee
+ if(attack_type in list(MELEE_ATTACK, UNARMED_ATTACK, LEAP_ATTACK))
+ var/mob/living/attacker = GET_ASSAILANT(hitby)
+ playsound(src, pick(list('sound/items/weapons/cqchit2.ogg', 'sound/items/weapons/cqchit1.ogg')), 70, FALSE)
+ melee_attack_chain(owner, attacker, LEFT_CLICK)
+
+ return ..()
diff --git a/code/game/objects/items/piggy_bank.dm b/code/game/objects/items/piggy_bank.dm
index b6294dbc4dd..8b0af071fa4 100644
--- a/code/game/objects/items/piggy_bank.dm
+++ b/code/game/objects/items/piggy_bank.dm
@@ -49,14 +49,41 @@
SSticker.OnRoundend(persistence_cb)
if(initial_value && initial_value + calculate_dosh_amount() <= maximum_value)
- new /obj/item/holochip(src, initial_value)
+ var/obj/item/holochip/chip = locate() in src
+ if(!chip)
+ new /obj/item/holochip(src, initial_value)
+ else
+ chip.credits += initial_value
+ chip.update_appearance()
if(maximum_savings_per_shift)
maximum_value = calculate_dosh_amount() + maximum_savings_per_shift
/obj/item/piggy_bank/proc/save_cash()
+ sanitize_piggy_bank_contents_len()
SSpersistence.save_piggy_bank(src)
+#define MAXIMUM_PIGGY_BANK_CONTENTS_LENGTH 35
+
+///This prevents the piggy bank from becoming laggy as hell if broken with hundred upon hundreds of chips inside it.
+/obj/item/piggy_bank/proc/sanitize_piggy_bank_contents_len()
+ var/contents_len = length(contents)
+ if(contents_len <= MAXIMUM_PIGGY_BANK_CONTENTS_LENGTH)
+ return
+ // that +1 is to make space for the holochip with the collected amount
+ var/iterations = contents_len + 1 - MAXIMUM_PIGGY_BANK_CONTENTS_LENGTH
+ var/creds_amount = 0
+ for(var/i in 1 to iterations)
+ var/obj/item/money = pick(contents)
+ if(!istype(money)) // Very barebone safety for somethig that shouldn't happen just in case
+ continue // Yes, this means we lose an iteration, the code is that simple.
+ creds_amount += money.get_item_credit_value()
+ qdel(money)
+ if(creds_amount)
+ new /obj/item/holochip(src, creds_amount)
+
+#undef MAXIMUM_PIGGY_BANK_CONTENTS_LENGTH
+
/obj/item/piggy_bank/Destroy()
if(persistence_cb)
LAZYREMOVE(SSticker.round_end_events, persistence_cb) //cleanup the callback.
@@ -112,6 +139,7 @@
balloon_alert(user, "stuck in your hands!")
else
balloon_alert(user, "inserted [creds_value] creds")
+ sanitize_piggy_bank_contents_len()
return TRUE
///Returns the total amount of credits that its contents amount to.
diff --git a/code/game/objects/items/pinpointer.dm b/code/game/objects/items/pinpointer.dm
index 3b877393031..c28f5acb66b 100644
--- a/code/game/objects/items/pinpointer.dm
+++ b/code/game/objects/items/pinpointer.dm
@@ -95,7 +95,7 @@
desc = "A handheld tracking device that points to crew suit sensors."
icon_state = "pinpointer_crew"
worn_icon_state = "pinpointer_crew"
- custom_price = PAYCHECK_CREW * 4
+ custom_price = PAYCHECK_CREW * 6
custom_premium_price = PAYCHECK_CREW * 6
var/has_owner = FALSE
var/pinpointer_owner = null
diff --git a/code/game/objects/items/puzzle_pieces.dm b/code/game/objects/items/puzzle_pieces.dm
index 6772d4203f3..ebece113d0b 100644
--- a/code/game/objects/items/puzzle_pieces.dm
+++ b/code/game/objects/items/puzzle_pieces.dm
@@ -264,10 +264,10 @@
continue
var/mutable_appearance/lit_image = mutable_appearance('icons/obj/fluff/puzzle_small.dmi', "light_lit")
var/mutable_appearance/emissive_image = emissive_appearance('icons/obj/fluff/puzzle_small.dmi', "light_lit", src)
- lit_image.pixel_x = 8 * ((i % 3 || 3 ) - 1)
- lit_image.pixel_y = -8 * (ROUND_UP(i / 3) - 1)
- emissive_image.pixel_x = lit_image.pixel_x
- emissive_image.pixel_y = lit_image.pixel_y
+ lit_image.pixel_w = 8 * ((i % 3 || 3 ) - 1)
+ lit_image.pixel_z = -8 * (ROUND_UP(i / 3) - 1)
+ emissive_image.pixel_w = lit_image.pixel_w
+ emissive_image.pixel_z = lit_image.pixel_z
. += lit_image
. += emissive_image
@@ -595,13 +595,13 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/puzzle/password/pin, 32)
pixel_y += round(extra_rows*(PUZZLE_DOTS_VERTICAL_OFFSET*0.5))
for(var/i in 1 to extra_rows)
var/mutable_appearance/row = mutable_appearance(icon, icon_state)
- row.pixel_y = -i*PUZZLE_DOTS_VERTICAL_OFFSET
+ row.pixel_z = -i*PUZZLE_DOTS_VERTICAL_OFFSET
add_overlay(row)
for(var/i in 1 to pass_len)
var/mutable_appearance/colored_dot = mutable_appearance(icon, "puzzle_dot_single")
colored_dot.color = pad.digit_to_color[pass_digits[i]]
- colored_dot.pixel_x = PUZZLE_DOTS_HORIZONTAL_OFFSET * ((i-1)%MAX_PUZZLE_DOTS_PER_ROW)
- colored_dot.pixel_y -= CEILING((i/MAX_PUZZLE_DOTS_PER_ROW)-1, 1)*PUZZLE_DOTS_VERTICAL_OFFSET
+ colored_dot.pixel_w = PUZZLE_DOTS_HORIZONTAL_OFFSET * ((i-1)%MAX_PUZZLE_DOTS_PER_ROW)
+ colored_dot.pixel_z -= CEILING((i/MAX_PUZZLE_DOTS_PER_ROW)-1, 1)*PUZZLE_DOTS_VERTICAL_OFFSET
add_overlay(colored_dot)
#undef MAX_PUZZLE_DOTS_PER_ROW
diff --git a/code/game/objects/items/robot/items/storage.dm b/code/game/objects/items/robot/items/storage.dm
index e0310d62584..caa510e8037 100644
--- a/code/game/objects/items/robot/items/storage.dm
+++ b/code/game/objects/items/robot/items/storage.dm
@@ -139,16 +139,16 @@
. = ..()
var/mutable_appearance/arm = mutable_appearance(icon = icon, icon_state = "borg_beaker_apparatus_arm")
if(stored)
- stored.pixel_x = 0
- stored.pixel_y = 0
+ stored.pixel_w = 0
+ stored.pixel_z = 0
var/mutable_appearance/stored_copy = new /mutable_appearance(stored)
if(istype(stored, /obj/item/reagent_containers/cup/beaker))
- arm.pixel_y = arm.pixel_y - 3
+ arm.pixel_z -= 3
stored_copy.layer = FLOAT_LAYER
stored_copy.plane = FLOAT_PLANE
. += stored_copy
else
- arm.pixel_y = arm.pixel_y - 5
+ arm.pixel_z -= 5
. += arm
/obj/item/borg/apparatus/beaker/extra
@@ -229,8 +229,8 @@
var/mutable_appearance/stored_organ = new /mutable_appearance(stored)
stored_organ.layer = FLOAT_LAYER
stored_organ.plane = FLOAT_PLANE
- stored_organ.pixel_x = 0
- stored_organ.pixel_y = 0
+ stored_organ.pixel_w = 0
+ stored_organ.pixel_z = 0
. += stored_organ
bag = mutable_appearance(icon, icon_state = "evidence") // full bag
else
@@ -265,8 +265,8 @@
. = ..()
var/mutable_appearance/arm = mutable_appearance(icon, "borg_stack_apparatus_arm1")
if(stored)
- stored.pixel_x = 0
- stored.pixel_y = 0
+ stored.pixel_w = 0
+ stored.pixel_z = 0
arm.icon_state = "borg_stack_apparatus_arm2"
var/mutable_appearance/stored_copy = new /mutable_appearance(stored)
var/underscore = findtext(stored_copy.icon_state, "_")
@@ -299,8 +299,8 @@
. = ..()
var/mutable_appearance/arm = mutable_appearance(icon, "borg_hardware_apparatus_arm1")
if(stored)
- stored.pixel_x = -3
- stored.pixel_y = 0
+ stored.pixel_w = -3
+ stored.pixel_z = 0
if(!istype(stored, /obj/item/circuitboard))
arm.icon_state = "borg_hardware_apparatus_arm2"
var/mutable_appearance/stored_copy = new /mutable_appearance(stored)
@@ -344,8 +344,8 @@
. = ..()
var/mutable_appearance/arm = mutable_appearance(icon, "borg_hardware_apparatus_arm1")
if(stored)
- stored.pixel_x = -3
- stored.pixel_y = 0
+ stored.pixel_w = -3
+ stored.pixel_z = 0
if((!istype(stored, /obj/item/plate/oven_tray)) || (!istype(stored, /obj/item/food)))
arm.icon_state = "borg_hardware_apparatus_arm2"
var/mutable_appearance/stored_copy = new /mutable_appearance(stored)
diff --git a/code/game/objects/items/shooting_range.dm b/code/game/objects/items/shooting_range.dm
index 0930de71c0e..8ed78cccc87 100644
--- a/code/game/objects/items/shooting_range.dm
+++ b/code/game/objects/items/shooting_range.dm
@@ -52,8 +52,8 @@
return
var/image/bullet_hole = image('icons/effects/effects.dmi', "dent", OBJ_LAYER + 0.5)
- bullet_hole.pixel_x = p_x - 1 //offset correction
- bullet_hole.pixel_y = p_y - 1
+ bullet_hole.pixel_w = p_x - 1 //offset correction
+ bullet_hole.pixel_z = p_y - 1
if(hitting_projectile.damage_type != BRUTE)
bullet_hole.setDir(pick(GLOB.cardinals))// random scorch design
if(hitting_projectile.damage < 20 && is_generic_projectile)
diff --git a/code/game/objects/items/shrapnel.dm b/code/game/objects/items/shrapnel.dm
index 9763b060c01..eb69de6687c 100644
--- a/code/game/objects/items/shrapnel.dm
+++ b/code/game/objects/items/shrapnel.dm
@@ -47,6 +47,7 @@
embed_chance = 70
ignore_throwspeed_threshold = TRUE
fall_chance = 1
+ stealthy_embed = TRUE
/obj/projectile/bullet/shrapnel/short_range
range = 5
@@ -132,4 +133,3 @@
name = "\improper AP shrapnel shard"
custom_materials = list(/datum/material/iron= SMALL_MATERIAL_AMOUNT * 0.5)
weak_against_armour = TRUE
-
diff --git a/code/game/objects/items/stacks/bscrystal.dm b/code/game/objects/items/stacks/bscrystal.dm
index a63f79a5121..0e13f50136a 100644
--- a/code/game/objects/items/stacks/bscrystal.dm
+++ b/code/game/objects/items/stacks/bscrystal.dm
@@ -104,3 +104,6 @@
to_chat(user, span_notice("You break off a crystal."))
else
..()
+
+/obj/item/stack/sheet/bluespace_crystal/fifty
+ amount = 50
diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm
index 6d1bbe7bc64..4f0d2a8bfea 100644
--- a/code/game/objects/items/stacks/sheets/glass.dm
+++ b/code/game/objects/items/stacks/sheets/glass.dm
@@ -27,7 +27,7 @@ GLOBAL_LIST_INIT(glass_recipes, list ( \
merge_type = /obj/item/stack/sheet/glass
grind_results = list(/datum/reagent/silicon = 20)
material_type = /datum/material/glass
- tableVariant = /obj/structure/table/glass
+ table_type = /obj/structure/table/glass
matter_amount = 4
cost = SHEET_MATERIAL_AMOUNT
source = /datum/robot_energy_storage/material/glass
@@ -103,7 +103,7 @@ GLOBAL_LIST_INIT(pglass_recipes, list ( \
merge_type = /obj/item/stack/sheet/plasmaglass
grind_results = list(/datum/reagent/silicon = 20, /datum/reagent/toxin/plasma = 10)
material_flags = NONE
- tableVariant = /obj/structure/table/glass/plasmaglass
+ table_type = /obj/structure/table/glass/plasmaglass
pickup_sound = 'sound/items/handling/materials/glass_pick_up.ogg'
drop_sound = 'sound/items/handling/materials/glass_drop.ogg'
@@ -163,7 +163,7 @@ GLOBAL_LIST_INIT(reinforced_glass_recipes, list ( \
merge_type = /obj/item/stack/sheet/rglass
grind_results = list(/datum/reagent/silicon = 20, /datum/reagent/iron = 10)
matter_amount = 6
- tableVariant = /obj/structure/table/reinforced/rglass
+ table_type = /obj/structure/table/reinforced/rglass
pickup_sound = 'sound/items/handling/materials/glass_pick_up.ogg'
drop_sound = 'sound/items/handling/materials/glass_drop.ogg'
@@ -203,7 +203,7 @@ GLOBAL_LIST_INIT(prglass_recipes, list ( \
grind_results = list(/datum/reagent/silicon = 20, /datum/reagent/toxin/plasma = 10, /datum/reagent/iron = 10)
gulag_valid = TRUE
matter_amount = 8
- tableVariant = /obj/structure/table/reinforced/plasmarglass
+ table_type = /obj/structure/table/reinforced/plasmarglass
pickup_sound = 'sound/items/handling/materials/glass_pick_up.ogg'
drop_sound = 'sound/items/handling/materials/glass_drop.ogg'
@@ -235,7 +235,7 @@ GLOBAL_LIST_INIT(titaniumglass_recipes, list(
armor_type = /datum/armor/sheet_titaniumglass
resistance_flags = ACID_PROOF
merge_type = /obj/item/stack/sheet/titaniumglass
- tableVariant = /obj/structure/table/reinforced/titaniumglass
+ table_type = /obj/structure/table/reinforced/titaniumglass
pickup_sound = 'sound/items/handling/materials/glass_pick_up.ogg'
drop_sound = 'sound/items/handling/materials/glass_drop.ogg'
@@ -267,7 +267,7 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list(
material_flags = NONE
resistance_flags = ACID_PROOF
merge_type = /obj/item/stack/sheet/plastitaniumglass
- tableVariant = /obj/structure/table/reinforced/plastitaniumglass
+ table_type = /obj/structure/table/reinforced/plastitaniumglass
pickup_sound = 'sound/items/handling/materials/glass_pick_up.ogg'
drop_sound = 'sound/items/handling/materials/glass_drop.ogg'
@@ -311,12 +311,6 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list(
/datum/embedding/shard
embed_chance = 65
-/datum/embedding/glass_candy
- embed_chance = 100
- ignore_throwspeed_threshold = TRUE
- impact_pain_mult = 1
- pain_chance = 5
-
/datum/armor/item_shard
melee = 100
energy = 100
diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm
index 14a9b5dcfb7..7195bc85704 100644
--- a/code/game/objects/items/stacks/sheets/mineral.dm
+++ b/code/game/objects/items/stacks/sheets/mineral.dm
@@ -118,6 +118,9 @@ GLOBAL_LIST_INIT(diamond_recipes, list ( \
/obj/item/stack/sheet/mineral/diamond/five
amount = 5
+/obj/item/stack/sheet/mineral/diamond/fifty
+ amount = 50
+
/*
* Uranium
*/
@@ -149,6 +152,9 @@ GLOBAL_LIST_INIT(uranium_recipes, list ( \
/obj/item/stack/sheet/mineral/uranium/half
amount = 25
+/obj/item/stack/sheet/mineral/uranium/fifty
+ amount = 50
+
/*
* Plasma
*/
@@ -186,6 +192,9 @@ GLOBAL_LIST_INIT(plasma_recipes, list ( \
/obj/item/stack/sheet/mineral/plasma/thirty
amount = 30
+/obj/item/stack/sheet/mineral/plasma/fifty
+ amount = 50
+
/*
* Gold
*/
@@ -213,6 +222,9 @@ GLOBAL_LIST_INIT(gold_recipes, list ( \
. = ..()
. += GLOB.gold_recipes
+/obj/item/stack/sheet/mineral/gold/fifty
+ amount = 50
+
/*
* Silver
*/
@@ -227,7 +239,7 @@ GLOBAL_LIST_INIT(gold_recipes, list ( \
gulag_valid = TRUE
merge_type = /obj/item/stack/sheet/mineral/silver
material_type = /datum/material/silver
- tableVariant = /obj/structure/table/optable
+ table_type = /obj/structure/table/optable
walltype = /turf/closed/wall/mineral/silver
GLOBAL_LIST_INIT(silver_recipes, list ( \
@@ -239,6 +251,9 @@ GLOBAL_LIST_INIT(silver_recipes, list ( \
. = ..()
. += GLOB.silver_recipes
+/obj/item/stack/sheet/mineral/silver/fifty
+ amount = 50
+
/*
* Clown
*/
diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm
index 3ca639d2830..2a903c0f917 100644
--- a/code/game/objects/items/stacks/sheets/sheet_types.dm
+++ b/code/game/objects/items/stacks/sheets/sheet_types.dm
@@ -174,7 +174,7 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \
merge_type = /obj/item/stack/sheet/iron
grind_results = list(/datum/reagent/iron = 20)
gulag_valid = TRUE
- tableVariant = /obj/structure/table
+ table_type = /obj/structure/table
material_type = /datum/material/iron
matter_amount = 4
cost = SHEET_MATERIAL_AMOUNT
@@ -304,7 +304,7 @@ GLOBAL_LIST_INIT(plasteel_recipes, list ( \
merge_type = /obj/item/stack/sheet/plasteel
grind_results = list(/datum/reagent/iron = 20, /datum/reagent/toxin/plasma = 20)
gulag_valid = TRUE
- tableVariant = /obj/structure/table/reinforced
+ table_type = /obj/structure/table/reinforced
material_flags = NONE
matter_amount = 12
@@ -774,7 +774,7 @@ GLOBAL_LIST_INIT(bronze_recipes, list ( \
novariants = FALSE
grind_results = list(/datum/reagent/iron = 20, /datum/reagent/copper = 12) //we have no "tin" reagent so this is the closest thing
merge_type = /obj/item/stack/sheet/bronze
- tableVariant = /obj/structure/table/bronze
+ table_type = /obj/structure/table/bronze
material_type = /datum/material/bronze
walltype = /turf/closed/wall/mineral/bronze
has_unique_girder = TRUE
diff --git a/code/game/objects/items/stacks/sheets/sheets.dm b/code/game/objects/items/stacks/sheets/sheets.dm
index b9a66202a16..baf98015575 100644
--- a/code/game/objects/items/stacks/sheets/sheets.dm
+++ b/code/game/objects/items/stacks/sheets/sheets.dm
@@ -13,6 +13,7 @@
attack_verb_simple = list("bash", "batter", "bludgeon", "thrash", "smash")
novariants = FALSE
material_flags = MATERIAL_EFFECTS
+ table_type = /obj/structure/table/greyscale
pickup_sound = 'sound/items/handling/materials/metal_pick_up.ogg'
drop_sound = 'sound/items/handling/materials/metal_drop.ogg'
var/sheettype = null //this is used for girders in the creation of walls/false walls
diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm
index 7a3346bee14..6eacfbc60d6 100644
--- a/code/game/objects/items/stacks/stack.dm
+++ b/code/game/objects/items/stacks/stack.dm
@@ -47,7 +47,7 @@
/// Does this stack require a unique girder in order to make a wall?
var/has_unique_girder = FALSE
/// What typepath table we create from this stack
- var/obj/structure/table/tableVariant
+ var/obj/structure/table/table_type
/// What typepath stairs do we create from this stack
var/obj/structure/stairs/stairs_type
/// If TRUE, we'll use a radial instead when displaying recipes
@@ -215,6 +215,12 @@
else
. = (amount)
+/// Gets the table type we make, accounting for potential exceptions.
+/obj/item/stack/proc/get_table_type()
+ if(ispath(table_type, /obj/structure/table/greyscale) && isnull(material_type))
+ return // This table type breaks without a material type.
+ return table_type
+
/**
* Builds all recipes in a given recipe list and returns an association list containing them
*
diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm
index 51a244be613..dc524091404 100644
--- a/code/game/objects/items/stacks/tiles/tile_types.dm
+++ b/code/game/objects/items/stacks/tiles/tile_types.dm
@@ -217,7 +217,7 @@
inhand_icon_state = "tile-carpet"
turf_type = /turf/open/floor/carpet
resistance_flags = FLAMMABLE
- tableVariant = /obj/structure/table/wood/fancy
+ table_type = /obj/structure/table/wood/fancy
merge_type = /obj/item/stack/tile/carpet
tile_reskin_types = list(
/obj/item/stack/tile/carpet,
@@ -247,7 +247,7 @@
icon_state = "tile-carpet-black"
inhand_icon_state = "tile-carpet-black"
turf_type = /turf/open/floor/carpet/black
- tableVariant = /obj/structure/table/wood/fancy/black
+ table_type = /obj/structure/table/wood/fancy/black
merge_type = /obj/item/stack/tile/carpet/black
tile_reskin_types = null
@@ -256,7 +256,7 @@
icon_state = "tile-carpet-blue"
inhand_icon_state = "tile-carpet-blue"
turf_type = /turf/open/floor/carpet/blue
- tableVariant = /obj/structure/table/wood/fancy/blue
+ table_type = /obj/structure/table/wood/fancy/blue
merge_type = /obj/item/stack/tile/carpet/blue
tile_reskin_types = null
@@ -265,7 +265,7 @@
icon_state = "tile-carpet-cyan"
inhand_icon_state = "tile-carpet-cyan"
turf_type = /turf/open/floor/carpet/cyan
- tableVariant = /obj/structure/table/wood/fancy/cyan
+ table_type = /obj/structure/table/wood/fancy/cyan
merge_type = /obj/item/stack/tile/carpet/cyan
tile_reskin_types = null
@@ -274,7 +274,7 @@
icon_state = "tile-carpet-green"
inhand_icon_state = "tile-carpet-green"
turf_type = /turf/open/floor/carpet/green
- tableVariant = /obj/structure/table/wood/fancy/green
+ table_type = /obj/structure/table/wood/fancy/green
merge_type = /obj/item/stack/tile/carpet/green
tile_reskin_types = null
@@ -283,7 +283,7 @@
icon_state = "tile-carpet-orange"
inhand_icon_state = "tile-carpet-orange"
turf_type = /turf/open/floor/carpet/orange
- tableVariant = /obj/structure/table/wood/fancy/orange
+ table_type = /obj/structure/table/wood/fancy/orange
merge_type = /obj/item/stack/tile/carpet/orange
tile_reskin_types = null
@@ -292,7 +292,7 @@
icon_state = "tile-carpet-purple"
inhand_icon_state = "tile-carpet-purple"
turf_type = /turf/open/floor/carpet/purple
- tableVariant = /obj/structure/table/wood/fancy/purple
+ table_type = /obj/structure/table/wood/fancy/purple
merge_type = /obj/item/stack/tile/carpet/purple
tile_reskin_types = null
@@ -301,7 +301,7 @@
icon_state = "tile-carpet-red"
inhand_icon_state = "tile-carpet-red"
turf_type = /turf/open/floor/carpet/red
- tableVariant = /obj/structure/table/wood/fancy/red
+ table_type = /obj/structure/table/wood/fancy/red
merge_type = /obj/item/stack/tile/carpet/red
tile_reskin_types = null
@@ -310,7 +310,7 @@
icon_state = "tile-carpet-royalblack"
inhand_icon_state = "tile-carpet-royalblack"
turf_type = /turf/open/floor/carpet/royalblack
- tableVariant = /obj/structure/table/wood/fancy/royalblack
+ table_type = /obj/structure/table/wood/fancy/royalblack
merge_type = /obj/item/stack/tile/carpet/royalblack
tile_reskin_types = null
@@ -319,7 +319,7 @@
icon_state = "tile-carpet-royalblue"
inhand_icon_state = "tile-carpet-royalblue"
turf_type = /turf/open/floor/carpet/royalblue
- tableVariant = /obj/structure/table/wood/fancy/royalblue
+ table_type = /obj/structure/table/wood/fancy/royalblue
merge_type = /obj/item/stack/tile/carpet/royalblue
tile_reskin_types = null
diff --git a/code/game/objects/items/storage/bags.dm b/code/game/objects/items/storage/bags.dm
index 58e0a685f40..41300362e21 100644
--- a/code/game/objects/items/storage/bags.dm
+++ b/code/game/objects/items/storage/bags.dm
@@ -335,36 +335,39 @@
// Copy-pasted from the former /obj/item/storage/box/material, w/ small additions like rods, cardboard, plastic.
// "Only 20 uranium 'cause of radiation"
/obj/item/storage/bag/sheetsnatcher/debug/PopulateContents()
+ // amount should be null if it should spawn with the type's default amount
var/static/items_inside = list(
- /obj/item/stack/sheet/iron/fifty=1,
- /obj/item/stack/sheet/glass/fifty=1,
- /obj/item/stack/sheet/rglass/fifty=1,
- /obj/item/stack/sheet/plasmaglass/fifty=1,
- /obj/item/stack/sheet/titaniumglass/fifty=1,
- /obj/item/stack/sheet/plastitaniumglass/fifty=1,
- /obj/item/stack/sheet/plasteel/fifty=1,
- /obj/item/stack/sheet/mineral/titanium/fifty=1,
- /obj/item/stack/sheet/mineral/gold=50,
- /obj/item/stack/sheet/mineral/silver=50,
- /obj/item/stack/sheet/mineral/plasma=50,
- /obj/item/stack/sheet/mineral/uranium=20,
- /obj/item/stack/sheet/mineral/diamond=50,
- /obj/item/stack/sheet/bluespace_crystal=50,
- /obj/item/stack/sheet/mineral/bananium=50,
- /obj/item/stack/sheet/mineral/wood/fifty=1,
- /obj/item/stack/sheet/plastic/fifty=1,
- /obj/item/stack/sheet/runed_metal/fifty=1,
- /obj/item/stack/rods/fifty=1,
- /obj/item/stack/sheet/mineral/plastitanium=50,
- /obj/item/stack/sheet/mineral/abductor=50,
- /obj/item/stack/sheet/cardboard/fifty=1,
- )
+ /obj/item/stack/sheet/iron/fifty = null,
+ /obj/item/stack/sheet/glass/fifty = null,
+ /obj/item/stack/sheet/rglass/fifty = null,
+ /obj/item/stack/sheet/plasmaglass/fifty = null,
+ /obj/item/stack/sheet/titaniumglass/fifty = null,
+ /obj/item/stack/sheet/plastitaniumglass/fifty = null,
+ /obj/item/stack/sheet/plasteel/fifty = null,
+ /obj/item/stack/sheet/mineral/titanium/fifty = null,
+ /obj/item/stack/sheet/mineral/gold = 50,
+ /obj/item/stack/sheet/mineral/silver = 50,
+ /obj/item/stack/sheet/mineral/plasma = 50,
+ /obj/item/stack/sheet/mineral/uranium = 20,
+ /obj/item/stack/sheet/mineral/diamond = 50,
+ /obj/item/stack/sheet/bluespace_crystal = 50,
+ /obj/item/stack/sheet/mineral/bananium = 50,
+ /obj/item/stack/sheet/mineral/wood/fifty = null,
+ /obj/item/stack/sheet/plastic/fifty = null,
+ /obj/item/stack/sheet/runed_metal/fifty = null,
+ /obj/item/stack/rods/fifty = null,
+ /obj/item/stack/sheet/mineral/plastitanium = 50,
+ /obj/item/stack/sheet/mineral/abductor = 50,
+ /obj/item/stack/sheet/cardboard/fifty = null,
+ )
//This needs to be done here and not in Initialize() because the stacks get merged and fall out when their weight updates if this is set after PopulateContents()
atom_storage.allow_big_nesting = TRUE
atom_storage.max_slots = 99
atom_storage.max_specific_storage = WEIGHT_CLASS_GIGANTIC
atom_storage.max_total_storage = capacity
- generate_items_inside(items_inside,src)
+ for(var/obj/item/stack/stack_type as anything in items_inside)
+ var/amt = items_inside[stack_type]
+ new stack_type(src, amt, FALSE)
/obj/item/storage/bag/sheetsnatcher/debug/Initialize(mapload)
. = ..()
@@ -524,7 +527,7 @@
/obj/item/reagent_containers/cup/bottle,
/obj/item/reagent_containers/cup/tube,
/obj/item/reagent_containers/medigel,
- /obj/item/reagent_containers/pill,
+ /obj/item/reagent_containers/applicator,
/obj/item/reagent_containers/syringe,
))
diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm
index 93ade7689de..07a2de08b2a 100644
--- a/code/game/objects/items/storage/belt.dm
+++ b/code/game/objects/items/storage/belt.dm
@@ -251,7 +251,7 @@
/obj/item/reagent_containers/cup/tube,
/obj/item/reagent_containers/hypospray,
/obj/item/reagent_containers/medigel,
- /obj/item/reagent_containers/pill,
+ /obj/item/reagent_containers/applicator,
/obj/item/reagent_containers/spray,
/obj/item/reagent_containers/syringe,
/obj/item/retractor,
@@ -433,7 +433,7 @@
/obj/item/reagent_containers/cup/glass,
/obj/item/reagent_containers/cup/glass/bottle,
/obj/item/reagent_containers/hypospray,
- /obj/item/reagent_containers/pill,
+ /obj/item/reagent_containers/applicator/pill,
/obj/item/resonator,
/obj/item/screwdriver,
/obj/item/shovel,
diff --git a/code/game/objects/items/storage/boxes/food_boxes.dm b/code/game/objects/items/storage/boxes/food_boxes.dm
index bac558ce3be..fd4bef33758 100644
--- a/code/game/objects/items/storage/boxes/food_boxes.dm
+++ b/code/game/objects/items/storage/boxes/food_boxes.dm
@@ -46,6 +46,12 @@
icon_state = "donkpocketboxbanana"
donktype = /obj/item/food/donkpocket/honk
+/obj/item/storage/box/donkpockets/donkpocketshell
+ name = "box of Donk Co. 'Donk Spike' flechette shells"
+ desc = "Instructions: DO NOT heat in microwave. Product will remove all hostile threats with cutting edge Donk Co. technology."
+ icon_state = "donkpocketboxshell"
+ donktype = /obj/item/ammo_casing/shotgun/flechette/donk
+
/obj/item/storage/box/papersack
name = "paper sack"
desc = "A sack neatly crafted out of paper."
diff --git a/code/game/objects/items/storage/boxes/job_boxes.dm b/code/game/objects/items/storage/boxes/job_boxes.dm
index c13ad4e54e9..9c67a30517d 100644
--- a/code/game/objects/items/storage/boxes/job_boxes.dm
+++ b/code/game/objects/items/storage/boxes/job_boxes.dm
@@ -19,14 +19,14 @@
/// Do we get to benefit from Nanotrasen's largesse?
var/give_premium_goods = TRUE
-/obj/item/storage/box/survival/Initialize(mapload)
+/obj/item/storage/box/survival/create_storage(max_slots, max_specific_storage, max_total_storage, list/canhold, list/canthold, storage_type)
. = ..()
if(crafted || !HAS_TRAIT(SSstation, STATION_TRAIT_PREMIUM_INTERNALS))
return
atom_storage.max_slots += 2
atom_storage.max_total_storage += 4
name = "large [name]"
- transform = transform.Scale(1.25, 1)
+ icon_state = "[icon_state]_large"
/obj/item/storage/box/survival/PopulateContents()
if(crafted)
diff --git a/code/game/objects/items/storage/boxes/medical_boxes.dm b/code/game/objects/items/storage/boxes/medical_boxes.dm
index c76f1ca0b37..28224602cef 100644
--- a/code/game/objects/items/storage/boxes/medical_boxes.dm
+++ b/code/game/objects/items/storage/boxes/medical_boxes.dm
@@ -150,8 +150,8 @@
atom_storage.max_slots = 6
atom_storage.set_holdable(list(
/obj/item/stack/medical/bandage,
- /obj/item/reagent_containers/pill,
- /obj/item/reagent_containers/pill/patch,
+ /obj/item/reagent_containers/applicator/pill,
+ /obj/item/reagent_containers/applicator/patch,
))
/obj/item/storage/box/bandages/PopulateContents()
diff --git a/code/game/objects/items/storage/fancy.dm b/code/game/objects/items/storage/fancy.dm
index e88a0c9ee48..773bbf01c64 100644
--- a/code/game/objects/items/storage/fancy.dm
+++ b/code/game/objects/items/storage/fancy.dm
@@ -127,7 +127,9 @@
if (!istype(donut))
continue
- . += image(icon = initial(icon), icon_state = donut.in_box_sprite(), pixel_x = donuts * DONUT_INBOX_SPRITE_WIDTH)
+ var/image/donut_image = image(icon = initial(icon), icon_state = donut.in_box_sprite())
+ donut_image.pixel_w = donuts * DONUT_INBOX_SPRITE_WIDTH
+ . += donut_image
donuts += 1
. += image(icon = initial(icon), icon_state = "[base_icon_state]_top")
diff --git a/code/game/objects/items/storage/lockbox.dm b/code/game/objects/items/storage/lockbox.dm
index 83667c5d58d..d341bfe3011 100644
--- a/code/game/objects/items/storage/lockbox.dm
+++ b/code/game/objects/items/storage/lockbox.dm
@@ -160,11 +160,11 @@
var/obj/item/clothing/accessory/medal/M = contents[i]
var/mutable_appearance/medalicon = mutable_appearance(initial(icon), M.medaltype)
if(i > 1 && i <= 5)
- medalicon.pixel_x += ((i-1)*3)
+ medalicon.pixel_w += ((i-1)*3)
else if(i > 5)
- medalicon.pixel_y -= 7
- medalicon.pixel_x -= 2
- medalicon.pixel_x += ((i-6)*3)
+ medalicon.pixel_z -= 7
+ medalicon.pixel_w -= 2
+ medalicon.pixel_w += ((i-6)*3)
. += medalicon
/obj/item/storage/lockbox/medal/hop
diff --git a/code/game/objects/items/storage/medkit.dm b/code/game/objects/items/storage/medkit.dm
index 13f0e1bfda8..e7f7c1dae75 100644
--- a/code/game/objects/items/storage/medkit.dm
+++ b/code/game/objects/items/storage/medkit.dm
@@ -32,7 +32,7 @@
/obj/item/reagent_containers/cup/beaker,
/obj/item/reagent_containers/cup/bottle,
/obj/item/reagent_containers/cup/tube,
- /obj/item/reagent_containers/pill,
+ /obj/item/reagent_containers/applicator,
/obj/item/reagent_containers/syringe,
/obj/item/reagent_containers/medigel,
/obj/item/reagent_containers/spray,
@@ -190,7 +190,7 @@
if(empty)
return
var/static/items_inside = list(
- /obj/item/reagent_containers/pill/patch/aiuri = 3,
+ /obj/item/reagent_containers/applicator/patch/aiuri = 3,
/obj/item/reagent_containers/spray/hercuri = 1,
/obj/item/reagent_containers/hypospray/medipen/oxandrolone = 1,
/obj/item/reagent_containers/hypospray/medipen = 1)
@@ -265,7 +265,7 @@
if(empty)
return
var/static/items_inside = list(
- /obj/item/reagent_containers/pill/patch/libital = 3,
+ /obj/item/reagent_containers/applicator/patch/libital = 3,
/obj/item/stack/medical/gauze = 1,
/obj/item/storage/pill_bottle/probital = 1,
/obj/item/reagent_containers/hypospray/medipen/salacid = 1,
@@ -288,7 +288,7 @@
if(empty)
return
var/static/items_inside = list(
- /obj/item/reagent_containers/pill/patch/synthflesh = 3,
+ /obj/item/reagent_containers/applicator/patch/synthflesh = 3,
/obj/item/reagent_containers/hypospray/medipen/atropine = 2,
/obj/item/stack/medical/gauze = 1,
/obj/item/storage/pill_bottle/penacid = 1)
@@ -344,8 +344,8 @@
/obj/item/stack/medical/gauze = 2,
/obj/item/stack/medical/suture/medicated = 2,
/obj/item/stack/medical/mesh/advanced = 2,
- /obj/item/reagent_containers/pill/patch/libital = 4,
- /obj/item/reagent_containers/pill/patch/aiuri = 4,
+ /obj/item/reagent_containers/applicator/patch/libital = 4,
+ /obj/item/reagent_containers/applicator/patch/aiuri = 4,
)
generate_items_inside(items_inside,src)
@@ -370,8 +370,8 @@
var/static/list/items_inside = list(
/obj/item/stack/medical/suture/medicated = 2,
/obj/item/stack/medical/mesh/advanced = 2,
- /obj/item/reagent_containers/pill/patch/libital = 3,
- /obj/item/reagent_containers/pill/patch/aiuri = 3,
+ /obj/item/reagent_containers/applicator/patch/libital = 3,
+ /obj/item/reagent_containers/applicator/patch/aiuri = 3,
/obj/item/healthanalyzer/advanced = 1,
/obj/item/stack/medical/gauze = 2,
/obj/item/mod/module/thread_ripper = 1,
@@ -470,7 +470,8 @@
. = ..()
atom_storage.allow_quick_gather = TRUE
atom_storage.set_holdable(list(
- /obj/item/reagent_containers/pill,
+ /obj/item/reagent_containers/applicator/pill,
+ /obj/item/reagent_containers/applicator/patch,
/obj/item/food/bait/natural,
))
atom_storage.open_sound = 'sound/items/handling/pill_bottle_open.ogg'
@@ -486,13 +487,13 @@
/obj/item/storage/pill_bottle/multiver/PopulateContents()
for(var/i in 1 to 7)
- new /obj/item/reagent_containers/pill/multiver(src)
+ new /obj/item/reagent_containers/applicator/pill/multiver(src)
/obj/item/storage/pill_bottle/multiver/less
/obj/item/storage/pill_bottle/multiver/less/PopulateContents()
for(var/i in 1 to 3)
- new /obj/item/reagent_containers/pill/multiver(src)
+ new /obj/item/reagent_containers/applicator/pill/multiver(src)
/obj/item/storage/pill_bottle/epinephrine
name = "bottle of epinephrine pills"
@@ -500,7 +501,7 @@
/obj/item/storage/pill_bottle/epinephrine/PopulateContents()
for(var/i in 1 to 7)
- new /obj/item/reagent_containers/pill/epinephrine(src)
+ new /obj/item/reagent_containers/applicator/pill/epinephrine(src)
/obj/item/storage/pill_bottle/mutadone
name = "bottle of mutadone pills"
@@ -508,7 +509,7 @@
/obj/item/storage/pill_bottle/mutadone/PopulateContents()
for(var/i in 1 to 7)
- new /obj/item/reagent_containers/pill/mutadone(src)
+ new /obj/item/reagent_containers/applicator/pill/mutadone(src)
/obj/item/storage/pill_bottle/potassiodide
name = "bottle of potassium iodide pills"
@@ -516,7 +517,7 @@
/obj/item/storage/pill_bottle/potassiodide/PopulateContents()
for(var/i in 1 to 3)
- new /obj/item/reagent_containers/pill/potassiodide(src)
+ new /obj/item/reagent_containers/applicator/pill/potassiodide(src)
/obj/item/storage/pill_bottle/probital
name = "bottle of probital pills"
@@ -524,7 +525,7 @@
/obj/item/storage/pill_bottle/probital/PopulateContents()
for(var/i in 1 to 4)
- new /obj/item/reagent_containers/pill/probital(src)
+ new /obj/item/reagent_containers/applicator/pill/probital(src)
/obj/item/storage/pill_bottle/iron
name = "bottle of iron pills"
@@ -532,7 +533,7 @@
/obj/item/storage/pill_bottle/iron/PopulateContents()
for(var/i in 1 to 4)
- new /obj/item/reagent_containers/pill/iron(src)
+ new /obj/item/reagent_containers/applicator/pill/iron(src)
/obj/item/storage/pill_bottle/mannitol
name = "bottle of mannitol pills"
@@ -540,7 +541,7 @@
/obj/item/storage/pill_bottle/mannitol/PopulateContents()
for(var/i in 1 to 7)
- new /obj/item/reagent_containers/pill/mannitol(src)
+ new /obj/item/reagent_containers/applicator/pill/mannitol(src)
//Contains 4 pills instead of 7, and 5u pills instead of 50u (50u pills heal 250 brain damage, 5u pills heal 25)
/obj/item/storage/pill_bottle/mannitol/braintumor
@@ -548,7 +549,7 @@
/obj/item/storage/pill_bottle/mannitol/braintumor/PopulateContents()
for(var/i in 1 to 4)
- new /obj/item/reagent_containers/pill/mannitol/braintumor(src)
+ new /obj/item/reagent_containers/applicator/pill/mannitol/braintumor(src)
/obj/item/storage/pill_bottle/stimulant
name = "bottle of stimulant pills"
@@ -556,7 +557,7 @@
/obj/item/storage/pill_bottle/stimulant/PopulateContents()
for(var/i in 1 to 5)
- new /obj/item/reagent_containers/pill/stimulant(src)
+ new /obj/item/reagent_containers/applicator/pill/stimulant(src)
/obj/item/storage/pill_bottle/sansufentanyl
name = "bottle of experimental medication"
@@ -564,16 +565,16 @@
/obj/item/storage/pill_bottle/sansufentanyl/PopulateContents()
for(var/i in 1 to 6)
- new /obj/item/reagent_containers/pill/sansufentanyl(src)
+ new /obj/item/reagent_containers/applicator/pill/sansufentanyl(src)
/obj/item/storage/pill_bottle/mining
name = "bottle of patches"
desc = "Contains patches used to treat brute and burn damage."
/obj/item/storage/pill_bottle/mining/PopulateContents()
- new /obj/item/reagent_containers/pill/patch/aiuri(src)
+ new /obj/item/reagent_containers/applicator/patch/aiuri(src)
for(var/i in 1 to 3)
- new /obj/item/reagent_containers/pill/patch/libital(src)
+ new /obj/item/reagent_containers/applicator/patch/libital(src)
/obj/item/storage/pill_bottle/zoom
name = "suspicious pill bottle"
@@ -581,7 +582,7 @@
/obj/item/storage/pill_bottle/zoom/PopulateContents()
for(var/i in 1 to 5)
- new /obj/item/reagent_containers/pill/zoom(src)
+ new /obj/item/reagent_containers/applicator/pill/zoom(src)
/obj/item/storage/pill_bottle/happy
name = "suspicious pill bottle"
@@ -589,7 +590,7 @@
/obj/item/storage/pill_bottle/happy/PopulateContents()
for(var/i in 1 to 5)
- new /obj/item/reagent_containers/pill/happy(src)
+ new /obj/item/reagent_containers/applicator/pill/happy(src)
/obj/item/storage/pill_bottle/lsd
name = "suspicious pill bottle"
@@ -597,7 +598,7 @@
/obj/item/storage/pill_bottle/lsd/PopulateContents()
for(var/i in 1 to 5)
- new /obj/item/reagent_containers/pill/lsd(src)
+ new /obj/item/reagent_containers/applicator/pill/lsd(src)
/obj/item/storage/pill_bottle/aranesp
name = "suspicious pill bottle"
@@ -605,7 +606,7 @@
/obj/item/storage/pill_bottle/aranesp/PopulateContents()
for(var/i in 1 to 5)
- new /obj/item/reagent_containers/pill/aranesp(src)
+ new /obj/item/reagent_containers/applicator/pill/aranesp(src)
/obj/item/storage/pill_bottle/psicodine
name = "bottle of psicodine pills"
@@ -613,7 +614,7 @@
/obj/item/storage/pill_bottle/psicodine/PopulateContents()
for(var/i in 1 to 7)
- new /obj/item/reagent_containers/pill/psicodine(src)
+ new /obj/item/reagent_containers/applicator/pill/psicodine(src)
/obj/item/storage/pill_bottle/penacid
name = "bottle of pentetic acid pills"
@@ -621,7 +622,7 @@
/obj/item/storage/pill_bottle/penacid/PopulateContents()
for(var/i in 1 to 3)
- new /obj/item/reagent_containers/pill/penacid(src)
+ new /obj/item/reagent_containers/applicator/pill/penacid(src)
/obj/item/storage/pill_bottle/neurine
@@ -630,7 +631,7 @@
/obj/item/storage/pill_bottle/neurine/PopulateContents()
for(var/i in 1 to 5)
- new /obj/item/reagent_containers/pill/neurine(src)
+ new /obj/item/reagent_containers/applicator/pill/neurine(src)
/obj/item/storage/pill_bottle/maintenance_pill
name = "bottle of maintenance pills"
@@ -638,16 +639,16 @@
/obj/item/storage/pill_bottle/maintenance_pill/Initialize(mapload)
. = ..()
- var/obj/item/reagent_containers/pill/P = locate() in src
+ var/obj/item/reagent_containers/applicator/pill/P = locate() in src
name = "bottle of [P.name]s"
/obj/item/storage/pill_bottle/maintenance_pill/PopulateContents()
for(var/i in 1 to rand(1,7))
- new /obj/item/reagent_containers/pill/maintenance(src)
+ new /obj/item/reagent_containers/applicator/pill/maintenance(src)
/obj/item/storage/pill_bottle/maintenance_pill/full/PopulateContents()
for(var/i in 1 to 7)
- new /obj/item/reagent_containers/pill/maintenance(src)
+ new /obj/item/reagent_containers/applicator/pill/maintenance(src)
///////////////////////////////////////// Psychologist inventory pillbottles
/obj/item/storage/pill_bottle/happinesspsych
@@ -656,7 +657,7 @@
/obj/item/storage/pill_bottle/happinesspsych/PopulateContents()
for(var/i in 1 to 5)
- new /obj/item/reagent_containers/pill/happinesspsych(src)
+ new /obj/item/reagent_containers/applicator/pill/happinesspsych(src)
/obj/item/storage/pill_bottle/lsdpsych
name = "mindbreaker toxin pills"
@@ -664,7 +665,7 @@
/obj/item/storage/pill_bottle/lsdpsych/PopulateContents()
for(var/i in 1 to 5)
- new /obj/item/reagent_containers/pill/lsdpsych(src)
+ new /obj/item/reagent_containers/applicator/pill/lsdpsych(src)
/obj/item/storage/pill_bottle/paxpsych
name = "pax pills"
@@ -672,7 +673,7 @@
/obj/item/storage/pill_bottle/paxpsych/PopulateContents()
for(var/i in 1 to 5)
- new /obj/item/reagent_containers/pill/paxpsych(src)
+ new /obj/item/reagent_containers/applicator/pill/paxpsych(src)
/obj/item/storage/pill_bottle/naturalbait
name = "freshness jar"
@@ -688,7 +689,7 @@
/obj/item/storage/pill_bottle/ondansetron/PopulateContents()
for(var/i in 1 to 5)
- new /obj/item/reagent_containers/pill/patch/ondansetron(src)
+ new /obj/item/reagent_containers/applicator/patch/ondansetron(src)
/// A box which takes in coolant and uses it to preserve organs and body parts
/obj/item/storage/organbox
diff --git a/code/game/objects/items/storage/storage.dm b/code/game/objects/items/storage/storage.dm
index 75ca06ff0ff..06e122780b9 100644
--- a/code/game/objects/items/storage/storage.dm
+++ b/code/game/objects/items/storage/storage.dm
@@ -3,6 +3,7 @@
icon = 'icons/obj/storage/storage.dmi'
w_class = WEIGHT_CLASS_NORMAL
interaction_flags_click = ALLOW_RESTING|FORBID_TELEKINESIS_REACH
+ action_slots = ALL
var/rummage_if_nodrop = TRUE
/// Should we preload the contents of this type?
/// BE CAREFUL, THERE'S SOME REALLY NASTY SHIT IN THIS TYPEPATH
diff --git a/code/game/objects/items/storage/uplink_kits.dm b/code/game/objects/items/storage/uplink_kits.dm
index 5893c504c5a..e922a908596 100644
--- a/code/game/objects/items/storage/uplink_kits.dm
+++ b/code/game/objects/items/storage/uplink_kits.dm
@@ -60,7 +60,7 @@
new /obj/item/computer_disk/syndicate/camera_app(src) // 1 tc
new /obj/item/multitool/ai_detect(src) // 1 tc
new /obj/item/encryptionkey/syndicate(src) // 2 tc
- new /obj/item/reagent_containers/syringe/mulligan(src) // 4 tc
+ new /obj/item/storage/box/syndie_kit/mulligan(src) // 4 tc
new /obj/item/switchblade(src) //basically 1 tc as it can be bought from BM kits
new /obj/item/storage/fancy/cigarettes/cigpack_syndicate (src) // 2 tc this shit heals
new /obj/item/flashlight/emp(src) // 2 tc
@@ -208,7 +208,7 @@
new /obj/item/implanter/freedom(src) // 5 tc
new /obj/item/flashlight/emp(src) // 2 tc
new /obj/item/grenade/c4/x4(src) // 1ish tc
- new /obj/item/reagent_containers/pill/cyanide(src)
+ new /obj/item/reagent_containers/applicator/pill/cyanide(src)
new /obj/item/toy/cards/deck/syndicate(src) // 1 tc, for poker
if(KIT_NINJA)
@@ -318,7 +318,7 @@
new /obj/item/card/emag(src) // 4 tc
new /obj/item/card/emag/doorjack(src) //emag used to do both. 3 tc
new /obj/item/pen/sleepy(src) // 4 tc
- new /obj/item/reagent_containers/pill/cyanide(src)
+ new /obj/item/reagent_containers/applicator/pill/cyanide(src)
new /obj/item/chameleon(src) //its not the original cloaking device, but it will do. 8 tc
new /obj/item/gun/ballistic/revolver(src) // 13 tc old one stays in the old box
new /obj/item/implanter/freedom(src) // 5 tc
@@ -580,6 +580,11 @@
for(var/i in 1 to 3)
new/obj/item/grenade/chem_grenade/ez_clean(src)
+/obj/item/storage/box/syndie_kit/mulligan/PopulateContents()
+ . = ..()
+ new /obj/item/reagent_containers/syringe/mulligan(src)
+ new /obj/item/fake_identity_kit(src)
+
/obj/item/storage/box/hug/reverse_revolver/PopulateContents()
new /obj/item/gun/ballistic/revolver/reverse(src)
@@ -669,6 +674,17 @@
for(var/i in 1 to 7)
new /obj/item/ammo_box/magazine/sniper_rounds/surplus(src)
+/obj/item/storage/box/syndie_kit/shotgun_surplus
+ name = "\improper Donk Co. 'Donk Spike' flechette 12g Bulldog magazine box"
+ desc = "A shoddy box full of Donk Co. 'Donk Spike' flechette 12g. It is debatable whether or not these are actually \
+ better or worse than standard flechette. Donk Co. did genuinely believe in this product being the future of military \
+ ammunition production. The only reason it didn't see wider adoption was a lack of faith in the product. Do you \
+ believe in Donk? Time to put that to the test."
+
+/obj/item/storage/box/syndie_kit/shotgun_surplus/PopulateContents()
+ for(var/i in 1 to 7)
+ new /obj/item/ammo_box/magazine/m12g/donk(src)
+
///Subtype for the sabotage bundle. Contains three C4, two X4 and 6 signalers
/obj/item/storage/backpack/duffelbag/syndie/sabotage
diff --git a/code/game/objects/items/storage/wallets.dm b/code/game/objects/items/storage/wallets.dm
index 9329bc9dc11..3a56b7f9ace 100644
--- a/code/game/objects/items/storage/wallets.dm
+++ b/code/game/objects/items/storage/wallets.dm
@@ -42,7 +42,7 @@
/obj/item/photo,
/obj/item/reagent_containers/dropper,
/obj/item/reagent_containers/syringe,
- /obj/item/reagent_containers/pill,
+ /obj/item/reagent_containers/applicator,
/obj/item/screwdriver,
/obj/item/seeds,
/obj/item/spess_knife,
diff --git a/code/game/objects/items/tongs.dm b/code/game/objects/items/tongs.dm
index 4748cbddedb..53ad3b95c45 100644
--- a/code/game/objects/items/tongs.dm
+++ b/code/game/objects/items/tongs.dm
@@ -97,6 +97,6 @@
held_food.layer = layer
held_food.plane = plane
held_food.transform = held_food.transform.Scale(0.7, 0.7)
- held_food.pixel_x = 6
- held_food.pixel_y = 6
+ held_food.pixel_w = 6
+ held_food.pixel_z = 6
. += held_food
diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm
index 50bd1716c36..23d25970ecf 100644
--- a/code/game/objects/obj_defense.dm
+++ b/code/game/objects/obj_defense.dm
@@ -134,12 +134,18 @@
return
if(exposed_temperature && !(resistance_flags & FIRE_PROOF))
take_damage(clamp(0.02 * exposed_temperature, 0, 20), BURN, FIRE, 0)
+ if(QDELETED(src)) // take_damage() can send our obj to an early grave, let's stop here if that happens
+ return
if(!(resistance_flags & ON_FIRE) && (resistance_flags & FLAMMABLE) && !(resistance_flags & FIRE_PROOF))
- AddComponent(/datum/component/burning, custom_fire_overlay || GLOB.fire_overlay, burning_particles)
+ AddComponent(/datum/component/burning, custom_fire_overlay() || GLOB.fire_overlay, burning_particles)
SEND_SIGNAL(src, COMSIG_ATOM_FIRE_ACT, exposed_temperature, exposed_volume)
return TRUE
return ..()
+/// Returns a custom fire overlay, if any
+/obj/proc/custom_fire_overlay()
+ return custom_fire_overlay
+
/// Should be called when the atom is destroyed by fire, comparable to acid_melt() proc
/obj/proc/burn()
deconstruct(FALSE)
diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm
index 74919fd71d0..46cf3987381 100644
--- a/code/game/objects/objs.dm
+++ b/code/game/objects/objs.dm
@@ -27,7 +27,7 @@
/// A multiplier to an object's force when used against a structure, vehicle, machine, or robot.
var/demolition_mod = 1
- /// Custom fire overlay icon, will just use the default overlay if this is null
+ /// Cached custom fire overlay
var/custom_fire_overlay
/// Particles this obj uses when burning, if any
var/burning_particles
diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm
index 7f5e4c6b76d..193a5c8b669 100644
--- a/code/game/objects/structures.dm
+++ b/code/game/objects/structures.dm
@@ -22,8 +22,6 @@
if(smoothing_flags & USES_SMOOTHING)
QUEUE_SMOOTH(src)
QUEUE_SMOOTH_NEIGHBORS(src)
- if(smoothing_flags & SMOOTH_CORNERS)
- icon_state = ""
GLOB.cameranet.updateVisibility(src)
/obj/structure/Destroy(force)
diff --git a/code/game/objects/structures/aliens.dm b/code/game/objects/structures/aliens.dm
index e6dad759c83..ca7ae8a01fd 100644
--- a/code/game/objects/structures/aliens.dm
+++ b/code/game/objects/structures/aliens.dm
@@ -133,7 +133,7 @@
desc = "A thick resin surface covers the floor."
anchored = TRUE
density = FALSE
- layer = MID_TURF_LAYER
+ layer = ABOVE_OPEN_TURF_LAYER
plane = FLOOR_PLANE
icon = 'icons/obj/smooth_structures/alien/weeds1.dmi'
icon_state = "weeds1-0"
diff --git a/code/game/objects/structures/beds_chairs/alien_nest.dm b/code/game/objects/structures/beds_chairs/alien_nest.dm
index b0de02fef48..47b1ab530d9 100644
--- a/code/game/objects/structures/beds_chairs/alien_nest.dm
+++ b/code/game/objects/structures/beds_chairs/alien_nest.dm
@@ -7,7 +7,6 @@
icon_state = "nest-0"
base_icon_state = "nest"
max_integrity = 120
- can_be_unanchored = FALSE
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = SMOOTH_GROUP_ALIEN_NEST
canSmoothWith = SMOOTH_GROUP_ALIEN_NEST
diff --git a/code/game/objects/structures/bonfire.dm b/code/game/objects/structures/bonfire.dm
index e6f7edd9396..f390fdebf71 100644
--- a/code/game/objects/structures/bonfire.dm
+++ b/code/game/objects/structures/bonfire.dm
@@ -52,7 +52,7 @@
buckle_requires_restraints = TRUE
to_chat(user, span_notice("You add a rod to \the [src]."))
var/mutable_appearance/rod_underlay = mutable_appearance('icons/obj/service/hydroponics/equipment.dmi', "bonfire_rod")
- rod_underlay.pixel_y = 16
+ rod_underlay.pixel_z = 16
underlays += rod_underlay
if("Grill")
grill = TRUE
diff --git a/code/game/objects/structures/cat_house.dm b/code/game/objects/structures/cat_house.dm
index bfaa464ff6d..ea016e00d67 100644
--- a/code/game/objects/structures/cat_house.dm
+++ b/code/game/objects/structures/cat_house.dm
@@ -41,6 +41,6 @@
return
var/image/cat_icon = image(icon = resident_cat.icon, icon_state = resident_cat.icon_state, layer = LOW_ITEM_LAYER)
cat_icon.transform = cat_icon.transform.Scale(0.7, 0.7)
- cat_icon.pixel_x = 0
- cat_icon.pixel_y = -9
+ cat_icon.pixel_w = 0
+ cat_icon.pixel_z = -9
. += cat_icon
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
index baf12ad92ac..c9563678de4 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
@@ -42,7 +42,7 @@
new /obj/item/assembly/flash/handheld(src)
new /obj/item/clothing/neck/petcollar(src)
new /obj/item/pet_carrier(src)
- new /obj/item/door_remote/civilian(src)
+ new /obj/item/door_remote/head_of_personnel(src)
new /obj/item/circuitboard/machine/techfab/department/service(src)
new /obj/item/storage/photo_album/hop(src)
new /obj/item/storage/lockbox/medal/hop(src)
diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm
index ba91cc988bf..57575e5e412 100644
--- a/code/game/objects/structures/crates_lockers/crates.dm
+++ b/code/game/objects/structures/crates_lockers/crates.dm
@@ -32,9 +32,11 @@
/// Icon state to use for lid to display when opened. Leave undefined if there isn't one.
var/lid_icon_state
/// Controls the X value of the lid, allowing left and right pixel movement.
- var/lid_x = 0
+ var/lid_w = 0
/// Controls the Y value of the lid, allowing up and down pixel movement.
- var/lid_y = 0
+ var/lid_z = 0
+ var/weld_w = 0
+ var/weld_z = 0
/obj/structure/closet/crate/Initialize(mapload)
AddElement(/datum/element/climbable, climb_time = crate_climb_time, climb_stun = 0) //add element in closed state before parent init opens it(if it does)
@@ -95,12 +97,15 @@
. += "securecrateg"
if(welded)
- . += icon_welded
+ var/mutable_appearance/weld_overlay = mutable_appearance(icon, "welded")
+ weld_overlay.pixel_w = weld_w
+ weld_overlay.pixel_z = weld_z
+ . += weld_overlay
if(opened && lid_icon_state)
var/mutable_appearance/lid = mutable_appearance(icon = lid_icon, icon_state = lid_icon_state)
- lid.pixel_x = lid_x
- lid.pixel_y = lid_y
+ lid.pixel_w = lid_w
+ lid.pixel_z = lid_z
lid.layer = layer
. += lid
@@ -185,6 +190,7 @@
base_icon_state = "trashcart"
can_install_electronics = FALSE
paint_jobs = null
+ weld_z = 5
/obj/structure/closet/crate/trashcart/laundry
name = "laundry cart"
diff --git a/code/game/objects/structures/crates_lockers/crates/cardboard.dm b/code/game/objects/structures/crates_lockers/crates/cardboard.dm
index 5d1418e397e..1544bb2e0a4 100644
--- a/code/game/objects/structures/crates_lockers/crates/cardboard.dm
+++ b/code/game/objects/structures/crates_lockers/crates/cardboard.dm
@@ -13,6 +13,7 @@
paint_jobs = null
cutting_tool = /obj/item/wirecutters
can_weld_shut = FALSE
+ lid_icon_state = "cardboardopen"
/obj/structure/closet/crate/cardboard/mothic
name = "\improper Mothic Fleet box"
@@ -25,3 +26,8 @@
desc = "For holding lizards, presumably."
icon_state = "cardboard_tiziran"
base_icon_state = "cardboard_tiziran"
+
+/obj/structure/closet/crate/cardboard/update_icon_state()
+ . = ..()
+ if(opened)
+ icon_state = "[base_icon_state]"
diff --git a/code/game/objects/structures/crates_lockers/crates/secure.dm b/code/game/objects/structures/crates_lockers/crates/secure.dm
index e80542c32b1..787b48a3192 100644
--- a/code/game/objects/structures/crates_lockers/crates/secure.dm
+++ b/code/game/objects/structures/crates_lockers/crates/secure.dm
@@ -111,6 +111,7 @@
icon_state = "atmos_secure"
base_icon_state = "atmos_secure"
+
/obj/structure/closet/crate/secure/science
name = "secure science crate"
desc = "A crate with a lock on it, painted in the scheme of the station's scientists."
@@ -129,6 +130,7 @@
damage_deflection = 10
icon_state = "securetrashcart"
base_icon_state = "securetrashcart"
+ weld_z = 5
paint_jobs = null
req_access = list(ACCESS_JANITOR)
diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm
index 22c18a15212..d6523ca74c2 100644
--- a/code/game/objects/structures/false_walls.dm
+++ b/code/game/objects/structures/false_walls.dm
@@ -15,7 +15,6 @@
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_WALLS
- can_be_unanchored = FALSE
can_atmos_pass = ATMOS_PASS_DENSITY
rad_insulation = RAD_MEDIUM_INSULATION
material_flags = MATERIAL_EFFECTS
@@ -42,12 +41,11 @@
if(.)
return
- opening = TRUE
if(!density)
- var/srcturf = get_turf(src)
- for(var/mob/living/obstacle in srcturf) //Stop people from using this as a shield
- opening = FALSE
+ for(var/mob/living/obstacle in get_turf(src)) //Stop people from using this as a shield
return
+
+ opening = TRUE
update_appearance()
addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/structure/falsewall, toggle_open)), 0.5 SECONDS)
@@ -66,7 +64,6 @@
if(opening)
smoothing_flags = NONE
- clear_smooth_overlays()
else
smoothing_flags = SMOOTH_BITMASK
QUEUE_SMOOTH(src)
@@ -435,6 +432,5 @@
girder_icon_state += "_[density ? "opening" : "closing"]"
else if(!density)
girder_icon_state += "_open"
- var/mutable_appearance/girder_underlay = mutable_appearance('icons/obj/structures.dmi', girder_icon_state, layer = LOW_OBJ_LAYER-0.01)
- girder_underlay.appearance_flags = RESET_ALPHA | RESET_COLOR
+ var/mutable_appearance/girder_underlay = mutable_appearance('icons/obj/structures.dmi', girder_icon_state, layer = LOW_OBJ_LAYER-0.01, appearance_flags = RESET_ALPHA | RESET_COLOR | KEEP_APART)
underlays += girder_underlay
diff --git a/code/game/objects/structures/fluff.dm b/code/game/objects/structures/fluff.dm
index 7acfa65f625..c4e1418372c 100644
--- a/code/game/objects/structures/fluff.dm
+++ b/code/game/objects/structures/fluff.dm
@@ -87,7 +87,7 @@
icon = 'icons/obj/mining_zones/survival_pod.dmi'
icon_state = "fan_tiny"
plane = FLOOR_PLANE
- layer = ABOVE_OPEN_TURF_LAYER
+ layer = BELOW_CATWALK_LAYER
/**
* A variety of statue in disrepair; parts are broken off and a gemstone is missing
diff --git a/code/game/objects/structures/guillotine.dm b/code/game/objects/structures/guillotine.dm
index f46caa48c7b..a1246f4d1b4 100644
--- a/code/game/objects/structures/guillotine.dm
+++ b/code/game/objects/structures/guillotine.dm
@@ -76,7 +76,7 @@
var/msg = "It is [anchored ? "wrenched to the floor." : "unsecured. A wrench should fix that."]"
if (blade_status == GUILLOTINE_BLADE_RAISED)
- msg += "The blade is raised, ready to fall, and"
+ msg += " The blade is raised, ready to fall, and"
if (blade_sharpness >= GUILLOTINE_DECAP_MIN_SHARP)
msg += " looks sharp enough to decapitate without any resistance."
diff --git a/code/game/objects/structures/guncase.dm b/code/game/objects/structures/guncase.dm
index b297b670b0e..11cb19e6d0f 100644
--- a/code/game/objects/structures/guncase.dm
+++ b/code/game/objects/structures/guncase.dm
@@ -27,7 +27,7 @@
if(case_type && LAZYLEN(contents))
var/mutable_appearance/gun_overlay = mutable_appearance(icon, case_type)
for(var/i in 1 to contents.len)
- gun_overlay.pixel_x = 3 * (i - 1)
+ gun_overlay.pixel_w = 3 * (i - 1)
. += new /mutable_appearance(gun_overlay)
. += "[icon_state]_[open ? "open" : "door"]"
diff --git a/code/game/objects/structures/headpike.dm b/code/game/objects/structures/headpike.dm
index fca32574455..d7a46463118 100644
--- a/code/game/objects/structures/headpike.dm
+++ b/code/game/objects/structures/headpike.dm
@@ -53,7 +53,7 @@
return
var/mutable_appearance/appearance = new()
appearance.copy_overlays(victim)
- appearance.pixel_y = 12
+ appearance.pixel_z = 12
appearance.layer = layer + 0.1
. += appearance
diff --git a/code/game/objects/structures/lavaland/necropolis_tendril.dm b/code/game/objects/structures/lavaland/necropolis_tendril.dm
index 0461180721e..e6ca59016ed 100644
--- a/code/game/objects/structures/lavaland/necropolis_tendril.dm
+++ b/code/game/objects/structures/lavaland/necropolis_tendril.dm
@@ -113,7 +113,7 @@ GLOBAL_LIST_INIT(tendrils, list())
collected += WEAKREF(collector)
/obj/effect/collapse/Destroy()
- QDEL_NULL(collected)
+ collected.Cut()
QDEL_NULL(emitted_light)
return ..()
diff --git a/code/game/objects/structures/lavaland/ore_vent.dm b/code/game/objects/structures/lavaland/ore_vent.dm
index d53935bda29..b44e7542a0a 100644
--- a/code/game/objects/structures/lavaland/ore_vent.dm
+++ b/code/game/objects/structures/lavaland/ore_vent.dm
@@ -230,7 +230,7 @@
if(istype(rock, /turf/open/misc/asteroid) && prob(35)) // so it's too common
new /obj/effect/decal/cleanable/rubble(rock)
if(prob(100 - (i * 15)))
- rock.gets_drilled(user, FALSE)
+ rock.gets_drilled(user)
if(prob(50))
new /obj/effect/decal/cleanable/rubble(rock)
sleep(0.6 SECONDS)
diff --git a/code/game/objects/structures/maintenance.dm b/code/game/objects/structures/maintenance.dm
index 20cedf535fb..cdcd6a162af 100644
--- a/code/game/objects/structures/maintenance.dm
+++ b/code/game/objects/structures/maintenance.dm
@@ -177,8 +177,7 @@ at the cost of risking a vicious bite.**/
overlayicon = "altar_pants2"
if(ALTAR_STAGETHREE)
overlayicon = "altar_pants3"
- var/mutable_appearance/pants_overlay = mutable_appearance(icon, overlayicon)
- pants_overlay.appearance_flags = RESET_COLOR
+ var/mutable_appearance/pants_overlay = mutable_appearance(icon, overlayicon, appearance_flags = RESET_COLOR|KEEP_APART)
pants_overlay.color = pants_color
. += pants_overlay
diff --git a/code/game/objects/structures/mannequin.dm b/code/game/objects/structures/mannequin.dm
index dc213e762ed..48a2c093a6b 100644
--- a/code/game/objects/structures/mannequin.dm
+++ b/code/game/objects/structures/mannequin.dm
@@ -93,7 +93,7 @@
/obj/structure/mannequin/update_overlays()
. = ..()
var/mutable_appearance/pedestal = mutable_appearance(icon, "pedestal_[material]")
- pedestal.pixel_y = -3
+ pedestal.pixel_z = -3
. += pedestal
var/datum/sprite_accessory/underwear/underwear = SSaccessories.underwear_list[underwear_name]
if(underwear)
diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm
index 7890b74942c..516d990dacb 100644
--- a/code/game/objects/structures/mirror.dm
+++ b/code/game/objects/structures/mirror.dm
@@ -250,8 +250,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/mirror/broken, 28)
var/new_eye_color = tgui_color_picker(user, "Choose your eye color", "Eye Color", user.eye_color_left) // BUBBERSTATION EDIT: TGUI COLOR PICKER
if(isnull(new_eye_color))
return TRUE
- user.eye_color_left = sanitize_hexcolor(new_eye_color)
- user.eye_color_right = sanitize_hexcolor(new_eye_color)
+ user.set_eye_color(sanitize_hexcolor(new_eye_color))
user.dna.update_ui_block(DNA_EYE_COLOR_LEFT_BLOCK)
user.dna.update_ui_block(DNA_EYE_COLOR_RIGHT_BLOCK)
user.update_body()
diff --git a/code/game/objects/structures/mystery_box.dm b/code/game/objects/structures/mystery_box.dm
index 3a1844aa222..cf76ad29ea7 100644
--- a/code/game/objects/structures/mystery_box.dm
+++ b/code/game/objects/structures/mystery_box.dm
@@ -128,7 +128,7 @@ GLOBAL_LIST_INIT(mystery_fishing, list(
/// The box's current state, and whether it can be interacted with in different ways
var/box_state = MYSTERY_BOX_STANDBY
/// The object that represents the rapidly changing item that will be granted upon being claimed. Is not, itself, an item.
- var/obj/mystery_box_item/presented_item
+ var/obj/effect/abstract/mystery_box_item/presented_item
/// A timer for how long it takes for the box to start its expire animation
var/box_expire_timer
/// A timer for how long it takes for the box to close itself
@@ -187,7 +187,10 @@ GLOBAL_LIST_INIT(mystery_fishing, list(
/obj/structure/mystery_box/proc/activate(mob/living/user)
box_state = MYSTERY_BOX_CHOOSING
update_icon_state()
- presented_item = new(loc)
+ presented_item = new(src)
+ presented_item.vis_flags = VIS_INHERIT_PLANE
+ presented_item.flags_1 |= IS_ONTOP_1
+ vis_contents += presented_item
presented_item.start_animation(src)
current_sound_channel = SSsounds.reserve_sound_channel(src)
playsound(src, open_sound, 70, FALSE, channel = current_sound_channel, falloff_exponent = 10)
@@ -297,12 +300,12 @@ GLOBAL_LIST_INIT(mystery_fishing, list(
return ..()
/// This represents the item that comes out of the box and is constantly changing before the box finishes deciding. Can probably be just an /atom or /movable.
-/obj/mystery_box_item
+/obj/effect/abstract/mystery_box_item
name = "???"
desc = "Who knows what it'll be??"
icon = 'icons/obj/weapons/guns/ballistic.dmi'
icon_state = "revolver"
- pixel_y = -8
+ pixel_z = -4
uses_integrity = FALSE
/// The currently selected item. Constantly changes while choosing, determines what is spawned if the prize is claimed, and its current icon
@@ -313,36 +316,36 @@ GLOBAL_LIST_INIT(mystery_fishing, list(
var/claimable = FALSE
-/obj/mystery_box_item/Initialize(mapload)
+/obj/effect/abstract/mystery_box_item/Initialize(mapload)
. = ..()
var/matrix/starting = matrix()
starting.Scale(0.5,0.5)
transform = starting
add_filter("weapon_rays", 3, list("type" = "rays", "size" = 28, "color" = COLOR_VIVID_YELLOW))
-/obj/mystery_box_item/Destroy(force)
+/obj/effect/abstract/mystery_box_item/Destroy(force)
parent_box = null
return ..()
// this way, clicking on the prize will work the same as clicking on the box
-/obj/mystery_box_item/attack_hand(mob/living/user, list/modifiers)
+/obj/effect/abstract/mystery_box_item/attack_hand(mob/living/user, list/modifiers)
. = ..()
if(claimable)
parent_box.grant_weapon(user)
/// Start pushing the prize up
-/obj/mystery_box_item/proc/start_animation(atom/parent)
+/obj/effect/abstract/mystery_box_item/proc/start_animation(atom/parent)
parent_box = parent
loop_icon_changes()
/// Keep changing the icon and selected path
-/obj/mystery_box_item/proc/loop_icon_changes()
+/obj/effect/abstract/mystery_box_item/proc/loop_icon_changes()
var/change_delay = 1 // the running count of the delay
var/change_delay_delta = 1 // How much to increment the delay per step so the changing slows down
var/change_counter = 0 // The running count of the running count
var/matrix/starting = matrix()
- animate(src, pixel_y = 6, transform = starting, time = MBOX_DURATION_CHOOSING, easing = QUAD_EASING | EASE_OUT)
+ animate(src, pixel_z = 10, transform = starting, time = MBOX_DURATION_CHOOSING, easing = QUAD_EASING | EASE_OUT)
while((change_counter + change_delay_delta + change_delay) < MBOX_DURATION_CHOOSING)
change_delay += change_delay_delta
@@ -353,12 +356,12 @@ GLOBAL_LIST_INIT(mystery_fishing, list(
addtimer(CALLBACK(src, PROC_REF(present_item)), MBOX_DURATION_CHOOSING)
/// animate() isn't up to the task for queueing up icon changes, so this is the proc we call with timers to update our icon
-/obj/mystery_box_item/proc/update_random_icon(new_item_type)
+/obj/effect/abstract/mystery_box_item/proc/update_random_icon(new_item_type)
var/atom/movable/new_item = new_item_type
icon = new_item::icon
icon_state = new_item::icon_state
-/obj/mystery_box_item/proc/present_item()
+/obj/effect/abstract/mystery_box_item/proc/present_item()
var/atom/movable/selected_item = selected_path
add_filter("ready_outline", 2, list("type" = "outline", "color" = COLOR_VIVID_YELLOW, "size" = 0.2))
name = selected_item::name
@@ -366,10 +369,10 @@ GLOBAL_LIST_INIT(mystery_fishing, list(
claimable = TRUE
/// Sink back into the box
-/obj/mystery_box_item/proc/expire_animation()
+/obj/effect/abstract/mystery_box_item/proc/expire_animation()
var/matrix/shrink_back = matrix()
shrink_back.Scale(0.5,0.5)
- animate(src, pixel_y = -8, transform = shrink_back, time = MBOX_DURATION_EXPIRING)
+ animate(src, pixel_z = -4, transform = shrink_back, time = MBOX_DURATION_EXPIRING)
#undef MYSTERY_BOX_COOLING_DOWN
#undef MYSTERY_BOX_STANDBY
diff --git a/code/game/objects/structures/plaques/static_plaques.dm b/code/game/objects/structures/plaques/static_plaques.dm
index c13cf832ab2..53e1cbb3198 100644
--- a/code/game/objects/structures/plaques/static_plaques.dm
+++ b/code/game/objects/structures/plaques/static_plaques.dm
@@ -25,83 +25,6 @@
/obj/structure/plaque/static_plaque/golden/captain
name = "The Most Robust Captain Award for Robustness"
-/obj/structure/plaque/static_plaque/tram
- /// The tram we have info about
- var/specific_transport_id = TRAMSTATION_LINE_1
- /// Weakref to the tram we have info about
- var/datum/weakref/transport_ref
- /// Serial number of the tram
- var/tram_serial
- name = "\improper tram information plate"
- icon_state = "commission_tram"
- custom_materials = list(/datum/material/titanium = SHEET_MATERIAL_AMOUNT)
- layer = SIGN_LAYER
-
-/obj/structure/plaque/static_plaque/tram/Initialize(mapload)
- . = ..()
- return INITIALIZE_HINT_LATELOAD
-
-/obj/structure/plaque/static_plaque/tram/LateInitialize()
- link_tram()
- set_tram_serial()
-
-/obj/structure/plaque/static_plaque/tram/add_context(atom/source, list/context, obj/item/held_item, mob/user)
- . = ..()
- if(isnull(held_item))
- context[SCREENTIP_CONTEXT_LMB] = "View details"
- return CONTEXTUAL_SCREENTIP_SET
-
-/obj/structure/plaque/static_plaque/tram/proc/link_tram()
- for(var/datum/transport_controller/linear/tram/tram as anything in SStransport.transports_by_type[TRANSPORT_TYPE_TRAM])
- if(tram.specific_transport_id == specific_transport_id)
- transport_ref = WEAKREF(tram)
- break
-
-/obj/structure/plaque/static_plaque/tram/proc/set_tram_serial()
- var/datum/transport_controller/linear/tram/tram = transport_ref?.resolve()
- if(isnull(tram) || isnull(tram.tram_registration))
- return
-
- tram_serial = tram.tram_registration.serial_number
- desc = "A plate showing details from the manufacturer about this Nakamura Engineering SkyyTram Mk VI, serial number [tram_serial]. We are not responsible for any injuries or fatalities caused by usage of the tram. \
- Using the tram carries inherent risks, and we cannot guarantee the safety of all passengers. By using the tram, you assume, acknowledge, and accept all the risks and responsibilities. \
- Please be aware that riding the tram can cause a variety of injuries, including but not limited to: slips, trips, and falls; collisions with other passengers or objects; strains, sprains, and other musculoskeletal injuries; \
- cuts, bruises, and lacerations; and more severe injuries such as head trauma, spinal cord injuries, and even death. These injuries can be caused by a variety of factors, including the movements of the tram, the behaviour \
- of other passengers, and unforeseen circumstances such as foul play or mechanical issues. \
- By entering the tram, guideway, or crossings you agree Nanotrasen is not liable for any injuries, damages, or losses that may occur. If you do not agree to these terms, please do not use the tram. "
-
-/obj/structure/plaque/static_plaque/tram/ui_interact(mob/user, datum/tgui/ui)
- ui = SStgui.try_update_ui(user, src, ui)
- if(!ui)
- ui = new(user, src, "TramPlaque")
- ui.autoupdate = FALSE
- ui.open()
-
-/obj/structure/plaque/static_plaque/tram/ui_static_data(mob/user)
- var/datum/transport_controller/linear/tram/tram = transport_ref?.resolve()
- var/list/data = list()
- var/list/current_tram = list()
- var/list/previous_trams = list()
-
- current_tram += list(list(
- "serialNumber" = tram.tram_registration.serial_number,
- "mfgDate" = tram.tram_registration.mfg_date,
- "distanceTravelled" = tram.tram_registration.distance_travelled,
- "tramCollisions" = tram.tram_registration.collisions,
- ))
-
- for(var/datum/tram_mfg_info/previous_tram as anything in tram.tram_history)
- previous_trams += list(list(
- "serialNumber" = previous_tram.serial_number,
- "mfgDate" = previous_tram.mfg_date,
- "distanceTravelled" = previous_tram.distance_travelled,
- "tramCollisions" = previous_tram.collisions,
- ))
-
- data["currentTram"] = current_tram
- data["previousTrams"] = previous_trams
- return data
-
// Commission plaques, to give a little backstory to the stations. Commission dates are date of merge (or best approximation, in the case of Meta) + 540 years to convert to SS13 dates.
// Where PRs are available, I've linked them. Where they are unavailable, a git hash is provided instead for the direct commit that added/removed the map.
// Please enjoy this trip through SS13's history.
diff --git a/code/game/objects/structures/reflector.dm b/code/game/objects/structures/reflector.dm
index d470008bb9c..3aafd2bf7fc 100644
--- a/code/game/objects/structures/reflector.dm
+++ b/code/game/objects/structures/reflector.dm
@@ -96,7 +96,7 @@
return ITEM_INTERACT_SUCCESS
user.visible_message(span_notice("[user] starts to dismantle [src]."), span_notice("You start to dismantle [src]..."))
if(!tool.use_tool(src, user, 8 SECONDS, volume=50))
- return
+ return ITEM_INTERACT_BLOCKING
to_chat(user, span_notice("You dismantle [src]."))
new framebuildstacktype(drop_location(), framebuildstackamount)
if(buildstackamount)
@@ -106,7 +106,7 @@
/obj/structure/reflector/welder_act(mob/living/user, obj/item/tool)
if(!tool.tool_start_check(user, amount=1))
- return
+ return ITEM_INTERACT_BLOCKING
if(atom_integrity < max_integrity)
user.visible_message(span_notice("[user] starts to repair [src]."),
span_notice("You begin repairing [src]..."),
diff --git a/code/game/objects/structures/signs/_signs.dm b/code/game/objects/structures/signs/_signs.dm
index d3713ca1b2f..664a4696c36 100644
--- a/code/game/objects/structures/signs/_signs.dm
+++ b/code/game/objects/structures/signs/_signs.dm
@@ -210,7 +210,7 @@
return ..()
/obj/item/sign/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers)
- if(!iswallturf(interacting_with))
+ if(!iswallturf(interacting_with) && !istype(interacting_with, /obj/structure/tram))
return NONE
var/turf/target_turf = interacting_with
var/turf/user_turf = get_turf(user)
@@ -275,6 +275,11 @@
var/obj/structure/sign/potential_sign = s
if(!initial(potential_sign.is_editable))
continue
- output[initial(potential_sign.sign_change_name)] = potential_sign
+ var/shown_name = initial(potential_sign.sign_change_name) || capitalize(format_text(initial(potential_sign.name)))
+ if(output[shown_name])
+ if(!ispath(potential_sign, output[shown_name]))
+ stack_trace("Two signs share the same sign_change_name: [output[shown_name]] and [potential_sign]")
+ continue
+ output[shown_name] = potential_sign
output = sort_list(output) //Alphabetizes the results.
return output
diff --git a/code/game/objects/structures/signs/signs_departments.dm b/code/game/objects/structures/signs/signs_departments.dm
index 532cbcfc426..9966ced8f47 100644
--- a/code/game/objects/structures/signs/signs_departments.dm
+++ b/code/game/objects/structures/signs/signs_departments.dm
@@ -191,7 +191,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/holy, 32)
/obj/structure/sign/departments/holy_alt
name = "\improper Chapel sign"
- sign_change_name = "Department - Chapel"
+ sign_change_name = "Department - Chapel Alt"
desc = "A sign labelling a religious area."
icon_state = "chapel"
diff --git a/code/game/objects/structures/signs/signs_misc.dm b/code/game/objects/structures/signs/signs_misc.dm
index 0b0348977df..6825063c95e 100644
--- a/code/game/objects/structures/signs/signs_misc.dm
+++ b/code/game/objects/structures/signs/signs_misc.dm
@@ -27,3 +27,85 @@
desc = "85cr for a iced lactose-free caramel frappe?! Who buys that?!"
MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/xenobio_guide, 32)
+
+// Tram-mounted statistics plate
+/obj/structure/sign/tram_plate
+ /// The tram we have info about
+ var/specific_transport_id = TRAMSTATION_LINE_1
+ /// Weakref to the tram we have info about
+ var/datum/weakref/transport_ref
+ /// Serial number of the tram
+ var/tram_serial
+ name = "tram information plate"
+ sign_change_name = "Information - Tram Statistics"
+ icon_state = "commission_tram"
+ max_integrity = 150
+ armor_type = /datum/armor/tram_structure
+ is_editable = FALSE
+
+/obj/structure/sign/tram_plate/Initialize(mapload)
+ . = ..()
+ return INITIALIZE_HINT_LATELOAD
+
+/obj/structure/sign/tram_plate/LateInitialize()
+ link_tram()
+ set_tram_serial()
+
+/obj/structure/sign/tram_plate/add_context(atom/source, list/context, obj/item/held_item, mob/user)
+ . = ..()
+ if(isnull(held_item))
+ context[SCREENTIP_CONTEXT_LMB] = "View details"
+ return CONTEXTUAL_SCREENTIP_SET
+
+/obj/structure/sign/tram_plate/proc/link_tram()
+ for(var/datum/transport_controller/linear/tram/tram as anything in SStransport.transports_by_type[TRANSPORT_TYPE_TRAM])
+ if(tram.specific_transport_id == specific_transport_id)
+ transport_ref = WEAKREF(tram)
+ break
+
+/obj/structure/sign/tram_plate/proc/set_tram_serial()
+ var/datum/transport_controller/linear/tram/tram = transport_ref?.resolve()
+ if(isnull(tram) || isnull(tram.tram_registration))
+ return
+
+ tram_serial = tram.tram_registration.serial_number
+ desc = "A plate showing details from the manufacturer about this Nakamura Engineering SkyyTram Mk VI, serial number [tram_serial]. We are not responsible for any injuries or fatalities caused by usage of the tram. \
+ Using the tram carries inherent risks, and we cannot guarantee the safety of all passengers. By using the tram, you assume, acknowledge, and accept all the risks and responsibilities. \
+ Please be aware that riding the tram can cause a variety of injuries, including but not limited to: slips, trips, and falls; collisions with other passengers or objects; strains, sprains, and other musculoskeletal injuries; \
+ cuts, bruises, and lacerations; and more severe injuries such as head trauma, spinal cord injuries, and even death. These injuries can be caused by a variety of factors, including the movements of the tram, the behaviour \
+ of other passengers, and unforeseen circumstances such as foul play or mechanical issues. \
+ By entering the tram, guideway, or crossings you agree Nanotrasen is not liable for any injuries, damages, or losses that may occur. If you do not agree to these terms, please do not use the tram. "
+
+/obj/structure/sign/tram_plate/ui_interact(mob/user, datum/tgui/ui)
+ ui = SStgui.try_update_ui(user, src, ui)
+ if(!ui)
+ ui = new(user, src, "TramPlaque")
+ ui.autoupdate = FALSE
+ ui.open()
+
+/obj/structure/sign/tram_plate/ui_static_data(mob/user)
+ var/datum/transport_controller/linear/tram/tram = transport_ref?.resolve()
+ var/list/data = list()
+ var/list/current_tram = list()
+ var/list/previous_trams = list()
+
+ current_tram += list(list(
+ "serialNumber" = tram.tram_registration.serial_number,
+ "mfgDate" = tram.tram_registration.mfg_date,
+ "distanceTravelled" = tram.tram_registration.distance_travelled,
+ "tramCollisions" = tram.tram_registration.collisions,
+ ))
+
+ for(var/datum/tram_mfg_info/previous_tram as anything in tram.tram_history)
+ previous_trams += list(list(
+ "serialNumber" = previous_tram.serial_number,
+ "mfgDate" = previous_tram.mfg_date,
+ "distanceTravelled" = previous_tram.distance_travelled,
+ "tramCollisions" = previous_tram.collisions,
+ ))
+
+ data["currentTram"] = current_tram
+ data["previousTrams"] = previous_trams
+ return data
+
+MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/tram_plate, 32)
diff --git a/code/game/objects/structures/table_frames.dm b/code/game/objects/structures/table_frames.dm
index cb45eb18e75..36ae8e5fb70 100644
--- a/code/game/objects/structures/table_frames.dm
+++ b/code/game/objects/structures/table_frames.dm
@@ -21,59 +21,63 @@
var/framestack = /obj/item/stack/rods
var/framestackamount = 2
+/obj/structure/table_frame/Initialize(mapload)
+ . = ..()
+ register_context()
-/obj/structure/table_frame/wrench_act(mob/living/user, obj/item/I)
- to_chat(user, span_notice("You start disassembling [src]..."))
- I.play_tool_sound(src)
- if(!I.use_tool(src, user, 3 SECONDS))
- return TRUE
+/obj/structure/table_frame/add_context(atom/source, list/context, obj/item/held_item, mob/living/user)
+ if(isnull(held_item))
+ return NONE
+
+ if(held_item.tool_behaviour == TOOL_WRENCH)
+ context[SCREENTIP_CONTEXT_LMB] = "Deconstruct"
+ context[SCREENTIP_CONTEXT_RMB] = "Deconstruct"
+ return CONTEXTUAL_SCREENTIP_SET
+
+ if(isstack(held_item) && get_table_type(held_item))
+ context[SCREENTIP_CONTEXT_LMB] = "Construct table"
+ return CONTEXTUAL_SCREENTIP_SET
+
+/obj/structure/table_frame/wrench_act(mob/living/user, obj/item/tool)
+ balloon_alert(user, "deconstructing...")
+ tool.play_tool_sound(src)
+ if(!tool.use_tool(src, user, 3 SECONDS))
+ return ITEM_INTERACT_BLOCKING
playsound(loc, 'sound/items/deconstruct.ogg', 50, TRUE)
deconstruct(TRUE)
- return TRUE
+ return ITEM_INTERACT_SUCCESS
+/obj/structure/table_frame/wrench_act_secondary(mob/living/user, obj/item/tool)
+ return wrench_act(user, tool)
-/obj/structure/table_frame/attackby(obj/item/I, mob/user, params)
- if(isstack(I))
- var/obj/item/stack/material = I
- if(material.tableVariant)
- if(material.get_amount() < 1)
- to_chat(user, span_warning("You need one [material.name] sheet to do this!"))
- return
- if(locate(/obj/structure/table) in loc)
- to_chat(user, span_warning("There's already a table built here!"))
- return
- to_chat(user, span_notice("You start adding [material] to [src]..."))
- if(!do_after(user, 2 SECONDS, target = src) || !material.use(1) || (locate(/obj/structure/table) in loc))
- return
- make_new_table(material.tableVariant)
- else if(istype(material, /obj/item/stack/sheet))
- if(material.get_amount() < 1)
- to_chat(user, span_warning("You need one sheet to do this!"))
- return
- if(locate(/obj/structure/table) in loc)
- to_chat(user, span_warning("There's already a table built here!"))
- return
- to_chat(user, span_notice("You start adding [material] to [src]..."))
- if(!do_after(user, 2 SECONDS, target = src) || !material.use(1) || (locate(/obj/structure/table) in loc))
- return
- var/list/material_list = list()
- if(material.material_type)
- material_list[material.material_type] = SHEET_MATERIAL_AMOUNT
- make_new_table(/obj/structure/table/greyscale, material_list)
- return
- return ..()
+/obj/structure/table_frame/item_interaction(mob/living/user, obj/item/tool, list/modifiers)
+ if(!isstack(tool))
+ return NONE
+ var/obj/item/stack/our_stack = tool
+ var/table_type = get_table_type(our_stack)
+ if(isnull(table_type))
+ return NONE
+ if(our_stack.get_amount() < 1)
+ balloon_alert(user, "need more material!")
+ return ITEM_INTERACT_BLOCKING
+ if(locate(/obj/structure/table) in loc)
+ balloon_alert(user, "can't stack tables!")
+ return ITEM_INTERACT_BLOCKING
-/obj/structure/table_frame/proc/make_new_table(table_type, custom_materials, carpet_type) //makes sure the new table made retains what we had as a frame
- var/obj/structure/table/T = new table_type(loc)
- T.frame = type
- T.framestack = framestack
- T.framestackamount = framestackamount
- if (carpet_type)
- T.buildstack = carpet_type
- if(custom_materials)
- T.set_custom_materials(custom_materials)
+ balloon_alert(user, "constructing table...")
+ if(!do_after(user, 2 SECONDS, target = src))
+ return ITEM_INTERACT_BLOCKING
+ if((locate(/obj/structure/table) in loc) || !our_stack.use(1))
+ return ITEM_INTERACT_BLOCKING
+
+ new table_type(loc, src, our_stack)
qdel(src)
+ return ITEM_INTERACT_SUCCESS
+
+/// Gets the table type we make with our given stack.
+/obj/structure/table_frame/proc/get_table_type(obj/item/stack/our_stack)
+ return our_stack.get_table_type()
/obj/structure/table_frame/atom_deconstruct(disassembled = TRUE)
new framestack(get_turf(src), framestackamount)
@@ -94,22 +98,8 @@
framestackamount = 2
resistance_flags = FLAMMABLE
-/obj/structure/table_frame/wood/attackby(obj/item/I, mob/user, params)
- if (isstack(I))
- var/obj/item/stack/material = I
- var/toConstruct // stores the table variant
- var/carpet_type // stores the carpet type used for construction in case of poker tables
- if(istype(I, /obj/item/stack/sheet/mineral/wood))
- toConstruct = /obj/structure/table/wood
- else if(istype(I, /obj/item/stack/tile/carpet))
- toConstruct = /obj/structure/table/wood/poker
- carpet_type = I.type
- if (toConstruct)
- if(material.get_amount() < 1)
- to_chat(user, span_warning("You need one [material.name] sheet to do this!"))
- return
- to_chat(user, span_notice("You start adding [material] to [src]..."))
- if(do_after(user, 2 SECONDS, target = src) && material.use(1))
- make_new_table(toConstruct, null, carpet_type)
- else
- return ..()
+/obj/structure/table_frame/wood/get_table_type(obj/item/stack/our_stack)
+ if(istype(our_stack, /obj/item/stack/sheet/mineral/wood))
+ return /obj/structure/table/wood
+ if(istype(our_stack, /obj/item/stack/tile/carpet))
+ return /obj/structure/table/wood/poker
diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm
index c7e6ba7ca0b..b57c527e075 100644
--- a/code/game/objects/structures/tables_racks.dm
+++ b/code/game/objects/structures/tables_racks.dm
@@ -38,10 +38,13 @@
var/framestackamount = 2
var/deconstruction_ready = TRUE
-/obj/structure/table/Initialize(mapload, _buildstack)
+/obj/structure/table/Initialize(mapload, obj/structure/table_frame/frame_used, obj/item/stack/stack_used)
. = ..()
- if(_buildstack)
- buildstack = _buildstack
+ if(frame_used)
+ apply_frame_properties(frame_used)
+ if(stack_used)
+ apply_stack_properties(stack_used)
+
AddElement(/datum/element/footstep_override, priority = STEP_SOUND_TABLE_PRIORITY)
make_climbable()
@@ -57,6 +60,16 @@
ADD_TRAIT(src, TRAIT_COMBAT_MODE_SKIP_INTERACTION, INNATE_TRAIT)
+/// Applies additional properties based on the frame used to construct this table.
+/obj/structure/table/proc/apply_frame_properties(obj/structure/table_frame/frame_used)
+ frame = frame_used.type
+ framestack = frame_used.framestack
+ framestackamount = frame_used.framestackamount
+
+/// Applies additional properties based on the stack used to construct this table.
+/obj/structure/table/proc/apply_stack_properties(obj/item/stack/stack_used)
+ return
+
///Adds the element used to make the object climbable, and also the one that shift the mob buckled to it up.
/obj/structure/table/proc/make_climbable()
AddElement(/datum/element/climbable)
@@ -183,13 +196,12 @@
pushed_mob.Knockdown(30)
pushed_mob.apply_damage(10, BRUTE)
pushed_mob.apply_damage(40, STAMINA)
- if(user.mind?.martial_art?.smashes_tables && user.mind?.martial_art.can_use(user))
- deconstruct(FALSE)
playsound(pushed_mob, 'sound/effects/tableslam.ogg', 90, TRUE)
pushed_mob.visible_message(span_danger("[user] slams [pushed_mob] onto \the [src]!"), \
span_userdanger("[user] slams you onto \the [src]!"))
log_combat(user, pushed_mob, "tabled", null, "onto [src]")
pushed_mob.add_mood_event("table", /datum/mood_event/table)
+ SEND_SIGNAL(user, COMSIG_LIVING_TABLE_SLAMMING, pushed_mob, src)
/obj/structure/table/proc/tablelimbsmash(mob/living/user, mob/living/pushed_mob)
pushed_mob.Knockdown(30)
@@ -200,13 +212,12 @@
pushed_mob.apply_damage(30, BRUTE, banged_limb, wound_bonus = extra_wound)
pushed_mob.apply_damage(60, STAMINA)
take_damage(50)
- if(user.mind?.martial_art?.smashes_tables && user.mind?.martial_art.can_use(user))
- deconstruct(FALSE)
playsound(pushed_mob, 'sound/effects/bang.ogg', 90, TRUE)
pushed_mob.visible_message(span_danger("[user] smashes [pushed_mob]'s [banged_limb.plaintext_zone] against \the [src]!"),
span_userdanger("[user] smashes your [banged_limb.plaintext_zone] against \the [src]"))
log_combat(user, pushed_mob, "head slammed", null, "against [src]")
pushed_mob.add_mood_event("table", /datum/mood_event/table_limbsmash, banged_limb)
+ SEND_SIGNAL(user, COMSIG_LIVING_TABLE_LIMB_SLAMMING, pushed_mob, src)
/obj/structure/table/screwdriver_act_secondary(mob/living/user, obj/item/tool)
if(!deconstruction_ready)
@@ -360,6 +371,11 @@
material_flags = MATERIAL_EFFECTS | MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS
buildstack = null //No buildstack, so generate from mat datums
+/obj/structure/table/greyscale/apply_stack_properties(obj/item/stack/stack_used)
+ if(!stack_used.material_type)
+ return
+ set_custom_materials(list(stack_used.material_type = SHEET_MATERIAL_AMOUNT))
+
/obj/structure/table/greyscale/finalize_material_effects(list/materials)
. = ..()
var/english_list = get_material_english_list(materials)
@@ -378,7 +394,7 @@
/// Lazylist of the items that we have on our surface.
var/list/attached_items = null
-/obj/structure/table/rolling/Initialize(mapload)
+/obj/structure/table/rolling/Initialize(mapload, obj/structure/table_frame/frame_used, obj/item/stack/stack_used)
. = ..()
AddElement(/datum/element/noisy_movement)
@@ -461,7 +477,7 @@
fire = 80
acid = 100
-/obj/structure/table/glass/Initialize(mapload)
+/obj/structure/table/glass/Initialize(mapload, obj/structure/table_frame/frame_used, obj/item/stack/stack_used)
. = ..()
var/static/list/loc_connections = list(
COMSIG_ATOM_ENTERED = PROC_REF(on_entered),
@@ -556,6 +572,9 @@
base_icon_state = "poker_table"
buildstack = /obj/item/stack/tile/carpet
+/obj/structure/table/wood/poker/apply_stack_properties(obj/item/stack/stack_used)
+ buildstack = stack_used.type
+
/obj/structure/table/wood/poker/narsie_act()
..(FALSE)
@@ -572,7 +591,7 @@
canSmoothWith = SMOOTH_GROUP_FANCY_WOOD_TABLES
var/smooth_icon = 'icons/obj/smooth_structures/fancy_table.dmi' // see Initialize()
-/obj/structure/table/wood/fancy/Initialize(mapload)
+/obj/structure/table/wood/fancy/Initialize(mapload, obj/structure/table_frame/frame_used, obj/item/stack/stack_used)
. = ..()
// Needs to be set dynamically because table smooth sprites are 32x34,
// which the editor treats as a two-tile-tall object. The sprites are that
@@ -580,6 +599,9 @@
// the sprites in the editor to see why.
icon = smooth_icon
+/obj/structure/table/wood/fancy/apply_stack_properties(obj/item/stack/stack_used)
+ buildstack = stack_used.type
+
/obj/structure/table/wood/fancy/black
icon_state = "fancy_table_black"
base_icon_state = "fancy_table_black"
@@ -808,7 +830,7 @@
var/mob/living/carbon/patient = null
var/obj/machinery/computer/operating/computer = null
-/obj/structure/table/optable/Initialize(mapload)
+/obj/structure/table/optable/Initialize(mapload, obj/structure/table_frame/frame_used, obj/item/stack/stack_used)
. = ..()
for(var/direction in GLOB.alldirs)
computer = locate(/obj/machinery/computer/operating) in get_step(src, direction)
diff --git a/code/game/objects/structures/transit_tubes/transit_tube.dm b/code/game/objects/structures/transit_tubes/transit_tube.dm
index 2975d08f1f2..abaa1789641 100644
--- a/code/game/objects/structures/transit_tubes/transit_tube.dm
+++ b/code/game/objects/structures/transit_tubes/transit_tube.dm
@@ -146,13 +146,13 @@
tube_overlay.icon_state = "decorative_diag"
switch(shift_dir)
if(NORTH)
- tube_overlay.pixel_y = 32
+ tube_overlay.pixel_z = 32
if(SOUTH)
- tube_overlay.pixel_y = -32
+ tube_overlay.pixel_z = -32
if(EAST)
- tube_overlay.pixel_x = 32
+ tube_overlay.pixel_w = 32
if(WEST)
- tube_overlay.pixel_x = -32
+ tube_overlay.pixel_w = -32
else
tube_overlay.icon_state = "decorative"
diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm
index 445af1fab2b..9d263d4cc53 100644
--- a/code/game/objects/structures/window.dm
+++ b/code/game/objects/structures/window.dm
@@ -9,7 +9,6 @@
flags_1 = ON_BORDER_1
obj_flags = CAN_BE_HIT | BLOCKS_CONSTRUCTION_DIR | IGNORE_DENSITY
max_integrity = 50
- can_be_unanchored = TRUE
resistance_flags = ACID_PROOF
armor_type = /datum/armor/structure_window
can_atmos_pass = ATMOS_PASS_PROC
diff --git a/code/game/shuttle_engines.dm b/code/game/shuttle_engines.dm
index f8d2a9db058..bc8d594b8c9 100644
--- a/code/game/shuttle_engines.dm
+++ b/code/game/shuttle_engines.dm
@@ -40,15 +40,23 @@
AddComponent(/datum/component/simple_rotation)
register_context()
+/obj/machinery/power/shuttle_engine/on_construction(mob/user)
+ . = ..()
+ if(anchored)
+ connect_to_shuttle(port = SSshuttle.get_containing_shuttle(src)) //connect to a new ship, if needed
+ if(!connected_ship_ref?.resolve())
+ AddElement(/datum/element/connect_loc, connections)
+
/obj/machinery/power/shuttle_engine/connect_to_shuttle(mapload, obj/docking_port/mobile/port, obj/docking_port/stationary/dock)
. = ..()
if(!port)
return FALSE
connected_ship_ref = WEAKREF(port)
port.engine_list += src
- port.current_engine_power += engine_power
if(mapload)
port.initial_engine_power += engine_power
+ if(engine_state == ENGINE_WELDED)
+ alter_engine_power(engine_power)
/obj/machinery/power/shuttle_engine/Destroy()
if(engine_state == ENGINE_WELDED)
diff --git a/code/game/sound.dm b/code/game/sound.dm
index ce1fc1994f8..e0cae9841d6 100644
--- a/code/game/sound.dm
+++ b/code/game/sound.dm
@@ -1,28 +1,3 @@
-
-///Default override for echo
-/sound
- echo = list(
- 0, // Direct
- 0, // DirectHF
- -10000, // Room, -10000 means no low frequency sound reverb
- -10000, // RoomHF, -10000 means no high frequency sound reverb
- 0, // Obstruction
- 0, // ObstructionLFRatio
- 0, // Occlusion
- 0.25, // OcclusionLFRatio
- 1.5, // OcclusionRoomRatio
- 1.0, // OcclusionDirectRatio
- 0, // Exclusion
- 1.0, // ExclusionLFRatio
- 0, // OutsideVolumeHF
- 0, // DopplerFactor
- 0, // RolloffFactor
- 0, // RoomRolloffFactor
- 1.0, // AirAbsorptionFactor
- 0, // Flags (1 = Auto Direct, 2 = Auto Room, 4 = Auto RoomHF)
- )
- environment = SOUND_ENVIRONMENT_NONE //Default to none so sounds without overrides dont get reverb
-
/**
* playsound is a proc used to play a 3D sound in a specific range. This uses SOUND_RANGE + extra_range to determine that.
*
@@ -62,9 +37,11 @@
var/sound/S = isdatum(soundin) ? soundin : sound(get_sfx(soundin))
var/maxdistance = SOUND_RANGE + extrarange
var/source_z = turf_source.z
- var/list/listeners = SSmobs.clients_by_zlevel[source_z].Copy()
- . = list()//output everything that successfully heard the sound
+ if(vary && !frequency)
+ frequency = get_rand_frequency() // skips us having to do it per-sound later. should just make this a macro tbh
+
+ var/list/listeners
var/turf/above_turf = GET_TURF_ABOVE(turf_source)
var/turf/below_turf = GET_TURF_BELOW(turf_source)
@@ -72,25 +49,29 @@
var/audible_distance = CALCULATE_MAX_SOUND_AUDIBLE_DISTANCE(vol, maxdistance, falloff_distance, falloff_exponent)
if(ignore_walls)
+ listeners = get_hearers_in_range(audible_distance, turf_source, RECURSIVE_CONTENTS_CLIENT_MOBS)
if(above_turf && istransparentturf(above_turf))
- listeners += SSmobs.clients_by_zlevel[above_turf.z]
+ listeners += get_hearers_in_range(audible_distance, above_turf, RECURSIVE_CONTENTS_CLIENT_MOBS)
if(below_turf && istransparentturf(turf_source))
- listeners += SSmobs.clients_by_zlevel[below_turf.z]
+ listeners += get_hearers_in_range(audible_distance, below_turf, RECURSIVE_CONTENTS_CLIENT_MOBS)
else //these sounds don't carry through walls
- listeners = get_hearers_in_view(audible_distance, turf_source)
+ listeners = get_hearers_in_view(audible_distance, turf_source, RECURSIVE_CONTENTS_CLIENT_MOBS)
if(above_turf && istransparentturf(above_turf))
- listeners += get_hearers_in_view(audible_distance, above_turf)
+ listeners += get_hearers_in_view(audible_distance, above_turf, RECURSIVE_CONTENTS_CLIENT_MOBS)
if(below_turf && istransparentturf(turf_source))
- listeners += get_hearers_in_view(audible_distance, below_turf)
+ listeners += get_hearers_in_view(audible_distance, below_turf, RECURSIVE_CONTENTS_CLIENT_MOBS)
+ for(var/mob/listening_ghost as anything in SSmobs.dead_players_by_zlevel[source_z])
+ if(get_dist(listening_ghost, turf_source) <= audible_distance)
+ listeners += listening_ghost
- for(var/mob/listening_mob in listeners | SSmobs.dead_players_by_zlevel[source_z])//observers always hear through walls
- if(get_dist(listening_mob, turf_source) <= audible_distance)
- listening_mob.playsound_local(turf_source, soundin, vol, vary, frequency, falloff_exponent, channel, pressure_affected, S, maxdistance, falloff_distance, 1, use_reverb)
- . += listening_mob
+ for(var/mob/listening_mob in listeners)//had nulls sneak in here, hence the typecheck
+ listening_mob.playsound_local(turf_source, soundin, vol, vary, frequency, falloff_exponent, channel, pressure_affected, S, maxdistance, falloff_distance, 1, use_reverb)
+
+ return listeners
/**
* Plays a sound with a specific point of origin for src mob
@@ -179,9 +160,10 @@
var/area/A = get_area(src)
sound_to_use.environment = A.sound_environment
- if(use_reverb && sound_to_use.environment != SOUND_ENVIRONMENT_NONE) //We have reverb, reset our echo setting
- sound_to_use.echo[3] = -1300 //Room setting, 0 means normal reverb //SKYRAT EDIT CHANGE
- sound_to_use.echo[4] = -1300 //RoomHF setting, 0 means normal reverb. //SKYRAT EDIT CHANGE
+ if(!use_reverb || sound_to_use.environment == SOUND_ENVIRONMENT_NONE)
+ sound_to_use.echo ||= new /list(18)
+ sound_to_use.echo[3] = -10000
+ sound_to_use.echo[4] = -10000
if(HAS_TRAIT(src, TRAIT_SOUND_DEBUGGED))
to_chat(src, span_admin("Max Range-[max_distance] Distance-[distance] Vol-[round(sound_to_use.volume, 0.01)] Sound-[sound_to_use.file]"))
diff --git a/code/game/turfs/change_turf.dm b/code/game/turfs/change_turf.dm
index 478aa47bc76..12bc1d3f2be 100644
--- a/code/game/turfs/change_turf.dm
+++ b/code/game/turfs/change_turf.dm
@@ -286,7 +286,7 @@ GLOBAL_LIST_INIT(blacklisted_automated_baseturfs, typecacheof(list(
if(ispath(oldType, /turf/closed) && isopenturf(src))
SSair.add_to_active(src)
else //In effect, I want closed turfs to make their tile active when sheered, but we need to queue it since they have no adjacent turfs
- CALCULATE_ADJACENT_TURFS(src, (!(ispath(oldType, /turf/closed) && isopenturf(src)) ? NORMAL_TURF : MAKE_ACTIVE))
+ CALCULATE_ADJACENT_TURFS(src, (ispath(oldType, /turf/closed) && isopenturf(src) ? MAKE_ACTIVE : NORMAL_TURF))
/turf/open/AfterChange(flags, oldType)
..()
diff --git a/code/game/turfs/closed/minerals.dm b/code/game/turfs/closed/minerals.dm
index 60b85110086..0af752b18c2 100644
--- a/code/game/turfs/closed/minerals.dm
+++ b/code/game/turfs/closed/minerals.dm
@@ -182,7 +182,7 @@
TIMER_COOLDOWN_END(src, REF(user)) //if we fail we can start again immediately
return
if(ismineralturf(src))
- gets_drilled(user, TRUE)
+ gets_drilled(user, 1)
SSblackbox.record_feedback("tally", "pick_used_mining", 1, I.type)
/turf/closed/mineral/attack_hand(mob/user)
@@ -208,9 +208,9 @@
if(user.Adjacent(src))
attack_hand(user)
-/turf/closed/mineral/proc/gets_drilled(mob/user, give_exp = FALSE)
+/turf/closed/mineral/proc/gets_drilled(mob/user, exp_multiplier = 0)
if(istype(user))
- SEND_SIGNAL(user, COMSIG_MOB_MINED, src, give_exp)
+ SEND_SIGNAL(user, COMSIG_MOB_MINED, src, exp_multiplier)
if(mineralType && (mineralAmt > 0))
new mineralType(src, mineralAmt)
SSblackbox.record_feedback("tally", "ore_mined", mineralAmt, mineralType)
@@ -218,11 +218,11 @@
new spawned_boulder(src)
if(ishuman(user))
var/mob/living/carbon/human/H = user
- if(give_exp)
+ if(exp_multiplier)
if (mineralType && (mineralAmt > 0))
- H.mind.adjust_experience(/datum/skill/mining, initial(mineralType.mine_experience) * mineralAmt)
+ H.mind.adjust_experience(/datum/skill/mining, initial(mineralType.mine_experience) * mineralAmt * exp_multiplier)
else
- H.mind.adjust_experience(/datum/skill/mining, 4)
+ H.mind.adjust_experience(/datum/skill/mining, 4 * exp_multiplier)
for(var/obj/effect/temp_visual/mining_overlay/M in src)
qdel(M)
@@ -255,23 +255,23 @@
/turf/closed/mineral/ex_act(severity, target)
. = ..()
if(target == src)
- gets_drilled(null, FALSE)
+ gets_drilled()
return TRUE
switch(severity)
if(EXPLODE_DEVASTATE)
- gets_drilled(null, FALSE)
+ gets_drilled()
if(EXPLODE_HEAVY)
if(prob(90))
- gets_drilled(null, FALSE)
+ gets_drilled()
if(EXPLODE_LIGHT)
if(prob(75))
- gets_drilled(null, FALSE)
+ gets_drilled()
return TRUE
/turf/closed/mineral/blob_act(obj/structure/blob/B)
if(prob(50))
- gets_drilled(give_exp = FALSE)
+ gets_drilled()
/turf/closed/mineral/random
/// What are the base odds that this turf spawns a mineral in the wall on initialize?
@@ -836,9 +836,9 @@
if(defuser)
SEND_SIGNAL(defuser, COMSIG_LIVING_DEFUSED_GIBTONITE, det_time)
-/turf/closed/mineral/gibtonite/gets_drilled(mob/user, give_exp = FALSE, triggered_by_explosion = FALSE)
+/turf/closed/mineral/gibtonite/gets_drilled(mob/user, exp_multiplier = 0, triggered_by_explosion = FALSE)
if(istype(user))
- SEND_SIGNAL(user, COMSIG_MOB_MINED, src, give_exp)
+ SEND_SIGNAL(user, COMSIG_MOB_MINED, src, exp_multiplier)
if(stage == GIBTONITE_UNSTRUCK && mineralAmt >= 1) //Gibtonite deposit is activated
playsound(src,'sound/effects/hit_on_shattered_glass.ogg',50,TRUE)
@@ -850,13 +850,13 @@
stage = GIBTONITE_DETONATE
explosion(bombturf, devastation_range = 1, heavy_impact_range = 2, light_impact_range = 5, flame_range = 0, flash_range = 0, adminlog = FALSE, explosion_cause = src)
if(stage == GIBTONITE_STABLE) //Gibtonite deposit is now benign and extractable. Depending on how close you were to it blowing up before defusing, you get better quality ore.
- var/obj/item/gibtonite/G = new (src)
+ var/obj/item/gibtonite/ore = new (src)
if(det_time <= 0)
- G.quality = 3
- G.icon_state = "gibtonite_3"
+ ore.quality = GIBTONITE_QUALITY_HIGH
+ ore.icon_state = "gibtonite_3"
if(det_time >= 1 && det_time <= 2)
- G.quality = 2
- G.icon_state = "gibtonite_2"
+ ore.quality = GIBTONITE_QUALITY_MEDIUM
+ ore.icon_state = "gibtonite_2"
var/flags = NONE
var/old_type = type
@@ -908,9 +908,9 @@
to_chat(usr, span_warning("The rock seems to be too strong to destroy. Maybe I can break it once I become a master miner."))
-/turf/closed/mineral/strong/gets_drilled(mob/user, give_exp = FALSE)
+/turf/closed/mineral/strong/gets_drilled(mob/user, exp_multiplier = 0)
if(istype(user))
- SEND_SIGNAL(user, COMSIG_MOB_MINED, src, give_exp)
+ SEND_SIGNAL(user, COMSIG_MOB_MINED, src, exp_multiplier)
if(!ishuman(user))
return // see attackby
diff --git a/code/game/turfs/closed/walls.dm b/code/game/turfs/closed/walls.dm
index 3937ed55710..47b4e75cd26 100644
--- a/code/game/turfs/closed/walls.dm
+++ b/code/game/turfs/closed/walls.dm
@@ -306,8 +306,8 @@
if(WALL_DENT_HIT)
decal.icon_state = "impact[rand(1, 3)]"
- decal.pixel_x = x
- decal.pixel_y = y
+ decal.pixel_w = x
+ decal.pixel_z = y
if(LAZYLEN(dent_decals))
cut_overlay(dent_decals)
diff --git a/code/game/turfs/open/_open.dm b/code/game/turfs/open/_open.dm
index 1b532687b6b..b0aaba8103c 100644
--- a/code/game/turfs/open/_open.dm
+++ b/code/game/turfs/open/_open.dm
@@ -235,7 +235,6 @@
planetary_atmos = TRUE
initial_gas_mix = LAVALAND_DEFAULT_ATMOS
baseturfs = /turf/open/indestructible/hierophant
- smoothing_flags = SMOOTH_CORNERS
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_HIEROPHANT
canSmoothWith = SMOOTH_GROUP_HIEROPHANT
diff --git a/code/game/turfs/open/asteroid.dm b/code/game/turfs/open/asteroid.dm
index d0234b826a2..fd9a275efc6 100644
--- a/code/game/turfs/open/asteroid.dm
+++ b/code/game/turfs/open/asteroid.dm
@@ -287,7 +287,7 @@ GLOBAL_LIST_EMPTY(dug_up_basalt)
//Used in SnowCabin.dm
/turf/open/misc/asteroid/snow/snow_cabin
- temperature = 180
+ temperature = ICEBOX_MIN_TEMPERATURE
/turf/open/misc/asteroid/snow/atmosphere
initial_gas_mix = FROZEN_ATMOS
diff --git a/code/game/turfs/open/chasm.dm b/code/game/turfs/open/chasm.dm
index 003719d3bdf..e490abceda7 100644
--- a/code/game/turfs/open/chasm.dm
+++ b/code/game/turfs/open/chasm.dm
@@ -125,6 +125,7 @@
// Chasm that doesn't do any z-level nonsense and just kills/stores whoever steps into it.
/turf/open/chasm/true
desc = "There's nothing at the bottom. Absolutely nothing."
+ baseturfs = /turf/open/chasm/true
/turf/open/chasm/true/apply_components(mapload)
AddComponent(/datum/component/chasm, null, mapload) //Don't pass anything for below_turf.
diff --git a/code/game/turfs/open/cliff.dm b/code/game/turfs/open/cliff.dm
index 1417e527e64..fa3eed90c44 100644
--- a/code/game/turfs/open/cliff.dm
+++ b/code/game/turfs/open/cliff.dm
@@ -30,8 +30,8 @@
if(isnull(underlay_tile))
return
var/image/underlay = image(icon_state = initial(underlay_tile.icon_state), icon = initial(underlay_tile.icon))
- underlay.pixel_x = undertile_pixel_x //if there's a pixel offset, correct it because we should be lined up with the grid
- underlay.pixel_y = undertile_pixel_y
+ underlay.pixel_w = undertile_pixel_x //if there's a pixel offset, correct it because we should be lined up with the grid
+ underlay.pixel_z = undertile_pixel_y
SET_PLANE(underlay, underlay_plane || plane, src)
underlays += underlay
@@ -82,7 +82,7 @@
// We can walk infront of the bottom cliff turf, so check that here
if(!iscliffturf(get_step(src, fall_direction)) && !(get_dir(arrived, src) & fall_direction))
return FALSE
-
+
// gravity
// marked in UNLINT due to a spacemandmm bug: https://github.com/SpaceManiac/SpacemanDMM/issues/382 (REMOVE ONCE FIXED!)
if(UNLINT(!arrived.has_gravity(src)))
diff --git a/code/game/turfs/open/floor/catwalk_plating.dm b/code/game/turfs/open/floor/catwalk_plating.dm
index 6e2979b8512..b1f81be75d3 100644
--- a/code/game/turfs/open/floor/catwalk_plating.dm
+++ b/code/game/turfs/open/floor/catwalk_plating.dm
@@ -105,7 +105,7 @@
/turf/open/floor/catwalk_floor/iron_dark/telecomms
initial_gas_mix = TCOMMS_ATMOS
-/turf/open/floor/catwalk_floor/titanium/Airless
+/turf/open/floor/catwalk_floor/titanium/airless
initial_gas_mix = AIRLESS_ATMOS
/turf/open/floor/catwalk_floor/iron_smooth/airless
diff --git a/code/game/turfs/open/floor/fancy_floor.dm b/code/game/turfs/open/floor/fancy_floor.dm
index 23479eb1481..9d17ab3300f 100644
--- a/code/game/turfs/open/floor/fancy_floor.dm
+++ b/code/game/turfs/open/floor/fancy_floor.dm
@@ -69,7 +69,7 @@
//Used in Snowcabin.dm
/turf/open/floor/wood/freezing
- temperature = 180
+ temperature = ICEBOX_MIN_TEMPERATURE
/turf/open/floor/wood/airless
initial_gas_mix = AIRLESS_ATMOS
@@ -163,7 +163,7 @@
AddElement(/datum/element/diggable, /obj/item/stack/ore/glass, 2, worm_chance = 50, \
action_text = "uproot", action_text_third_person = "uproots")
-/turf/open/floor/grass/Airless
+/turf/open/floor/grass/airless
initial_gas_mix = AIRLESS_ATMOS
/turf/open/floor/grass/proc/spawniconchange()
diff --git a/code/game/turfs/open/floor/iron_floor.dm b/code/game/turfs/open/floor/iron_floor.dm
index 16f74866a1c..904cefb4b15 100644
--- a/code/game/turfs/open/floor/iron_floor.dm
+++ b/code/game/turfs/open/floor/iron_floor.dm
@@ -310,7 +310,7 @@
base_icon_state = "recharge_floor"
floor_tile = /obj/item/stack/tile/iron/recharge_floor
-/turf/open/floor/iron/recharge_floor/Airless
+/turf/open/floor/iron/recharge_floor/airless
initial_gas_mix = AIRLESS_ATMOS
/turf/open/floor/iron/recharge_floor/asteroid
diff --git a/code/game/turfs/open/floor/mineral_floor.dm b/code/game/turfs/open/floor/mineral_floor.dm
index a8cf2a6f37d..98cdf446c3c 100644
--- a/code/game/turfs/open/floor/mineral_floor.dm
+++ b/code/game/turfs/open/floor/mineral_floor.dm
@@ -178,7 +178,7 @@
//Used in SnowCabin.dm
/turf/open/floor/mineral/plastitanium/red/snow_cabin
- temperature = 180
+ temperature = ICEBOX_MIN_TEMPERATURE
//BANANIUM
diff --git a/code/game/turfs/open/floor/misc_floor.dm b/code/game/turfs/open/floor/misc_floor.dm
index 5346af1f3ab..13d29d4925f 100644
--- a/code/game/turfs/open/floor/misc_floor.dm
+++ b/code/game/turfs/open/floor/misc_floor.dm
@@ -4,7 +4,7 @@
/turf/open/floor/circuit
icon = 'icons/turf/floors.dmi'
icon_state = "bcircuit"
- var/icon_normal = "bcircuit"
+ base_icon_state = "bcircuit"
light_color = LIGHT_COLOR_BABY_BLUE
floor_tile = /obj/item/stack/tile/circuit
/// If we want to ignore our area's power status and just be always off
@@ -40,7 +40,7 @@
set_light(2, 1.5)
/turf/open/floor/circuit/update_icon_state()
- icon_state = on ? (LAZYLEN(SSmapping.nuke_threats) ? "rcircuitanim" : icon_normal) : "[icon_normal]off"
+ icon_state = on ? (LAZYLEN(SSmapping.nuke_threats) ? "rcircuitanim" : initial(icon_state)) : "[base_icon_state]off"
return ..()
/turf/open/floor/circuit/on_change_area(area/old_area, area/new_area)
@@ -88,7 +88,7 @@
/turf/open/floor/circuit/green
icon_state = "gcircuit"
- icon_normal = "gcircuit"
+ base_icon_state = "gcircuit"
light_color = LIGHT_COLOR_VIVID_GREEN
floor_tile = /obj/item/stack/tile/circuit/green
@@ -98,7 +98,6 @@
/turf/open/floor/circuit/green/anim
icon_state = "gcircuitanim"
- icon_normal = "gcircuitanim"
floor_tile = /obj/item/stack/tile/circuit/green/anim
/turf/open/floor/circuit/green/airless
@@ -112,7 +111,7 @@
/turf/open/floor/circuit/red
icon_state = "rcircuit"
- icon_normal = "rcircuit"
+ base_icon_state = "rcircuit"
light_color = LIGHT_COLOR_INTENSE_RED
floor_tile = /obj/item/stack/tile/circuit/red
@@ -122,7 +121,6 @@
/turf/open/floor/circuit/red/anim
icon_state = "rcircuitanim"
- icon_normal = "rcircuitanim"
floor_tile = /obj/item/stack/tile/circuit/red/anim
/turf/open/floor/circuit/red/airless
diff --git a/code/game/turfs/open/floor/plating/misc_plating.dm b/code/game/turfs/open/floor/plating/misc_plating.dm
index 101376e73ae..2bb58f31b09 100644
--- a/code/game/turfs/open/floor/plating/misc_plating.dm
+++ b/code/game/turfs/open/floor/plating/misc_plating.dm
@@ -52,7 +52,7 @@
icon_state = "snowplating"
base_icon_state = "snowplating"
initial_gas_mix = FROZEN_ATMOS
- temperature = 180
+ temperature = ICEBOX_MIN_TEMPERATURE
attachment_holes = FALSE
planetary_atmos = TRUE
footstep = FOOTSTEP_SAND
@@ -91,7 +91,7 @@
//Used in SnowCabin.dm
/turf/open/floor/plating/snowed/snow_cabin
- temperature = 180
+ temperature = ICEBOX_MIN_TEMPERATURE
/turf/open/floor/plating/snowed/smoothed/icemoon
initial_gas_mix = ICEMOON_DEFAULT_ATMOS
diff --git a/code/game/turfs/open/ice.dm b/code/game/turfs/open/ice.dm
index 7d0a37ff847..a966e8e4d7e 100644
--- a/code/game/turfs/open/ice.dm
+++ b/code/game/turfs/open/ice.dm
@@ -5,7 +5,7 @@
icon_state = "ice_turf-0"
base_icon_state = "ice_turf-0"
initial_gas_mix = FROZEN_ATMOS
- temperature = 180
+ temperature = ICEBOX_MIN_TEMPERATURE
planetary_atmos = TRUE
baseturfs = /turf/open/misc/ice
slowdown = 1
diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm
index 4705db14ccb..bcce677e15d 100644
--- a/code/game/turfs/turf.dm
+++ b/code/game/turfs/turf.dm
@@ -595,7 +595,7 @@ GLOBAL_LIST_EMPTY(station_turfs)
SET_PLANE(I, GAME_PLANE, src)
I.layer = OBJ_LAYER
I.appearance = AM.appearance
- I.appearance_flags = RESET_COLOR|RESET_ALPHA|RESET_TRANSFORM
+ I.appearance_flags = RESET_COLOR|RESET_ALPHA|RESET_TRANSFORM|KEEP_APART
I.loc = src
I.setDir(AM.dir)
I.alpha = 128
@@ -795,9 +795,9 @@ GLOBAL_LIST_EMPTY(station_turfs)
return TRUE
/**
- * the following are some hacky fishing-related optimizations to shave off
+ * the following are some fishing-related optimizations to shave off as much
* time we spend implementing the fishing as possible, even if that means
- * doing hackier code, because we've hundreds of turfs like lava, water etc every round,
+ * hackier code, because we've hundreds of turfs like lava, water etc every round,
*/
/turf/proc/add_lazy_fishing(fish_source_path)
RegisterSignal(src, COMSIG_FISHING_ROD_CAST, PROC_REF(add_fishing_spot_comp))
@@ -831,7 +831,7 @@ GLOBAL_LIST_EMPTY(station_turfs)
/turf/proc/on_fish_release_into(datum/source, obj/item/fish/fish, mob/living/releaser)
SIGNAL_HANDLER
- GLOB.preset_fish_sources[fish_source].readd_fish(fish, releaser)
+ GLOB.preset_fish_sources[fish_source].readd_fish(src, fish, releaser)
/turf/examine(mob/user)
. = ..()
diff --git a/code/game/world.dm b/code/game/world.dm
index c940d2bdef5..2485481fd79 100644
--- a/code/game/world.dm
+++ b/code/game/world.dm
@@ -177,7 +177,7 @@ GLOBAL_PROTECT(tracy_init_reason)
SetupLogs()
- load_admins()
+ load_admins(initial = TRUE)
load_poll_data()
diff --git a/code/ze_genesis_call/genesis_call.dm b/code/genesis_call.dme
similarity index 94%
rename from code/ze_genesis_call/genesis_call.dm
rename to code/genesis_call.dme
index f1fbed382d4..2466af786c1 100644
--- a/code/ze_genesis_call/genesis_call.dm
+++ b/code/genesis_call.dme
@@ -25,10 +25,10 @@
* THE GENESIS CALL
*
* THE VERY FIRST LINE OF DM CODE TO EXECUTE
- * Ong this must be done after !!!EVERYTHING!!! else
+ * Ong this must be done before !!!EVERYTHING!!! else
* NO IFS ANDS OR BUTS
* it's a hack, not an example of any sort, and DEFINITELY should NOT be emulated
- * IT JUST HAS TO BE LAST!!!!!!
+ * IT JUST HAS TO BE FIRST!!!!!!
* If you want to do something in the initialization pipeline
* FIRST RTFM IN /code/game/world.dm
* AND THEN NEVER RETURN TO THIS PLACE
diff --git a/code/modules/admin/admin_ranks.dm b/code/modules/admin/admin_ranks.dm
index 3b959d449cd..19810f5ab8f 100644
--- a/code/modules/admin/admin_ranks.dm
+++ b/code/modules/admin/admin_ranks.dm
@@ -211,7 +211,11 @@ GLOBAL_PROTECT(protected_ranks)
/// (Re)Loads the admin list.
/// returns TRUE if database admins had to be loaded from the backup json
-/proc/load_admins(no_update)
+/proc/load_admins(no_update, initial = FALSE)
+ if(!initial)
+ if(!global.config.PreConfigReload())
+ return
+
var/dbfail
if(!CONFIG_GET(flag/admin_legacy_system) && !SSdbcore.Connect())
message_admins("Failed to connect to database while loading admins. Loading from backup.")
diff --git a/code/modules/admin/create_mob.dm b/code/modules/admin/create_mob.dm
index 1884116424c..42b528a2405 100644
--- a/code/modules/admin/create_mob.dm
+++ b/code/modules/admin/create_mob.dm
@@ -22,8 +22,7 @@
human.set_facial_hairstyle(random_facial_hairstyle(human.gender), update = FALSE)
human.set_haircolor("#[random_color()]", update = FALSE)
human.set_facial_haircolor(human.hair_color, update = FALSE)
- human.eye_color_left = random_eye_color()
- human.eye_color_right = human.eye_color_left
+ human.set_eye_color(random_eye_color())
human.skin_tone = pick(GLOB.skin_tones)
human.dna.species.randomize_active_underwear_only(human)
// Needs to be called towards the end to update all the UIs just set above
@@ -47,8 +46,7 @@
human.physique = human.gender
human.real_name = human.generate_random_mob_name()
human.name = human.get_visible_name()
- human.eye_color_left = random_eye_color()
- human.eye_color_right = human.eye_color_left
+ human.set_eye_color(random_eye_color())
human.skin_tone = pick(GLOB.skin_tones)
// No underwear generation handled here
var/picked_color = random_hair_color()
diff --git a/code/modules/admin/holder2.dm b/code/modules/admin/holder2.dm
index df08496ec2a..020d03dbfc2 100644
--- a/code/modules/admin/holder2.dm
+++ b/code/modules/admin/holder2.dm
@@ -33,9 +33,10 @@ GLOBAL_PROTECT(href_token)
var/datum/filter_editor/filteriffic
var/datum/particle_editor/particle_test
- var/datum/colorblind_tester/color_test = new
+ var/datum/colorblind_tester/color_test
var/datum/plane_master_debug/plane_debug
var/obj/machinery/computer/libraryconsole/admin_only_do_not_map_in_you_fucker/library_manager
+ var/datum/pathfind_debug/path_debug
/// Whether or not the user tried to connect, but was blocked by 2FA
var/blocked_by_2fa = FALSE
@@ -78,7 +79,8 @@ GLOBAL_PROTECT(href_token)
if(IsAdminAdvancedProcCall())
alert_to_permissions_elevation_attempt(usr)
return QDEL_HINT_LETMELIVE
- . = ..()
+ QDEL_NULL(path_debug)
+ return ..()
/datum/admins/proc/activate()
if(IsAdminAdvancedProcCall())
@@ -99,6 +101,7 @@ GLOBAL_PROTECT(href_token)
GLOB.deadmins[target] = src
GLOB.admin_datums -= target
QDEL_NULL(plane_debug)
+ QDEL_NULL(path_debug)
deadmined = TRUE
var/client/client = owner || GLOB.directory[target]
@@ -172,18 +175,18 @@ GLOBAL_PROTECT(href_token)
return cached_feedback_link
if (!SSdbcore.IsConnected())
- return FALSE
+ return null
var/datum/db_query/feedback_query = SSdbcore.NewQuery("SELECT feedback FROM [format_table_name("admin")] WHERE ckey = '[owner.ckey]'")
if(!feedback_query.Execute())
log_sql("Error retrieving feedback link for [src]")
qdel(feedback_query)
- return FALSE
+ return null
if(!feedback_query.NextRow())
qdel(feedback_query)
- return FALSE // no feedback link exists
+ return null // no feedback link exists
cached_feedback_link = feedback_query.item[1] || NO_FEEDBACK_LINK
qdel(feedback_query)
diff --git a/code/modules/admin/permissionedit.dm b/code/modules/admin/permissionedit.dm
index a4a4c525167..f0ffe85aa2d 100644
--- a/code/modules/admin/permissionedit.dm
+++ b/code/modules/admin/permissionedit.dm
@@ -471,7 +471,7 @@ ADMIN_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit adm
admin_holder.rank_flags(),
350,
590,
- allowed_edit_list = usr.client.holder.can_edit_rights_flags(),
+ allowed_edit_flags = usr.client.holder.can_edit_rights_flags(),
)
admin_holder.disassociate()
diff --git a/code/modules/admin/smites/_smite.dm b/code/modules/admin/smites/_smite.dm
new file mode 100644
index 00000000000..ca66bedf2d5
--- /dev/null
+++ b/code/modules/admin/smites/_smite.dm
@@ -0,0 +1,38 @@
+/// A smite, used by admins to punish players, or for their own amusement
+/datum/smite
+ /// The name of the smite, shown in the menu
+ var/name
+ /// Flags which modify how the smite fires
+ var/smite_flags = NONE
+ /// Should this smite write to logs?
+ var/should_log = TRUE
+
+/// Called once after either choosing the option to smite a player, or when selected in smite build mode.
+/// Use this to prompt the user configuration options.
+/// Return FALSE if the smite should not be used.
+/datum/smite/proc/configure(client/user)
+
+/// Invoked externally to actually perform the smite
+/datum/smite/proc/do_effect(client/user, mob/living/target)
+ if(smite_flags & SMITE_DIVINE)
+ playsound(target, 'sound/effects/pray.ogg', 50, FALSE, -1)
+ target.add_overlay(mutable_appearance('icons/mob/effects/genetics.dmi', "servitude", -MUTATIONS_LAYER))
+ target.apply_status_effect(/datum/status_effect/spotlight_light/divine)
+
+ if(smite_flags & SMITE_STUN)
+ target.Stun(3 SECONDS, ignore_canstun = TRUE)
+ if(smite_flags & SMITE_DELAY)
+ addtimer(CALLBACK(src, PROC_REF(delayed_effect), user, target), 2 SECONDS, TIMER_UNIQUE)
+ else
+ effect(user, target)
+
+/// Called after a delay if the smite has the SMITE_DELAY flag
+/datum/smite/proc/delayed_effect(client/user, mob/living/target)
+ if(QDELETED(target))
+ return
+ effect(user, target)
+
+/// The effect of the smite, make sure to call this in your own smites
+/datum/smite/proc/effect(client/user, mob/living/target)
+ if (should_log)
+ user.punish_log(target, name)
diff --git a/code/modules/admin/smites/become_object.dm b/code/modules/admin/smites/become_object.dm
index 5f1af4bee28..542d1666bda 100644
--- a/code/modules/admin/smites/become_object.dm
+++ b/code/modules/admin/smites/become_object.dm
@@ -40,3 +40,7 @@
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(objectify), target, transform_path), OBJECTIFY_TIME)
#undef OBJECTIFY_TIME
+
+/datum/smite/objectify/divine
+ name = "Become Object (Divine)"
+ smite_flags = SMITE_DIVINE|SMITE_STUN
diff --git a/code/modules/admin/smites/berforate.dm b/code/modules/admin/smites/berforate.dm
index 3d05afd519d..6b5fffa38e6 100644
--- a/code/modules/admin/smites/berforate.dm
+++ b/code/modules/admin/smites/berforate.dm
@@ -51,3 +51,7 @@
shots_this_limb += 1
if (shots_this_limb > shots_per_limb_per_rep)
break
+
+/datum/smite/berforate/divine
+ name = ":B:erforate (Divine)"
+ smite_flags = SMITE_DIVINE
diff --git a/code/modules/admin/smites/dust.dm b/code/modules/admin/smites/dust.dm
new file mode 100644
index 00000000000..22ca6c536cb
--- /dev/null
+++ b/code/modules/admin/smites/dust.dm
@@ -0,0 +1,10 @@
+/datum/smite/dust
+ name = "Dust"
+
+/datum/smite/dust/effect(client/user, mob/living/target)
+ . = ..()
+ target.dust(just_ash = FALSE, drop_items = TRUE, force = TRUE)
+
+/datum/smite/dust/divine
+ name = "Dust (Divine)"
+ smite_flags = SMITE_DIVINE|SMITE_DELAY|SMITE_STUN
diff --git a/code/modules/admin/smites/gib.dm b/code/modules/admin/smites/gib.dm
index 4c7c4324823..02007582a8d 100644
--- a/code/modules/admin/smites/gib.dm
+++ b/code/modules/admin/smites/gib.dm
@@ -5,3 +5,7 @@
/datum/smite/gib/effect(client/user, mob/living/target)
. = ..()
target.gib(DROP_ORGANS|DROP_BODYPARTS)
+
+/datum/smite/gib/divine
+ name = "Gib (Divine)"
+ smite_flags = SMITE_DIVINE|SMITE_DELAY|SMITE_STUN
diff --git a/code/modules/admin/smites/lightning.dm b/code/modules/admin/smites/lightning.dm
index 6ffd8eb5869..99cb46bdaac 100644
--- a/code/modules/admin/smites/lightning.dm
+++ b/code/modules/admin/smites/lightning.dm
@@ -1,6 +1,6 @@
/// Strikes the target with a lightning bolt
/datum/smite/lightning
- name = "Lightning bolt"
+ name = "Lightning Bolt"
/datum/smite/lightning/effect(client/user, mob/living/target)
. = ..()
@@ -16,3 +16,7 @@
if(ishuman(user))
var/mob/living/carbon/human/human_target = user
human_target.electrocution_animation(LIGHTNING_BOLT_ELECTROCUTION_ANIMATION_LENGTH)
+
+/datum/smite/lightning/divine
+ name = "Lightning Bolt (Divine)"
+ smite_flags = SMITE_DIVINE
diff --git a/code/modules/admin/smites/petrify.dm b/code/modules/admin/smites/petrify.dm
index 5380b93d732..c03a197c518 100644
--- a/code/modules/admin/smites/petrify.dm
+++ b/code/modules/admin/smites/petrify.dm
@@ -10,3 +10,7 @@
return
var/mob/living/carbon/human/human_target = target
human_target.petrify(statue_timer = INFINITY, save_brain = FALSE)
+
+/datum/smite/petrify/divine
+ name = "Petrify (Divine)"
+ smite_flags = SMITE_DIVINE|SMITE_DELAY|SMITE_STUN
diff --git a/code/modules/admin/smites/retcon.dm b/code/modules/admin/smites/retcon.dm
new file mode 100644
index 00000000000..461b7b330bb
--- /dev/null
+++ b/code/modules/admin/smites/retcon.dm
@@ -0,0 +1,39 @@
+/datum/smite/retcon
+ name = "Retcon"
+ /// how long until the thing attacked by this smite gets deleted
+ var/timer
+ /// the time it takes to actually do the fade out animation, the victim will always have some time still fully visible
+ var/fade_out_timer
+
+/datum/smite/retcon/configure(client/user)
+ timer = tgui_input_number(user, "How long should it take before the target disappears, in seconds?", "Retcon", 5)
+
+ if (isnull(timer))
+ return FALSE
+
+ fade_out_timer = timer*3*0.2
+
+/datum/smite/retcon/effect(client/user, mob/living/target)
+ . = ..()
+ target.fade_into_nothing(timer SECONDS,fade_out_timer SECONDS)
+ if(ishuman(target))
+ delete_record(target)
+ delete_bank_account(target)
+ reopen_job_slot(target)
+
+/datum/smite/retcon/proc/delete_record(mob/living/target)
+ var/name = target.real_name
+ GLOB.manifest.remove(name)
+
+/datum/smite/retcon/proc/delete_bank_account(mob/living/target)
+ var/name = target.real_name
+ var/account_list = flatten_list(SSeconomy.bank_accounts_by_id)
+ for(var/datum/bank_account/account in account_list)
+ if(account.account_holder == name)
+ qdel(account)
+ return
+
+/datum/smite/retcon/proc/reopen_job_slot(mob/living/target)
+ var/datum/job/target_job = target.mind?.assigned_role
+ if(target_job)
+ target_job.total_positions += 1
diff --git a/code/modules/admin/smites/smite.dm b/code/modules/admin/smites/smite.dm
deleted file mode 100644
index b767f47f8fe..00000000000
--- a/code/modules/admin/smites/smite.dm
+++ /dev/null
@@ -1,17 +0,0 @@
-/// A smite, used by admins to punish players, or for their own amusement
-/datum/smite
- /// The name of the smite, shown in the menu
- var/name
-
- /// Should this smite write to logs?
- var/should_log = TRUE
-
-/// Called once after either choosing the option to smite a player, or when selected in smite build mode.
-/// Use this to prompt the user configuration options.
-/// Return FALSE if the smite should not be used.
-/datum/smite/proc/configure(client/user)
-
-/// The effect of the smite, make sure to call this in your own smites
-/datum/smite/proc/effect(client/user, mob/living/target)
- if (should_log)
- user.punish_log(target, name)
diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.dm b/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.dm
index 1305e5a660d..47dd4c05eab 100644
--- a/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.dm
+++ b/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.dm
@@ -64,6 +64,8 @@
return istype(object, type)
/proc/_ispath(path, type)
+ if(isnull(type))
+ return ispath(path)
return ispath(path, type)
/proc/_length(E)
@@ -270,7 +272,7 @@
winset(player, control_id, params)
/proc/_winget(player, control_id, params)
- winget(player, control_id, params)
+ return winget(player, control_id, params)
/proc/_text2path(text)
return text2path(text)
@@ -297,3 +299,6 @@
if(!filter_index || filter_index < 1 || filter_index > length(target.filters))
return
animate(target.filters[filter_index], appearance = set_vars, time, loop, easing, flags)
+
+/proc/_is_type_in_typecache(thing_to_check, typecache)
+ return is_type_in_typecache(thing_to_check, typecache)
diff --git a/code/modules/admin/verbs/adminfun.dm b/code/modules/admin/verbs/adminfun.dm
index 87109dd01f9..4da149a9c18 100644
--- a/code/modules/admin/verbs/adminfun.dm
+++ b/code/modules/admin/verbs/adminfun.dm
@@ -76,6 +76,18 @@ ADMIN_VERB(gib_self, R_ADMIN, "Gibself", "Give yourself the same treatment you g
if (istype(ourself))
ourself.gib()
+ADMIN_VERB(dust_self, R_ADMIN, "Dustself", "Give yourself the same treatment you give others.", ADMIN_CATEGORY_FUN)
+ var/confirm = tgui_alert(user, "You sure?", "Confirm", list("Yes", "No"))
+ if(confirm != "Yes")
+ return
+ log_admin("[key_name(user)] used dustself.")
+ message_admins(span_adminnotice("[key_name_admin(user)] used dustself."))
+ BLACKBOX_LOG_ADMIN_VERB("Dust Self")
+
+ var/mob/living/ourself = user.mob
+ if (istype(ourself))
+ ourself.dust(just_ash = FALSE, drop_items = FALSE, force = TRUE)
+
ADMIN_VERB(everyone_random, R_SERVER, "Make Everyone Random", "Make everyone have a random appearance.", ADMIN_CATEGORY_FUN)
if(SSticker.HasRoundStarted())
to_chat(user, "Nope you can't do this, the game's already started. This only works before rounds!", confidential = TRUE)
@@ -164,7 +176,7 @@ ADMIN_VERB_AND_CONTEXT_MENU(admin_smite, R_ADMIN|R_FUN, "Smite", "Smite a player
var/configuration_success = smite.configure(user)
if (configuration_success == FALSE)
return
- smite.effect(user, target)
+ smite.do_effect(user, target)
/// "Turns" people into objects. Really, we just add them to the contents of the item.
/proc/objectify(atom/movable/target, path_or_instance)
diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm
index fb50c1d9834..f23fbbd8629 100644
--- a/code/modules/admin/verbs/debug.dm
+++ b/code/modules/admin/verbs/debug.dm
@@ -552,6 +552,8 @@ ADMIN_VERB(init_log, R_DEBUG, "Display Initialize() Log", "Displays a list of th
browser.open()
ADMIN_VERB(debug_color_test, R_DEBUG, "Colorblind Testing", "Change your view to a budget version of colorblindness to test for usability.", ADMIN_CATEGORY_DEBUG)
+ if(!user.holder.color_test)
+ user.holder.color_test = new()
user.holder.color_test.ui_interact(user.mob)
ADMIN_VERB(debug_plane_masters, R_DEBUG, "Edit/Debug Planes", "Edit and visualize plane masters and their connections (relays).", ADMIN_CATEGORY_DEBUG)
@@ -654,6 +656,14 @@ ADMIN_VERB(run_empty_query, R_DEBUG, "Run Empty Query", "Runs a specified number
message_admins("[key_name_admin(user)] ran [val] empty queries.")
+ADMIN_VERB(test_pathfinding, R_DEBUG, "Toggle Pathfind Testing", "Enables/Disables pathfinding testing action buttons", ADMIN_CATEGORY_DEBUG)
+ BLACKBOX_LOG_ADMIN_VERB("Toggle Pathfind Testing")
+ log_admin("[key_name(user)] [user.holder.path_debug ? "disabled" : "enabled"] their pathfinding debug tools")
+ if(!user.holder.path_debug)
+ user.holder.path_debug = new(user.holder)
+ else
+ QDEL_NULL(user.holder.path_debug)
+
ADMIN_VERB(clear_turf_reservations, R_DEBUG, "Clear Dynamic Turf Reservations", "Deallocates all reserved space, restoring it to round start conditions.", ADMIN_CATEGORY_DEBUG)
var/answer = tgui_alert(
user,
diff --git a/code/modules/admin/verbs/light_debug.dm b/code/modules/admin/verbs/light_debug.dm
index fddd043f4db..c4a96f759f1 100644
--- a/code/modules/admin/verbs/light_debug.dm
+++ b/code/modules/admin/verbs/light_debug.dm
@@ -1,12 +1,12 @@
-/proc/debug_sources()
+/proc/debug_light_sources()
GLOB.light_debug_enabled = TRUE
var/list/sum = list()
var/total = 0
for(var/datum/light_source/source)
if(!source.source_atom)
continue
- source.source_atom.debug()
+ source.source_atom.debug_lights()
sum[source.source_atom.type] += 1
total += 1
@@ -29,14 +29,14 @@
var/datum/action/spawn_light/let_there_be = new (new_lad.mob.mind || new_lad.mob)
let_there_be.Grant(new_lad.mob)
-/proc/undebug_sources()
+/proc/undebug_light_sources()
GLOB.light_debug_enabled = FALSE
for(var/datum/weakref/button_ref as anything in GLOB.light_debugged_atoms)
var/atom/button = button_ref.resolve()
if(!button)
GLOB.light_debugged_atoms -= button_ref
continue
- button.undebug()
+ button.undebug_lights()
SEND_GLOBAL_SIGNAL(COMSIG_LIGHT_DEBUG_DISABLED)
SSdcs.UnregisterSignal(SSdcs, COMSIG_GLOB_CLIENT_CONNECT)
@@ -44,7 +44,7 @@
GLOBAL_LIST_EMPTY(light_debugged_atoms)
/// Sets up this light source to be debugged, setting up in world buttons to control and move it
/// Also freezes it, so it can't change in future
-/atom/proc/debug()
+/atom/proc/debug_lights()
if(isturf(src) || HAS_TRAIT(src, TRAIT_LIGHTING_DEBUGGED))
return
ADD_TRAIT(src, TRAIT_LIGHTING_DEBUGGED, LIGHT_DEBUG_TRAIT)
@@ -65,7 +65,7 @@ GLOBAL_LIST_EMPTY(light_debugged_atoms)
new /atom/movable/screen/light_button/move(src)
/// Disables light debugging, so you can let a scene fall to what it visually should be, or just fix admin fuckups
-/atom/proc/undebug()
+/atom/proc/undebug_lights()
// I don't really want to undebug a light if it's off rn
// Loses control if we turn it back on again
if(isturf(src) || !HAS_TRAIT(src, TRAIT_LIGHTING_DEBUGGED) || !light)
diff --git a/code/modules/admin/verbs/mapping.dm b/code/modules/admin/verbs/mapping.dm
index 2617e5f3fcc..f0e0e002d2c 100644
--- a/code/modules/admin/verbs/mapping.dm
+++ b/code/modules/admin/verbs/mapping.dm
@@ -395,7 +395,7 @@ ADMIN_VERB(check_for_obstructed_atmospherics, R_DEBUG, "Check For Obstructed Atm
ADMIN_VERB_VISIBILITY(modify_lights, ADMIN_VERB_VISIBLITY_FLAG_MAPPING_DEBUG)
ADMIN_VERB(modify_lights, R_DEBUG, "Toggle Light Debug", "Toggles light debug mode.", ADMIN_CATEGORY_MAPPING)
if(GLOB.light_debug_enabled)
- undebug_sources()
+ undebug_light_sources()
return
for(var/obj/machinery/light/fix_up as anything in SSmachines.get_machines_by_type_and_subtypes(/obj/machinery/light))
@@ -403,7 +403,7 @@ ADMIN_VERB(modify_lights, R_DEBUG, "Toggle Light Debug", "Toggles light debug mo
if(initial(fix_up.status) == LIGHT_OK)
fix_up.fix()
CHECK_TICK
- debug_sources()
+ debug_light_sources()
ADMIN_VERB_VISIBILITY(visualize_lights, ADMIN_VERB_VISIBLITY_FLAG_MAPPING_DEBUG)
ADMIN_VERB(visualize_lights, R_DEBUG, "Visualize Lighting Corners", "Visualizes the corners of all lights on the station.", ADMIN_CATEGORY_MAPPING)
diff --git a/code/modules/admin/verbs/path_debugger.dm b/code/modules/admin/verbs/path_debugger.dm
new file mode 100644
index 00000000000..bd6b6620828
--- /dev/null
+++ b/code/modules/admin/verbs/path_debugger.dm
@@ -0,0 +1,263 @@
+GLOBAL_DATUM_INIT(pathfind_dude, /obj/pathfind_guy, new())
+
+/obj/pathfind_guy
+
+/// Enables testing/visualization of pathfinding work
+/datum/pathfind_debug
+ var/datum/admins/owner
+ var/datum/action/innate/path_debug/jps/jps_debug
+ var/datum/action/innate/path_debug/sssp/sssp_debug
+
+/datum/pathfind_debug/New(datum/admins/owner)
+ src.owner = owner
+ hook_client()
+
+/datum/pathfind_debug/Destroy(force)
+ QDEL_NULL(jps_debug)
+ QDEL_NULL(sssp_debug)
+ return ..()
+
+/datum/pathfind_debug/proc/hook_client()
+ if(!owner.owner)
+ return
+ QDEL_NULL(jps_debug)
+ QDEL_NULL(sssp_debug)
+ jps_debug = new
+ jps_debug.Grant(owner.owner.mob)
+ sssp_debug = new()
+ sssp_debug.Grant(owner.owner.mob)
+ RegisterSignal(owner.owner.mob, COMSIG_MOB_LOGOUT, PROC_REF(on_logout))
+
+/datum/pathfind_debug/proc/on_logout(mob/logging_out)
+ SIGNAL_HANDLER
+ UnregisterSignal(logging_out, COMSIG_MOB_LOGOUT)
+ var/mob/new_mob = owner.owner?.mob
+ if(!new_mob)
+ RegisterSignal(logging_out, COMSIG_MOB_LOGIN, PROC_REF(on_login))
+ return
+ hook_client()
+
+/datum/pathfind_debug/proc/on_login(mob/logging_in)
+ SIGNAL_HANDLER
+ UnregisterSignal(logging_in, list(COMSIG_MOB_LOGOUT, COMSIG_MOB_LOGIN))
+ hook_client()
+
+/datum/action/innate/path_debug
+ var/list/image/display_images = list()
+
+/datum/action/innate/path_debug/Activate()
+ . = ..()
+ RegisterSignal(owner, COMSIG_MOB_CLICKON, PROC_REF(clicked_somethin))
+ active = TRUE
+
+/datum/action/innate/path_debug/Deactivate()
+ UnregisterSignal(owner, COMSIG_MOB_CLICKON)
+ clear_visuals()
+ active = FALSE
+ return ..()
+
+/datum/action/innate/path_debug/proc/clicked_somethin(datum/source, atom/clicked, list/modifiers)
+ SIGNAL_HANDLER
+ if(LAZYACCESS(modifiers, SHIFT_CLICK))
+ return NONE
+
+ var/turf/clunked = get_turf(clicked)
+ if(!clunked)
+ return NONE
+
+ if(LAZYACCESS(modifiers, RIGHT_CLICK))
+ right_clicked(clunked)
+ else
+ left_clicked(clunked)
+
+ update_visuals()
+ if(path_ready())
+ pathfind()
+
+/datum/action/innate/path_debug/proc/left_clicked(turf/clicked_on)
+ return
+
+/datum/action/innate/path_debug/proc/right_clicked(turf/clicked_on)
+ return
+
+/datum/action/innate/path_debug/proc/update_visuals()
+ clear_visuals()
+ build_visuals()
+ owner.client?.images += display_images
+
+/datum/action/innate/path_debug/proc/clear_visuals()
+ owner.client?.images -= display_images
+ display_images = list()
+
+/datum/action/innate/path_debug/proc/build_visuals()
+ return
+
+/datum/action/innate/path_debug/proc/path_ready()
+ return FALSE
+
+/datum/action/innate/path_debug/proc/pathfind()
+ INVOKE_ASYNC(src, PROC_REF(run_the_path), GLOB.pathfind_dude)
+ GLOB.pathfind_dude.moveToNullspace()
+
+/datum/action/innate/path_debug/proc/run_the_path(atom/movable/middle_man)
+ return
+
+/datum/action/innate/path_debug/proc/render_path(list/turf/draw_list)
+ if(!length(draw_list))
+ return list()
+
+ var/list/image/turf_images = list()
+ // Render everything but the first and last
+ for(var/i in 1 to (length(draw_list) - 1))
+ var/turf/problem_child = draw_list[i]
+ var/turf/next = draw_list[i + 1]
+ turf_images += render_turf(problem_child, get_dir(problem_child, next))
+
+ return turf_images
+
+/datum/action/innate/path_debug/proc/render_turf(turf/draw, direction)
+ var/image/arrow = image('icons/turf/debug.dmi', draw, "arrow", PATH_ARROW_DEBUG_LAYER, direction)
+ SET_PLANE_EXPLICIT(arrow, BALLOON_CHAT_PLANE, draw)
+ return arrow
+
+/datum/action/innate/path_debug/jps
+ name = "JPS Test"
+ button_icon = 'icons/turf/debug.dmi'
+ button_icon_state = "jps"
+
+ // Mirror vars for jps calls
+ var/turf/source_turf
+ var/turf/target_turf
+ var/max_distance
+ var/min_distance
+ var/allowed_on_space
+ var/turf/blacklisted_turf
+ var/diagonal_handling
+ /// List of turfs we are showing to our owner currently
+ var/list/turf/display_turfs
+
+/datum/action/innate/path_debug/jps/Activate()
+ . = ..()
+ max_distance = tgui_input_number(owner, "How far should we be allowed to try and path", "Max Distance", min_value = 1, default = 30)
+ min_distance = tgui_input_number(owner, "How close should we try and get to the target before stopping", "Min Distance", min_value = 0, default = 0)
+ allowed_on_space = tgui_alert(owner, "Are we allowed to path over space?", "Space Pathing", buttons = list("Yes", "No")) == "Yes"
+ var/text_blacklist = tgui_input_text(owner, "Enter any turf path you want to blacklist (You get one)", "Turf Blacklist")
+ if(text_blacklist)
+ blacklisted_turf = pick_closest_path(text_blacklist)
+ else
+ blacklisted_turf = null
+ diagonal_handling = DIAGONAL_DO_NOTHING
+ switch(tgui_input_list(owner, "Pick how you want to handle diagonal moves", "Diagonal Moves", list("Leave Them Be", "Drop All", "Drop Odd Ones")))
+ if("Leave Them Be")
+ diagonal_handling = DIAGONAL_DO_NOTHING
+ if("Drop All")
+ diagonal_handling = DIAGONAL_REMOVE_ALL
+ if("Drop Odd Ones")
+ diagonal_handling = DIAGONAL_REMOVE_CLUNKY
+
+/datum/action/innate/path_debug/jps/Deactivate()
+ source_turf = null
+ target_turf = null
+ display_turfs = list()
+ return ..()
+
+/datum/action/innate/path_debug/jps/left_clicked(turf/clicked_on)
+ source_turf = clicked_on
+ display_turfs = list()
+
+/datum/action/innate/path_debug/jps/right_clicked(turf/clicked_on)
+ target_turf = clicked_on
+ display_turfs = list()
+
+/datum/action/innate/path_debug/jps/build_visuals()
+ . = ..()
+ if(source_turf)
+ var/image/start = image('icons/turf/debug.dmi', source_turf, "start", PATH_DEBUG_LAYER)
+ SET_PLANE_EXPLICIT(start, BALLOON_CHAT_PLANE, source_turf)
+ display_images += start
+ if(target_turf)
+ var/image/end = image('icons/turf/debug.dmi', target_turf, "end", PATH_DEBUG_LAYER)
+ SET_PLANE_EXPLICIT(end, BALLOON_CHAT_PLANE, target_turf)
+ display_images += end
+
+ display_images += render_path(display_turfs)
+
+/datum/action/innate/path_debug/jps/path_ready()
+ return (source_turf && target_turf)
+
+/datum/action/innate/path_debug/jps/run_the_path(atom/movable/middle_man)
+ middle_man.forceMove(source_turf)
+ display_turfs = get_path_to(middle_man, target_turf, max_distance, min_distance, list(), allowed_on_space, blacklisted_turf, skip_first = FALSE, diagonal_handling = diagonal_handling)
+ update_visuals()
+
+/datum/action/innate/path_debug/sssp
+ name = "Pathmap Test"
+ button_icon = 'icons/turf/debug.dmi'
+ button_icon_state = "sssp"
+
+ // Mirror vars for sssp calls
+ var/turf/source_turf
+ var/max_distance
+ var/allowed_on_space
+ var/turf/blacklisted_turf
+ // Turf to display the path to (optional)
+ var/turf/target_turf
+ /// List of turfs we are showing to our owner currently
+ var/datum/path_map/shown_map
+
+/datum/action/innate/path_debug/sssp/Activate()
+ . = ..()
+ max_distance = tgui_input_number(owner, "How far should we be allowed to try and path", "Max Distance", min_value = 1, default = 30)
+ allowed_on_space = tgui_alert(owner, "Are we allowed to path over space?", "Space Pathing", buttons = list("Yes", "No")) == "Yes"
+ var/text_blacklist = tgui_input_text(owner, "Enter any turf path you want to blacklist (You get one)", "Turf Blacklist")
+ if(text_blacklist)
+ blacklisted_turf = pick_closest_path(text_blacklist)
+ else
+ blacklisted_turf = null
+
+/datum/action/innate/path_debug/sssp/Deactivate()
+ source_turf = null
+ target_turf = null
+ shown_map = null
+ return ..()
+
+/datum/action/innate/path_debug/sssp/left_clicked(turf/clicked_on)
+ source_turf = clicked_on
+ shown_map = null
+
+/datum/action/innate/path_debug/sssp/right_clicked(turf/clicked_on)
+ if(clicked_on == target_turf)
+ target_turf = null
+ return
+ target_turf = clicked_on
+
+/datum/action/innate/path_debug/sssp/build_visuals()
+ . = ..()
+ if(source_turf)
+ var/image/start = image('icons/turf/debug.dmi', source_turf, "start", PATH_DEBUG_LAYER)
+ SET_PLANE_EXPLICIT(start, BALLOON_CHAT_PLANE, source_turf)
+ display_images += start
+
+ if(target_turf)
+ var/image/end = image('icons/turf/debug.dmi', target_turf, "end", PATH_DEBUG_LAYER)
+ SET_PLANE_EXPLICIT(end, BALLOON_CHAT_PLANE, target_turf)
+ display_images += end
+ if(shown_map)
+ display_images += render_path(shown_map.get_path_to(target_turf))
+ else
+ if(!shown_map)
+ return
+ var/list/turf/next_closest = shown_map.next_closest
+ var/turf/start = shown_map?.start
+ for(var/turf/next_dude as anything in next_closest)
+ if(next_dude == start)
+ continue
+ display_images += render_turf(next_dude, get_dir(next_dude, next_closest[next_dude]))
+
+/datum/action/innate/path_debug/sssp/path_ready()
+ return (source_turf && source_turf != shown_map?.start)
+
+/datum/action/innate/path_debug/sssp/run_the_path(atom/movable/middle_man)
+ middle_man.forceMove(source_turf)
+ shown_map = get_sssp(middle_man, max_distance, list(), allowed_on_space, blacklisted_turf)
+ update_visuals()
diff --git a/code/modules/admin/verbs/playsound.dm b/code/modules/admin/verbs/playsound.dm
index 50b74d703c8..48788da7968 100644
--- a/code/modules/admin/verbs/playsound.dm
+++ b/code/modules/admin/verbs/playsound.dm
@@ -60,6 +60,8 @@ ADMIN_VERB(play_direct_mob_sound, R_SOUND, "Play Direct Mob Sound", "Play a soun
SEND_SOUND(target, sound)
BLACKBOX_LOG_ADMIN_VERB("Play Direct Mob Sound")
+GLOBAL_VAR_INIT(web_sound_cooldown, 0)
+
///Takes an input from either proc/play_web_sound or the request manager and runs it through yt-dlp and prompts the user before playing it to the server.
/proc/web_sound(mob/user, input, credit)
if(!check_rights(R_SOUND))
@@ -150,12 +152,15 @@ ADMIN_VERB(play_direct_mob_sound, R_SOUND, "Play Direct Mob Sound", "Play a soun
var/mob/M = m
var/client/C = M.client
if(C.prefs.read_preference(/datum/preference/numeric/volume/sound_midi))
+ // Stops playing lobby music and admin loaded music automatically.
+ SEND_SOUND(C, sound(null, channel = CHANNEL_LOBBYMUSIC))
+ SEND_SOUND(C, sound(null, channel = CHANNEL_ADMIN))
if(!stop_web_sounds)
C.tgui_panel?.play_music(web_sound_url, music_extra_data)
else
C.tgui_panel?.stop_music()
- S_TIMER_COOLDOWN_START(SStimer, COOLDOWN_INTERNET_SOUND, duration)
+ CLIENT_COOLDOWN_START(GLOB, web_sound_cooldown, duration)
BLACKBOX_LOG_ADMIN_VERB("Play Internet Sound")
@@ -163,8 +168,8 @@ ADMIN_VERB_CUSTOM_EXIST_CHECK(play_web_sound)
return !!CONFIG_GET(string/invoke_youtubedl)
ADMIN_VERB(play_web_sound, R_SOUND, "Play Internet Sound", "Play a given internet sound to all players.", ADMIN_CATEGORY_FUN)
- if(S_TIMER_COOLDOWN_TIMELEFT(SStimer, COOLDOWN_INTERNET_SOUND))
- if(tgui_alert(user, "Someone else is already playing an Internet sound! It has [DisplayTimeText(S_TIMER_COOLDOWN_TIMELEFT(SStimer, COOLDOWN_INTERNET_SOUND), 1)] remaining. \
+ if(!CLIENT_COOLDOWN_FINISHED(GLOB, web_sound_cooldown))
+ if(tgui_alert(user, "Someone else is already playing an Internet sound! It has [DisplayTimeText(CLIENT_COOLDOWN_TIMELEFT(GLOB, web_sound_cooldown), 1)] remaining. \
Would you like to override?", "Musicalis Interruptus", list("No","Yes")) != "Yes")
return
@@ -199,7 +204,7 @@ ADMIN_VERB(stop_sounds, R_NONE, "Stop All Playing Sounds", "Stops all playing so
var/client/player_client = player.client
player_client?.tgui_panel?.stop_music()
- S_TIMER_COOLDOWN_RESET(SStimer, COOLDOWN_INTERNET_SOUND)
+ CLIENT_COOLDOWN_RESET(GLOB, web_sound_cooldown)
BLACKBOX_LOG_ADMIN_VERB("Stop All Playing Sounds")
//world/proc/shelleo
diff --git a/code/modules/admin/verbs/server.dm b/code/modules/admin/verbs/server.dm
index 92c88dc4c98..a4a45453d60 100644
--- a/code/modules/admin/verbs/server.dm
+++ b/code/modules/admin/verbs/server.dm
@@ -22,7 +22,12 @@ ADMIN_VERB(toggle_hub, R_SERVER, "Toggle Hub", "Toggles the server's visilibilit
#define HARDEST_RESTART "Hardest Restart (No actions, just reboot)"
#define TGS_RESTART "Server Restart (Kill and restart DD)"
ADMIN_VERB(restart, R_SERVER, "Reboot World", "Restarts the world immediately.", ADMIN_CATEGORY_SERVER)
- var/list/options = list(REGULAR_RESTART, REGULAR_RESTART_DELAYED, HARD_RESTART, HARDEST_RESTART)
+ var/list/options = list(REGULAR_RESTART, REGULAR_RESTART_DELAYED, HARD_RESTART)
+
+ // this option runs a codepath that can leak db connections because it skips subsystem (specifically SSdbcore) shutdown
+ if(!SSdbcore.IsConnected())
+ options += HARDEST_RESTART
+
if(world.TgsAvailable())
options += TGS_RESTART;
diff --git a/code/modules/admin/view_variables/debug_variables.dm b/code/modules/admin/view_variables/debug_variables.dm
index b776f1b5d79..34b34369299 100644
--- a/code/modules/admin/view_variables/debug_variables.dm
+++ b/code/modules/admin/view_variables/debug_variables.dm
@@ -86,21 +86,21 @@
items += debug_variable(key, val, level + 1, sanitize = sanitize)
return "/list ([list_value.len]) "
- else
- return "/list ([list_value.len]) "
+ return "/list ([list_value.len]) "
- if(name in GLOB.bitfields)
- var/list/flags = list()
- for (var/i in GLOB.bitfields[name])
- if (value & GLOB.bitfields[name][i])
- flags += i
- if(length(flags))
- return "[VV_HTML_ENCODE(jointext(flags, ", "))]"
- else
- return "NONE"
- else
+ // if it's a number, is it a bitflag?
+ var/list/valid_bitflags = get_valid_bitflags(name)
+ if(!length(valid_bitflags))
return "[VV_HTML_ENCODE(value)] "
+ var/list/flags = list()
+ for (var/bit_name in valid_bitflags)
+ if (value & valid_bitflags[bit_name])
+ flags += bit_name
+ if(length(flags))
+ return "[VV_HTML_ENCODE(flags.Join(", "))]"
+ return "NONE"
+
/datum/proc/debug_variable_value(name, level, datum/owner, sanitize, display_flags)
if("[src]" != "[type]") // If we have a name var, let's use it.
return "[src] [type] [REF(src)] "
diff --git a/code/modules/admin/view_variables/get_variables.dm b/code/modules/admin/view_variables/get_variables.dm
index 3105e0d5933..194be18e2e6 100644
--- a/code/modules/admin/view_variables/get_variables.dm
+++ b/code/modules/admin/view_variables/get_variables.dm
@@ -3,7 +3,7 @@
. = VV_NULL
else if(isnum(var_value))
- if(var_name in GLOB.bitfields)
+ if(length(get_valid_bitflags(var_name)))
. = VV_BITFIELD
else
. = VV_NUM
diff --git a/code/modules/admin/view_variables/modify_variables.dm b/code/modules/admin/view_variables/modify_variables.dm
index d8255f8b397..13b3a2aa398 100644
--- a/code/modules/admin/view_variables/modify_variables.dm
+++ b/code/modules/admin/view_variables/modify_variables.dm
@@ -65,7 +65,6 @@ GLOBAL_PROTECT(VVpixelmovement)
.["[D]([shorttype])[REF(D)]#[i]"] = D
/client/proc/mod_list_add_ass(atom/O) //hehe
-
var/list/L = vv_get_value(restricted_classes = list(VV_RESTORE_DEFAULT))
var/class = L["class"]
if (!class)
diff --git a/code/modules/antagonists/abductor/abductor.dm b/code/modules/antagonists/abductor/abductor.dm
index 9b8dca4a0e2..313c1b3a485 100644
--- a/code/modules/antagonists/abductor/abductor.dm
+++ b/code/modules/antagonists/abductor/abductor.dm
@@ -99,6 +99,14 @@
new_abductor.real_name = "[team.name] [sub_role]"
new_abductor.equipOutfit(outfit)
+ // If we have a team skincolor, apply it here. Applied by admins or 2% chance of natural occurance
+ if(!isnull(team.team_skincolor))
+ for(var/obj/item/bodypart/part as anything in new_abductor.bodyparts)
+ part.should_draw_greyscale = TRUE
+ part.add_color_override(team.team_skincolor, LIMB_COLOR_AYYLMAO)
+
+ new_abductor.update_body_parts(update_limb_data = TRUE)
+
// We require that the template be loaded here, so call it in a blocking manner, if its already done loading, this won't block
SSmapping.lazy_load_template(LAZY_TEMPLATE_KEY_ABDUCTOR_SHIPS)
//Teleport to ship
@@ -119,9 +127,17 @@
var/list/current_teams = list()
for(var/datum/team/abductor_team/T in GLOB.antagonist_teams)
current_teams[T.name] = T
- var/choice = input(admin,"Add to which team ?") as null|anything in (current_teams + "new team")
+ var/choice = tgui_input_list(admin,"Add to which team ?", "Abductor Teams", current_teams + "new team")
if (choice == "new team")
team = new
+ if(tgui_alert(admin, "Use a Custom Skin Color?", "Alien Spraypainter", list("Yes", "No")) == "Yes")
+ // Keep in mind the darker colors don't look all that great, but it's easier to just reference an existing color list than make a new one
+ var/colorchoice = tgui_input_list(admin, "Select Which Color?", "Alien Spraypainter", GLOB.color_list_ethereal + "Custom Color")
+ if(colorchoice == "Custom Color")
+ colorchoice = input(admin, "Pick new color", "Alien Spraypainter", COLOR_WHITE) as color|null
+ else
+ colorchoice = GLOB.color_list_ethereal[colorchoice]
+ team.team_skincolor = colorchoice
else if(choice in current_teams)
team = current_teams[choice]
else
@@ -152,12 +168,17 @@
var/static/team_count = 1
///List of all brainwashed victims' minds
var/list/datum/mind/abductees = list()
+ /// If we will recolor these aliens, this value gets changed. Has a really small chance to occur naturally, but admins can change this to anything they want.
+ var/team_skincolor = null
/datum/team/abductor_team/New()
..()
team_number = team_count++
name = "Mothership [pick(GLOB.greek_letters)]" //TODO Ensure unique and actual alieny names
add_objective(new /datum/objective/experiment)
+ // Some aliens can be green as a treat
+ if(prob(check_holidays(APRIL_FOOLS) ? 50 : 2) && isnull(team_skincolor))
+ team_skincolor = COLOR_EMERALD
/datum/team/abductor_team/roundend_report()
var/list/result = list()
diff --git a/code/modules/antagonists/abductor/abductor_structures.dm b/code/modules/antagonists/abductor/abductor_structures.dm
index da0ad5de9ea..3ca2fbacdc6 100644
--- a/code/modules/antagonists/abductor/abductor_structures.dm
+++ b/code/modules/antagonists/abductor/abductor_structures.dm
@@ -15,37 +15,11 @@
framestack = /obj/item/stack/sheet/mineral/abductor
framestackamount = 1
-/obj/structure/table_frame/abductor/attackby(obj/item/attacking_item, mob/user, params)
- if(attacking_item.tool_behaviour == TOOL_WRENCH)
- to_chat(user, span_notice("You start disassembling [src]..."))
- attacking_item.play_tool_sound(src)
- if(attacking_item.use_tool(src, user, 30))
- playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE)
- for(var/i in 0 to framestackamount)
- new framestack(get_turf(src))
- qdel(src)
- return
- if(istype(attacking_item, /obj/item/stack/sheet/mineral/abductor))
- var/obj/item/stack/sheet/stacked_sheets = attacking_item
- if(stacked_sheets.get_amount() < 1)
- to_chat(user, span_warning("You need one alien alloy sheet to do this!"))
- return
- to_chat(user, span_notice("You start adding [stacked_sheets] to [src]..."))
- if(do_after(user, 5 SECONDS, target = src))
- stacked_sheets.use(1)
- new /obj/structure/table/abductor(src.loc)
- qdel(src)
- return
- if(istype(attacking_item, /obj/item/stack/sheet/mineral/silver))
- var/obj/item/stack/sheet/stacked_sheets = attacking_item
- if(stacked_sheets.get_amount() < 1)
- to_chat(user, span_warning("You need one sheet of silver to do this!"))
- return
- to_chat(user, span_notice("You start adding [stacked_sheets] to [src]..."))
- if(do_after(user, 5 SECONDS, target = src))
- stacked_sheets.use(1)
- new /obj/structure/table/optable/abductor(src.loc)
- qdel(src)
+/obj/structure/table_frame/abductor/get_table_type(obj/item/stack/our_stack)
+ if(istype(our_stack, /obj/item/stack/sheet/mineral/abductor))
+ return /obj/structure/table/abductor
+ if(istype(our_stack, /obj/item/stack/sheet/mineral/silver))
+ return /obj/structure/table/optable/abductor
/obj/structure/table/abductor
name = "alien table"
@@ -79,7 +53,7 @@
var/static/list/injected_reagents = list(/datum/reagent/medicine/cordiolis_hepatico)
-/obj/structure/table/optable/abductor/Initialize(mapload)
+/obj/structure/table/optable/abductor/Initialize(mapload, obj/structure/table_frame/frame_used, obj/item/stack/stack_used)
. = ..()
var/static/list/loc_connections = list(
COMSIG_ATOM_ENTERED = PROC_REF(on_entered),
diff --git a/code/modules/antagonists/abductor/equipment/glands/mindshock.dm b/code/modules/antagonists/abductor/equipment/glands/mindshock.dm
index a4aa88b8da9..3480d20de4e 100644
--- a/code/modules/antagonists/abductor/equipment/glands/mindshock.dm
+++ b/code/modules/antagonists/abductor/equipment/glands/mindshock.dm
@@ -28,7 +28,7 @@
target.adjust_confusion(15 SECONDS)
target.adjustOrganLoss(ORGAN_SLOT_BRAIN, 10, 160)
if(3)
- target.adjust_hallucinations(120 SECONDS)
+ target.adjust_hallucinations(150 SECONDS)
/obj/item/organ/heart/gland/mindshock/mind_control(command, mob/living/user)
if(!ownerCheck() || !mind_control_uses || active_mind_control)
diff --git a/code/modules/antagonists/blob/blob_antag.dm b/code/modules/antagonists/blob/blob_antag.dm
index c5dfa6a1e10..bf2c65d634f 100644
--- a/code/modules/antagonists/blob/blob_antag.dm
+++ b/code/modules/antagonists/blob/blob_antag.dm
@@ -7,6 +7,7 @@
job_rank = ROLE_BLOB
ui_name = "AntagInfoBlob"
stinger_sound = 'sound/music/antag/blobalert.ogg'
+ antag_hud_name = "blob"
/// Action to release a blob infection
var/datum/action/innate/blobpop/pop_action
/// Initial points for a human blob
diff --git a/code/modules/antagonists/blob/overmind.dm b/code/modules/antagonists/blob/overmind.dm
index 5b8d58e06aa..ac465e2a428 100644
--- a/code/modules/antagonists/blob/overmind.dm
+++ b/code/modules/antagonists/blob/overmind.dm
@@ -210,18 +210,17 @@ GLOBAL_LIST_EMPTY(blob_nodes)
else
live_guy.fully_heal()
- for(var/area/check_area in GLOB.areas)
- if(!is_type_in_list(check_area, GLOB.the_station_areas))
- continue
- if(!(check_area.area_flags & BLOBS_ALLOWED))
- continue
- check_area.color = blobstrain.color
- check_area.name = "blob"
- check_area.icon = 'icons/mob/nonhuman-player/blob.dmi'
- check_area.icon_state = "blob_shield"
- check_area.layer = BELOW_MOB_LAYER
- check_area.SetInvisibility(INVISIBILITY_NONE)
- check_area.blend_mode = 0
+ for(var/area_type in GLOB.the_station_areas)
+ var/area/check_area = GLOB.areas_by_type[area_type]
+ if(!(check_area.area_flags & BLOBS_ALLOWED))
+ continue
+ check_area.color = blobstrain.color
+ check_area.name = "blob"
+ check_area.icon = 'icons/mob/nonhuman-player/blob.dmi'
+ check_area.icon_state = "blob_shield"
+ check_area.layer = BELOW_MOB_LAYER
+ check_area.SetInvisibility(INVISIBILITY_NONE)
+ check_area.blend_mode = 0
var/datum/antagonist/blob/B = mind.has_antag_datum(/datum/antagonist/blob)
if(B)
diff --git a/code/modules/antagonists/changeling/powers/darkness_adaptation.dm b/code/modules/antagonists/changeling/powers/darkness_adaptation.dm
index b687ca38a61..47fe31c215b 100644
--- a/code/modules/antagonists/changeling/powers/darkness_adaptation.dm
+++ b/code/modules/antagonists/changeling/powers/darkness_adaptation.dm
@@ -63,7 +63,7 @@
COOLDOWN_DECLARE(skip_tick_update)
/datum/status_effect/darkness_adapted/on_apply()
- RegisterSignal(owner, COMSIG_MOVABLE_MOVED, PROC_REF(update_invis))
+ RegisterSignal(owner, COMSIG_MOVABLE_MOVED, PROC_REF(on_move))
RegisterSignal(owner, COMSIG_CARBON_GAIN_ORGAN, PROC_REF(eye_implanted))
RegisterSignal(owner, COMSIG_CARBON_LOSE_ORGAN, PROC_REF(eye_removed))
RegisterSignal(owner, COMSIG_ATOM_EXAMINE, PROC_REF(examine_mob))
diff --git a/code/modules/antagonists/changeling/powers/headcrab.dm b/code/modules/antagonists/changeling/powers/headcrab.dm
index 4db331b715e..23658907cd2 100644
--- a/code/modules/antagonists/changeling/powers/headcrab.dm
+++ b/code/modules/antagonists/changeling/powers/headcrab.dm
@@ -4,7 +4,7 @@
helptext = "We will be placed in control of a small, fragile creature. We may attack a corpse like this to plant an egg which will slowly mature into a new form for us."
button_icon_state = "last_resort"
chemical_cost = 20
- dna_cost = 0
+ dna_cost = 1
req_stat = DEAD
ignores_fakedeath = TRUE
disabled_by_fire = FALSE
diff --git a/code/modules/antagonists/cult/cult_objectives.dm b/code/modules/antagonists/cult/cult_objectives.dm
index 17957f88bca..7d3e8ccf128 100644
--- a/code/modules/antagonists/cult/cult_objectives.dm
+++ b/code/modules/antagonists/cult/cult_objectives.dm
@@ -24,7 +24,7 @@
if(SSticker.IsRoundInProgress() && istype(get_area(player), /area/centcom/interlink))
continue
// SKYRAT EDIT END
- if(player.mind && !player.mind.has_antag_datum(/datum/antagonist/cult) && !is_convertable_to_cult(player) && player.stat != DEAD)
+ if(player.mind && !IS_CULTIST(player) && !is_convertable_to_cult(player) && player.stat != DEAD && is_station_level(player.loc.z))
target_candidates += player.mind
if(target_candidates.len == 0)
message_admins("Cult Sacrifice: Could not find unconvertible target, checking for convertible target.")
@@ -33,7 +33,7 @@
if(SSticker.IsRoundInProgress() && istype(get_area(player), /area/centcom/interlink))
continue
// SKYRAT EDIT END
- if(player.mind && !player.mind.has_antag_datum(/datum/antagonist/cult) && player.stat != DEAD)
+ if(player.mind && !IS_CULTIST(player) && player.stat != DEAD && is_station_level(player.loc.z))
target_candidates += player.mind
list_clear_nulls(target_candidates)
if(LAZYLEN(target_candidates))
diff --git a/code/modules/antagonists/cult/cult_other.dm b/code/modules/antagonists/cult/cult_other.dm
index bbeec10ce17..0e286d75e81 100644
--- a/code/modules/antagonists/cult/cult_other.dm
+++ b/code/modules/antagonists/cult/cult_other.dm
@@ -8,8 +8,7 @@
r_hand = /obj/item/melee/blood_magic/stun
/datum/outfit/cultist/post_equip(mob/living/carbon/human/equipped, visuals_only)
- equipped.eye_color_left = BLOODCULT_EYE
- equipped.eye_color_right = BLOODCULT_EYE
+ equipped.set_eye_color(BLOODCULT_EYE)
equipped.update_body()
///Returns whether the given mob is convertable to the blood cult
diff --git a/code/modules/antagonists/cult/datums/cult_team.dm b/code/modules/antagonists/cult/datums/cult_team.dm
index 06a1c2ccf2e..1c9c62ca081 100644
--- a/code/modules/antagonists/cult/datums/cult_team.dm
+++ b/code/modules/antagonists/cult/datums/cult_team.dm
@@ -153,9 +153,9 @@
var/area/target_area = get_area(new_target)
blood_target_image = image('icons/effects/mouse_pointers/cult_target.dmi', new_target, "glow", ABOVE_MOB_LAYER)
- blood_target_image.appearance_flags = RESET_COLOR
- blood_target_image.pixel_x = -new_target.pixel_x
- blood_target_image.pixel_y = -new_target.pixel_y
+ blood_target_image.appearance_flags = RESET_COLOR|KEEP_APART
+ blood_target_image.pixel_w = -new_target.pixel_x
+ blood_target_image.pixel_z = -new_target.pixel_y
for(var/datum/mind/cultist as anything in members)
if(!cultist.current)
diff --git a/code/modules/antagonists/fugitive/fugitive_outfits.dm b/code/modules/antagonists/fugitive/fugitive_outfits.dm
index 5b73476a3af..a7a45fba7a1 100644
--- a/code/modules/antagonists/fugitive/fugitive_outfits.dm
+++ b/code/modules/antagonists/fugitive/fugitive_outfits.dm
@@ -36,8 +36,7 @@
if(visuals_only)
return
equipped_on.fully_replace_character_name(null, "Waldo")
- equipped_on.eye_color_left = COLOR_BLACK
- equipped_on.eye_color_right = COLOR_BLACK
+ equipped_on.set_eye_color(COLOR_BLACK)
equipped_on.gender = MALE
equipped_on.skin_tone = "caucasian3"
equipped_on.hairstyle = "Business Hair 3"
diff --git a/code/modules/antagonists/heretic/influences.dm b/code/modules/antagonists/heretic/influences.dm
index 9dad4f20acf..c139ed3daa1 100644
--- a/code/modules/antagonists/heretic/influences.dm
+++ b/code/modules/antagonists/heretic/influences.dm
@@ -154,15 +154,15 @@
explosion.start(src)
*/
-/obj/effect/visible_heretic_influence/examine(mob/user)
+/obj/effect/visible_heretic_influence/examine(mob/living/user)
. = ..()
+ . += span_hypnophrase(pick_list(HERETIC_INFLUENCE_FILE, "examine"))
if(IS_HERETIC(user) || !ishuman(user))
return
- var/mob/living/carbon/human/human_user = user
- to_chat(human_user, span_userdanger("Your mind burns as you stare at the tear!"))
- human_user.adjustOrganLoss(ORGAN_SLOT_BRAIN, 10, 190)
- // human_user.add_mood_event("gates_of_mansus", /datum/mood_event/gates_of_mansus) Bubberstation change: Hugboxes heretics.
+ . += span_userdanger("Your mind burns as you stare at the tear!")
+ user.adjustOrganLoss(ORGAN_SLOT_BRAIN, 10, 190)
+ //user.add_mood_event("gates_of_mansus", /datum/mood_event/gates_of_mansus) // BUBBER EDIT - Hugboxes
/obj/effect/heretic_influence
name = "reality smash"
diff --git a/code/modules/antagonists/heretic/items/heretic_necks.dm b/code/modules/antagonists/heretic/items/heretic_necks.dm
index 5e0ab46375a..2509b8d015e 100644
--- a/code/modules/antagonists/heretic/items/heretic_necks.dm
+++ b/code/modules/antagonists/heretic/items/heretic_necks.dm
@@ -162,19 +162,22 @@
if(!IS_HERETIC_OR_MONSTER(user))
user.balloon_alert(user, "you feel a presence watching you")
user.add_mood_event("Moon Amulet Insanity", /datum/mood_event/amulet_insanity)
- user.mob_mood.set_sanity(user.mob_mood.sanity - 50)
+ user.mob_mood.adjust_sanity(-50)
return
+
if(hit.can_block_magic(MAGIC_RESISTANCE|MAGIC_RESISTANCE_MIND))
return
+
if(!hit.mob_mood)
return
if(hit.mob_mood.sanity_level > SANITY_LEVEL_UNSTABLE)
user.balloon_alert(user, "their mind is too strong!")
hit.add_mood_event("Moon Amulet Insanity", /datum/mood_event/amulet_insanity)
- hit.mob_mood.set_sanity(hit.mob_mood.sanity - sanity_damage)
- else
- user.balloon_alert(user, "their mind bends to see the truth!")
- hit.apply_status_effect(/datum/status_effect/moon_converted)
- user.log_message("made [target] insane.", LOG_GAME)
- hit.log_message("was driven insane by [user]")
+ hit.mob_mood.adjust_sanity(-sanity_damage)
+ return ..()
+
+ user.balloon_alert(user, "their mind bends to see the truth!")
+ hit.apply_status_effect(/datum/status_effect/moon_converted)
+ user.log_message("made [target] insane.", LOG_GAME)
+ hit.log_message("was driven insane by [user]")
. = ..()
diff --git a/code/modules/antagonists/heretic/items/madness_mask.dm b/code/modules/antagonists/heretic/items/madness_mask.dm
index 564715d7dd8..1be99d41012 100644
--- a/code/modules/antagonists/heretic/items/madness_mask.dm
+++ b/code/modules/antagonists/heretic/items/madness_mask.dm
@@ -62,7 +62,7 @@
human_in_range.mob_mood.direct_sanity_drain(rand(-2, -20) * seconds_per_tick)
if(SPT_PROB(60, seconds_per_tick))
- human_in_range.adjust_hallucinations_up_to(10 SECONDS, 240 SECONDS)
+ human_in_range.adjust_hallucinations_up_to(10 SECONDS, 120 SECONDS)
if(SPT_PROB(40, seconds_per_tick))
human_in_range.set_jitter_if_lower(10 SECONDS)
diff --git a/code/modules/antagonists/heretic/knowledge/lock_lore.dm b/code/modules/antagonists/heretic/knowledge/lock_lore.dm
index bde397a8048..573a151f991 100644
--- a/code/modules/antagonists/heretic/knowledge/lock_lore.dm
+++ b/code/modules/antagonists/heretic/knowledge/lock_lore.dm
@@ -103,6 +103,18 @@
research_tree_icon_path = 'icons/obj/card.dmi'
research_tree_icon_state = "card_gold"
+/datum/heretic_knowledge/key_ring/on_finished_recipe(mob/living/user, list/selected_atoms, turf/loc)
+ var/obj/item/card/id = locate(/obj/item/card/id/advanced) in selected_atoms
+ if(isnull(id))
+ return FALSE
+ var/obj/item/card/id/advanced/heretic/result_item = new(loc)
+ if(!istype(result_item))
+ return FALSE
+ selected_atoms -= id
+ result_item.eat_card(id)
+ result_item.shapeshift(id)
+ return TRUE
+
/datum/heretic_knowledge/mark/lock_mark
name = "Mark of Lock"
desc = "Your Mansus Grasp now applies the Mark of Lock. \
diff --git a/code/modules/antagonists/heretic/knowledge/moon_lore.dm b/code/modules/antagonists/heretic/knowledge/moon_lore.dm
index c5a6930eab7..8ae742d9749 100644
--- a/code/modules/antagonists/heretic/knowledge/moon_lore.dm
+++ b/code/modules/antagonists/heretic/knowledge/moon_lore.dm
@@ -62,7 +62,7 @@
var/mob/living/carbon/carbon_target = target
to_chat(carbon_target, span_danger("You hear echoing laughter from above"))
carbon_target.cause_hallucination(/datum/hallucination/delusion/preset/moon, "delusion/preset/moon hallucination caused by mansus grasp")
- carbon_target.mob_mood.set_sanity(carbon_target.mob_mood.sanity-30)
+ carbon_target.mob_mood.adjust_sanity(-30)
/datum/heretic_knowledge/spell/moon_smile
name = "Smile of the moon"
@@ -134,7 +134,7 @@
"upgraded path of moon blades", \
)
target.emote(pick("giggle", "laugh"))
- target.mob_mood.set_sanity(target.mob_mood.sanity - 10)
+ target.mob_mood.adjust_sanity(-10)
/datum/heretic_knowledge/spell/moon_ringleader
name = "Ringleaders Rise"
@@ -234,7 +234,6 @@
)
for(var/mob/living/carbon/carbon_view in view(5, source))
- var/carbon_sanity = carbon_view.mob_mood.sanity
if(carbon_view.stat != CONSCIOUS)
continue
if(IS_HERETIC_OR_MONSTER(carbon_view))
@@ -243,11 +242,13 @@
continue
new moon_effect(get_turf(carbon_view))
carbon_view.adjust_confusion(2 SECONDS)
- carbon_view.mob_mood.set_sanity(carbon_sanity - 5)
+ carbon_view.mob_mood.adjust_sanity(-5)
+ var/carbon_sanity = carbon_view.mob_mood.sanity
if(carbon_sanity < 30)
if(SPT_PROB(20, seconds_per_tick))
to_chat(carbon_view, span_warning("you feel your mind beginning to rend!"))
carbon_view.adjustOrganLoss(ORGAN_SLOT_BRAIN, 5)
+
if(carbon_sanity < 10)
if(SPT_PROB(20, seconds_per_tick))
to_chat(carbon_view, span_warning("it echoes through you!"))
diff --git a/code/modules/antagonists/heretic/magic/ash_jaunt.dm b/code/modules/antagonists/heretic/magic/ash_jaunt.dm
index 41242063a90..198f2f964e8 100644
--- a/code/modules/antagonists/heretic/magic/ash_jaunt.dm
+++ b/code/modules/antagonists/heretic/magic/ash_jaunt.dm
@@ -17,8 +17,7 @@
exit_jaunt_sound = null
jaunt_duration = 1.1 SECONDS
jaunt_in_time = 1.3 SECONDS
- jaunt_out_time = 0.6 SECONDS
- jaunt_in_type = /obj/effect/temp_visual/dir_setting/ash_shift
+ jaunt_type = /obj/effect/dummy/phased_mob/spell_jaunt/red
jaunt_out_type = /obj/effect/temp_visual/dir_setting/ash_shift/out
/datum/action/cooldown/spell/jaunt/ethereal_jaunt/ash/do_steam_effects()
diff --git a/code/modules/antagonists/heretic/magic/moon_parade.dm b/code/modules/antagonists/heretic/magic/moon_parade.dm
index 49f8c428082..d8873c816cc 100644
--- a/code/modules/antagonists/heretic/magic/moon_parade.dm
+++ b/code/modules/antagonists/heretic/magic/moon_parade.dm
@@ -85,7 +85,7 @@
victim.add_mood_event("Moon Insanity", /datum/mood_event/moon_insanity)
victim.cause_hallucination(/datum/hallucination/delusion/preset/moon, name)
- victim.mob_mood.set_sanity(victim.mob_mood.sanity - 20)
+ victim.mob_mood.adjust_sanity(-20)
/obj/projectile/moon_parade/Destroy()
for(var/mob/living/leftover_mob as anything in mobs_hit)
diff --git a/code/modules/antagonists/heretic/magic/moon_ringleader.dm b/code/modules/antagonists/heretic/magic/moon_ringleader.dm
index d79269dc269..beacd0f5afa 100644
--- a/code/modules/antagonists/heretic/magic/moon_ringleader.dm
+++ b/code/modules/antagonists/heretic/magic/moon_ringleader.dm
@@ -51,7 +51,7 @@
victim.apply_status_effect(/datum/status_effect/moon_converted)
caster.log_message("made [victim] insane.", LOG_GAME)
victim.log_message("was driven insane by [caster]")
- victim.mob_mood.set_sanity(victim_sanity * 0.5)
+ victim.mob_mood.adjust_sanity(victim_sanity * -0.5)
/obj/effect/temp_visual/moon_ringleader
diff --git a/code/modules/antagonists/heretic/magic/moon_smile.dm b/code/modules/antagonists/heretic/magic/moon_smile.dm
index 2ded0134a04..62e1fa6747e 100644
--- a/code/modules/antagonists/heretic/magic/moon_smile.dm
+++ b/code/modules/antagonists/heretic/magic/moon_smile.dm
@@ -51,5 +51,5 @@
if(cast_on.mob_mood.sanity < 40)
cast_on.AdjustKnockdown(2 SECONDS)
//Lowers sanity
- cast_on.mob_mood.set_sanity(cast_on.mob_mood.sanity - 20)
+ cast_on.mob_mood.adjust_sanity(-20)
return TRUE
diff --git a/code/modules/antagonists/heretic/magic/space_crawl.dm b/code/modules/antagonists/heretic/magic/space_crawl.dm
index 74b02c59c10..7c59f83e811 100644
--- a/code/modules/antagonists/heretic/magic/space_crawl.dm
+++ b/code/modules/antagonists/heretic/magic/space_crawl.dm
@@ -7,7 +7,7 @@
*/
/datum/action/cooldown/spell/jaunt/space_crawl
name = "Space Phase"
- desc = "Allows you to phase in and out of existence while in space or misc tiles."
+ desc = "Allows you to phase in and out of existence while in space or a low-pressure, outdoor area."
background_icon_state = "bg_heretic"
overlay_icon_state = "bg_heretic_border"
@@ -18,6 +18,8 @@
invocation_type = INVOCATION_NONE
spell_requirements = NONE
+
+ jaunt_type = /obj/effect/dummy/phased_mob/spell_jaunt/space
///List of traits that are added to the heretic while in space phase jaunt
var/static/list/jaunting_traits = list(TRAIT_RESISTLOWPRESSURE, TRAIT_RESISTCOLD, TRAIT_NOBREATH)
@@ -33,10 +35,14 @@
. = ..()
if(!.)
return FALSE
- if(isspaceturf(get_turf(owner)) || ismiscturf(get_turf(owner)))
+ var/turf/my_turf = get_turf(owner)
+ if(isspaceturf(my_turf))
+ return TRUE
+ var/area/my_area = get_area(owner)
+ if (isopenturf(my_turf) && my_area.outdoors && lavaland_equipment_pressure_check(my_turf))
return TRUE
if(feedback)
- to_chat(owner, span_warning("You must stand on a space or misc turf!"))
+ to_chat(owner, span_warning("You must stand in space, or an outdoor area with low pressure!"))
return FALSE
/datum/action/cooldown/spell/jaunt/space_crawl/cast(mob/living/cast_on)
@@ -138,4 +144,9 @@
. = ..()
ADD_TRAIT(src, TRAIT_NODROP, ABSTRACT_ITEM_TRAIT)
+/// Different graphic for position indicator
+/obj/effect/dummy/phased_mob/spell_jaunt/space
+ phased_mob_icon_state = "solarflare"
+ movespeed = 0
+
#undef SPACE_PHASING
diff --git a/code/modules/antagonists/heretic/status_effects/mark_effects.dm b/code/modules/antagonists/heretic/status_effects/mark_effects.dm
index 65fb804991a..3fc632852fe 100644
--- a/code/modules/antagonists/heretic/status_effects/mark_effects.dm
+++ b/code/modules/antagonists/heretic/status_effects/mark_effects.dm
@@ -31,6 +31,10 @@
owner.update_icon(UPDATE_OVERLAYS)
return ..()
+// We WANT to call on_remove when replaced, else effects might not be cleaned up in the case where a mark is applied while a different mark is active.
+/datum/status_effect/eldritch/be_replaced()
+ qdel(src)
+
/**
* Signal proc for [COMSIG_ATOM_UPDATE_OVERLAYS].
*
diff --git a/code/modules/antagonists/pirate/pirate_shuttle_equipment.dm b/code/modules/antagonists/pirate/pirate_shuttle_equipment.dm
index da9df063c90..10544818967 100644
--- a/code/modules/antagonists/pirate/pirate_shuttle_equipment.dm
+++ b/code/modules/antagonists/pirate/pirate_shuttle_equipment.dm
@@ -367,7 +367,7 @@
///there are still licing mobs inside that item. Stop, don't sell it ffs.
if(locate(/mob/living) in item_on_pad.get_all_contents())
continue
- export_item_and_contents(item_on_pad, apply_elastic = FALSE, dry_run = dry_run, delete_unsold = FALSE, external_report = report, ignore_typecache = nosell_typecache)
+ export_item_and_contents(item_on_pad, apply_elastic = FALSE, dry_run = dry_run, delete_unsold = FALSE, external_report = report, ignore_typecache = nosell_typecache, export_market = EXPORT_MARKET_PIRACY)
return report
/// Prepares to sell the items on the pad
@@ -401,6 +401,9 @@
pad.icon_state = pad.idle_state
deltimer(sending_timer)
+/datum/export/pirate
+ sales_market = EXPORT_MARKET_PIRACY
+
/// Attempts to find the thing on station
/datum/export/pirate/proc/find_loot()
return
diff --git a/code/modules/antagonists/spy/spy_uplink.dm b/code/modules/antagonists/spy/spy_uplink.dm
index 8384dc129da..7131a0028ca 100644
--- a/code/modules/antagonists/spy/spy_uplink.dm
+++ b/code/modules/antagonists/spy/spy_uplink.dm
@@ -114,13 +114,13 @@
active_scan_cone = new(spy.loc)
var/angle = round(get_angle(spy, stealing), 10)
if(angle > 180 && angle < 360)
- active_scan_cone.pixel_x -= 16
+ active_scan_cone.pixel_w -= 16
else if(angle < 180 && angle > 0)
- active_scan_cone.pixel_x += 16
+ active_scan_cone.pixel_w += 16
if(angle > 90 && angle < 270)
- active_scan_cone.pixel_y -= 16
+ active_scan_cone.pixel_z -= 16
else if(angle < 90 || angle > 270)
- active_scan_cone.pixel_y += 16
+ active_scan_cone.pixel_z += 16
active_scan_cone.transform = active_scan_cone.transform.Turn(angle)
active_scan_cone.alpha = 0
animate(active_scan_cone, time = 0.5 SECONDS, alpha = initial(active_scan_cone.alpha))
diff --git a/code/modules/antagonists/survivalist/survivalist.dm b/code/modules/antagonists/survivalist/survivalist.dm
index b801076747f..01000da5908 100644
--- a/code/modules/antagonists/survivalist/survivalist.dm
+++ b/code/modules/antagonists/survivalist/survivalist.dm
@@ -78,7 +78,7 @@
Noncompliance and removal of this implant is not recommended, and remember to smile for the cameras!"))
return ..()
-
+
/datum/antagonist/survivalist/battle_royale/on_removal()
if (isnull(owner.current))
return ..()
@@ -86,7 +86,7 @@
if (owner.current.stat == DEAD)
return ..()
to_chat(owner, span_notice("Your body is flooded with relief. Against all the odds, you've made it out alive."))
- owner.current?.mob_mood.add_mood_event("battle_royale", /datum/mood_event/royale_survivor)
+ owner.current?.add_mood_event("battle_royale", /datum/mood_event/royale_survivor)
return ..()
/// Add an objective to go to a specific place.
diff --git a/code/modules/art/paintings.dm b/code/modules/art/paintings.dm
index e9e9e07fbbf..b3bcc4c8829 100644
--- a/code/modules/art/paintings.dm
+++ b/code/modules/art/paintings.dm
@@ -349,16 +349,16 @@
. = ..()
if(icon_generated)
var/mutable_appearance/detail = mutable_appearance(generated_icon)
- detail.pixel_x = 1
- detail.pixel_y = 1
+ detail.pixel_w = 1
+ detail.pixel_z = 1
. += detail
return
if(!used)
return
var/mutable_appearance/detail = mutable_appearance(icon, "[icon_state]wip")
- detail.pixel_x = 1
- detail.pixel_y = 1
+ detail.pixel_w = 1
+ detail.pixel_z = 1
. += detail
/obj/item/canvas/proc/generate_proper_overlay()
@@ -649,8 +649,8 @@
return
var/mutable_appearance/painting = mutable_appearance(current_canvas.generated_icon)
- painting.pixel_x = current_canvas.framed_offset_x
- painting.pixel_y = current_canvas.framed_offset_y
+ painting.pixel_w = current_canvas.framed_offset_x
+ painting.pixel_z = current_canvas.framed_offset_y
. += painting
var/frame_type = current_canvas.painting_metadata.frame_type
. += mutable_appearance(current_canvas.icon,"[current_canvas.icon_state]frame_[frame_type]") //add the frame
diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm
index 5e1467e41b0..5794720b0cf 100644
--- a/code/modules/assembly/assembly.dm
+++ b/code/modules/assembly/assembly.dm
@@ -54,9 +54,10 @@
connected = null
if(!holder)
return FALSE
- forceMove(holder.drop_location())
- SEND_SIGNAL(src, COMSIG_ASSEMBLY_DETACHED, holder)
+ var/atom/was_holder = holder
holder = null
+ forceMove(was_holder.drop_location())
+ SEND_SIGNAL(src, COMSIG_ASSEMBLY_DETACHED, was_holder)
return TRUE
/**
diff --git a/code/modules/assembly/timer.dm b/code/modules/assembly/timer.dm
index b25d30e1b4b..b0dd20dec23 100644
--- a/code/modules/assembly/timer.dm
+++ b/code/modules/assembly/timer.dm
@@ -88,7 +88,7 @@
attached_overlays += "timer_timing"
for (var/i in 1 to clamp(ceil(time / 10), 1, 3))
var/mutable_appearance/timer_light = mutable_appearance(icon, "timer_light", layer, src)
- timer_light.pixel_x = (i - 1) * 2
+ timer_light.pixel_w = (i - 1) * 2
. += timer_light
/obj/item/assembly/timer/ui_status(mob/user, datum/ui_state/state)
diff --git a/code/modules/atmospherics/machinery/atmosmachinery.dm b/code/modules/atmospherics/machinery/atmosmachinery.dm
index f3877a1424d..d529d4357f2 100644
--- a/code/modules/atmospherics/machinery/atmosmachinery.dm
+++ b/code/modules/atmospherics/machinery/atmosmachinery.dm
@@ -28,7 +28,7 @@
///Bitflag of the initialized directions (NORTH | SOUTH | EAST | WEST)
var/initialize_directions = NONE
///The color of the pipe
- var/pipe_color = COLOR_VERY_LIGHT_GRAY
+ var/pipe_color = ATMOS_COLOR_OMNI
///What layer the pipe is in (from 1 to 5, default 3)
var/piping_layer = PIPING_LAYER_DEFAULT
///The flags of the pipe/component (PIPING_ALL_LAYER | PIPING_ONE_PER_TURF | PIPING_DEFAULT_LAYER_ONLY | PIPING_CARDINAL_AUTONORMALIZE)
@@ -342,7 +342,7 @@
return FALSE
//if the target does not have the same color and it does not have all color connection flag[which allows it to be connected regardless of color] & one of the pipes is not gray[allowing for connection regardless] then we are out
- if(target.pipe_color != pipe_color && !((target.pipe_flags | pipe_flags) & PIPING_ALL_COLORS) && target.pipe_color != COLOR_VERY_LIGHT_GRAY && pipe_color != COLOR_VERY_LIGHT_GRAY)
+ if(target.pipe_color != pipe_color && !((target.pipe_flags | pipe_flags) & PIPING_ALL_COLORS) && target.pipe_color != ATMOS_COLOR_OMNI && pipe_color != ATMOS_COLOR_OMNI)
return FALSE
return TRUE
@@ -523,7 +523,7 @@
* * piping_layer - the piping_layer the device is in, used inside PIPING_LAYER_SHIFT
* * trinary - if TRUE we also use PIPING_FORWARD_SHIFT on layer 1 and 5 for trinary devices (filters and mixers)
*/
-/obj/machinery/atmospherics/proc/get_pipe_image(iconfile, iconstate, direction, color = COLOR_VERY_LIGHT_GRAY, piping_layer = 3, trinary = FALSE)
+/obj/machinery/atmospherics/proc/get_pipe_image(iconfile, iconstate, direction, color = ATMOS_COLOR_OMNI, piping_layer = 3, trinary = FALSE)
var/image/pipe_overlay = image(iconfile, iconstate, dir = direction)
pipe_overlay.color = color
PIPING_LAYER_SHIFT(pipe_overlay, piping_layer)
diff --git a/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.dm
index 84237309374..58e1f619a73 100644
--- a/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.dm
+++ b/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.dm
@@ -29,6 +29,7 @@
cut_overlays()
if(showpipe)
var/image/cap = get_pipe_image(icon, "dpvent_cap", dir, pipe_color, piping_layer = piping_layer)
+ cap.appearance_flags |= RESET_COLOR|KEEP_APART
add_overlay(cap)
if(!on || !is_operational)
diff --git a/code/modules/atmospherics/machinery/components/components_base.dm b/code/modules/atmospherics/machinery/components/components_base.dm
index ded9110bdfd..6001042453b 100644
--- a/code/modules/atmospherics/machinery/components/components_base.dm
+++ b/code/modules/atmospherics/machinery/components/components_base.dm
@@ -78,14 +78,14 @@
continue
var/obj/machinery/atmospherics/node = nodes[i]
var/node_dir = get_dir(src, node)
- var/mutable_appearance/pipe_appearance = mutable_appearance('icons/obj/pipes_n_cables/pipe_underlays.dmi', "intact_[node_dir]_[underlay_pipe_layer]")
- pipe_appearance.color = node.pipe_color
+ var/mutable_appearance/pipe_appearance = mutable_appearance('icons/obj/pipes_n_cables/pipe_underlays.dmi', "intact_[node_dir]_[underlay_pipe_layer]", appearance_flags = RESET_COLOR|KEEP_APART)
+ pipe_appearance.color = (node.pipe_color == ATMOS_COLOR_OMNI || istype(node, /obj/machinery/atmospherics/pipe/color_adapter)) ? pipe_color : node.pipe_color
underlays += pipe_appearance
connected |= node_dir
for(var/direction in GLOB.cardinals)
if((initialize_directions & direction) && !(connected & direction))
- var/mutable_appearance/pipe_appearance = mutable_appearance('icons/obj/pipes_n_cables/pipe_underlays.dmi', "exposed_[direction]_[underlay_pipe_layer]")
+ var/mutable_appearance/pipe_appearance = mutable_appearance('icons/obj/pipes_n_cables/pipe_underlays.dmi', "exposed_[direction]_[underlay_pipe_layer]", appearance_flags = RESET_COLOR|KEEP_APART)
pipe_appearance.color = pipe_color
underlays += pipe_appearance
@@ -330,7 +330,7 @@
connect_nodes()
/obj/machinery/atmospherics/components/update_layer()
- layer = (showpipe ? initial(layer) : ABOVE_OPEN_TURF_LAYER) + (piping_layer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_LCHANGE + (GLOB.pipe_colors_ordered[pipe_color] * 0.001)
+ layer = (showpipe ? initial(layer) : BELOW_CATWALK_LAYER) + (piping_layer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_LCHANGE + (GLOB.pipe_colors_ordered[pipe_color] * 0.001)
/**
* Handles air relocation to the pipenet/environment
diff --git a/code/modules/atmospherics/machinery/components/tank.dm b/code/modules/atmospherics/machinery/components/tank.dm
index 118e1444ad6..57960bc9ec2 100644
--- a/code/modules/atmospherics/machinery/components/tank.dm
+++ b/code/modules/atmospherics/machinery/components/tank.dm
@@ -2,7 +2,8 @@
/obj/machinery/atmospherics/components/tank
icon = 'icons/obj/pipes_n_cables/stationary_canisters.dmi'
- icon_state = "smooth"
+ icon_state = "canister-0"
+ base_icon_state = "canister"
name = "pressure tank"
desc = "A large vessel containing pressurized gas."
@@ -20,13 +21,14 @@
initialize_directions = NONE
custom_reconcilation = TRUE
- smoothing_flags = SMOOTH_CORNERS | SMOOTH_OBJ
+ smoothing_flags = SMOOTH_BITMASK | SMOOTH_OBJ
smoothing_groups = SMOOTH_GROUP_GAS_TANK
canSmoothWith = SMOOTH_GROUP_GAS_TANK
appearance_flags = KEEP_TOGETHER|LONG_GLIDE
greyscale_config = /datum/greyscale_config/stationary_canister
greyscale_colors = "#ffffff"
+ var/overlay_greyscale_config = /datum/greyscale_config/stationary_canister_overlays
///The image showing the gases inside of the tank
var/image/window
@@ -69,7 +71,7 @@
if(!knob_overlays)
knob_overlays = list()
for(var/dir in GLOB.cardinals)
- knob_overlays["[dir]"] = image('icons/obj/pipes_n_cables/stationary_canisters.dmi', icon_state = "knob", dir = dir, layer = FLOAT_LAYER)
+ knob_overlays["[dir]"] = image('icons/obj/pipes_n_cables/stationary_canisters_misc.dmi', icon_state = "knob", dir = dir, layer = FLOAT_LAYER)
if(!crack_states)
crack_states = list()
@@ -81,7 +83,7 @@
AddComponent(/datum/component/gas_leaker, leak_rate = 0.05)
AddElement(/datum/element/volatile_gas_storage)
- AddElement(/datum/element/crackable, 'icons/obj/pipes_n_cables/stationary_canisters.dmi', crack_states)
+ AddElement(/datum/element/crackable, 'icons/obj/pipes_n_cables/stationary_canisters_misc.dmi', crack_states)
RegisterSignal(src, COMSIG_MERGER_ADDING, PROC_REF(merger_adding))
RegisterSignal(src, COMSIG_MERGER_REMOVING, PROC_REF(merger_removing))
@@ -318,12 +320,13 @@
if(!air_contents)
window = null
return
+ var/icon/greyscaled_icon = SSgreyscale.GetColoredIconByType(overlay_greyscale_config, greyscale_colors)
- window = image(icon, icon_state = "window-bg", layer = FLOAT_LAYER)
+ window = image(greyscaled_icon, icon_state = "window-bg", layer = FLOAT_LAYER)
var/static/alpha_filter
if(!alpha_filter) // Gotta do this separate since the icon may not be correct at world init
- alpha_filter = filter(type="alpha", icon = icon('icons/obj/pipes_n_cables/stationary_canisters.dmi', "window-bg"))
+ alpha_filter = filter(type="alpha", icon = icon('icons/obj/pipes_n_cables/stationary_canisters_misc.dmi', "window-bg"))
var/list/new_underlays = list()
for(var/obj/effect/overlay/gas/gas as anything in air_contents.return_visuals(get_turf(src)))
@@ -331,7 +334,7 @@
new_underlay.filters = alpha_filter
new_underlays += new_underlay
- var/image/foreground = image(icon, icon_state = "window-fg", layer = FLOAT_LAYER)
+ var/image/foreground = image(greyscaled_icon, icon_state = "window-fg", layer = FLOAT_LAYER)
foreground.underlays = new_underlays
window.overlays = list(foreground)
@@ -500,7 +503,7 @@
// Tank Frame Structure
/obj/structure/tank_frame
- icon = 'icons/obj/pipes_n_cables/stationary_canisters.dmi'
+ icon = 'icons/obj/pipes_n_cables/stationary_canisters_misc.dmi'
icon_state = "frame"
anchored = FALSE
density = TRUE
diff --git a/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm b/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm
index 8f7aa4a2d57..41fb240c846 100644
--- a/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm
+++ b/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm
@@ -52,7 +52,9 @@
if(!(direction & initialize_directions))
continue
- . += get_pipe_image(icon, "cap", direction, pipe_color, piping_layer, TRUE)
+ var/image/cap = get_pipe_image(icon, "cap", direction, pipe_color, piping_layer, TRUE)
+ cap.appearance_flags |= RESET_COLOR|KEEP_APART
+ . += cap
/obj/machinery/atmospherics/components/trinary/mixer/update_icon_nopipes()
var/on_state = on && nodes[1] && nodes[2] && nodes[3] && is_operational
diff --git a/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm b/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm
index c0b584d9029..95a2a47b931 100644
--- a/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm
+++ b/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm
@@ -77,7 +77,9 @@
cut_overlays()
if(showpipe)
// everything is already shifted so don't shift the cap
- add_overlay(get_pipe_image(icon, "inje_cap", initialize_directions, pipe_color))
+ var/image/cap = get_pipe_image(icon, "inje_cap", initialize_directions, pipe_color)
+ cap.appearance_flags |= RESET_COLOR|KEEP_APART
+ add_overlay(cap)
else
PIPING_LAYER_SHIFT(src, PIPING_LAYER_DEFAULT)
diff --git a/code/modules/atmospherics/machinery/components/unary_devices/passive_vent.dm b/code/modules/atmospherics/machinery/components/unary_devices/passive_vent.dm
index 4ac0e959e40..a68876b797f 100644
--- a/code/modules/atmospherics/machinery/components/unary_devices/passive_vent.dm
+++ b/code/modules/atmospherics/machinery/components/unary_devices/passive_vent.dm
@@ -19,6 +19,7 @@
cut_overlays()
if(showpipe)
var/image/cap = get_pipe_image(icon, "vent_cap", initialize_directions, pipe_color)
+ cap.appearance_flags |= RESET_COLOR|KEEP_APART
add_overlay(cap)
else
PIPING_LAYER_SHIFT(src, PIPING_LAYER_DEFAULT)
diff --git a/code/modules/atmospherics/machinery/components/unary_devices/portables_connector.dm b/code/modules/atmospherics/machinery/components/unary_devices/portables_connector.dm
index f47d6d5b069..e14d010ab4b 100644
--- a/code/modules/atmospherics/machinery/components/unary_devices/portables_connector.dm
+++ b/code/modules/atmospherics/machinery/components/unary_devices/portables_connector.dm
@@ -34,6 +34,7 @@
cut_overlays()
if(showpipe)
var/image/cap = get_pipe_image(icon, "connector_cap", initialize_directions, pipe_color)
+ cap.appearance_flags |= RESET_COLOR|KEEP_APART
add_overlay(cap)
else
PIPING_LAYER_SHIFT(src, PIPING_LAYER_DEFAULT)
diff --git a/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm b/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm
index cb49e572fd1..df4bfd21af8 100644
--- a/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm
+++ b/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm
@@ -129,7 +129,9 @@
if(!initial(icon))
return
var/mutable_appearance/thermo_overlay = new(initial(icon))
- . += get_pipe_image(thermo_overlay, "pipe", dir, pipe_color, piping_layer)
+ var/image/pipe = get_pipe_image(thermo_overlay, "pipe", dir, pipe_color, piping_layer)
+ pipe.appearance_flags |= RESET_COLOR|KEEP_APART
+ . += pipe
/obj/machinery/atmospherics/components/unary/thermomachine/examine(mob/user)
. = ..()
diff --git a/code/modules/atmospherics/machinery/pipes/bridge_pipe.dm b/code/modules/atmospherics/machinery/pipes/bridge_pipe.dm
index 4c1cd63016c..a15cc335aef 100644
--- a/code/modules/atmospherics/machinery/pipes/bridge_pipe.dm
+++ b/code/modules/atmospherics/machinery/pipes/bridge_pipe.dm
@@ -30,4 +30,4 @@
. += center
/obj/machinery/atmospherics/pipe/bridge_pipe/update_layer()
- layer = (HAS_TRAIT(src, TRAIT_UNDERFLOOR) ? ABOVE_OPEN_TURF_LAYER + 1 : initial(layer))
+ layer = (HAS_TRAIT(src, TRAIT_UNDERFLOOR) ? BELOW_CATWALK_LAYER + 1 : initial(layer))
diff --git a/code/modules/atmospherics/machinery/pipes/color_adapter.dm b/code/modules/atmospherics/machinery/pipes/color_adapter.dm
index 06812aaa649..a33376c16cc 100644
--- a/code/modules/atmospherics/machinery/pipes/color_adapter.dm
+++ b/code/modules/atmospherics/machinery/pipes/color_adapter.dm
@@ -47,7 +47,12 @@
for(var/i in 1 to device_type)
if(!nodes[i])
continue
- var/image/pipe = get_pipe_image('icons/obj/pipes_n_cables/manifold.dmi', "pipe-3", get_dir(src, nodes[i]), nodes[i].pipe_color)
+ var/applied_color = nodes[i].pipe_color
+ var/node_dir = get_dir(src, nodes[i])
+ if (istype(nodes[i], /obj/machinery/atmospherics/pipe/color_adapter) && ((node_dir & (SOUTH|EAST)) || nodes[i].pipe_color == ATMOS_COLOR_OMNI) && pipe_color != ATMOS_COLOR_OMNI)
+ applied_color = pipe_color
+ var/image/pipe = get_pipe_image('icons/obj/pipes_n_cables/manifold.dmi', "pipe-3", node_dir, applied_color)
+ pipe.appearance_flags |= RESET_COLOR|KEEP_APART
PIPING_LAYER_DOUBLE_SHIFT(pipe, piping_layer)
pipe.layer = layer + 0.01
. += pipe
diff --git a/code/modules/atmospherics/machinery/pipes/layermanifold.dm b/code/modules/atmospherics/machinery/pipes/layermanifold.dm
index 9e6666172fa..135d222a92e 100644
--- a/code/modules/atmospherics/machinery/pipes/layermanifold.dm
+++ b/code/modules/atmospherics/machinery/pipes/layermanifold.dm
@@ -41,7 +41,7 @@
nodes = list()
/obj/machinery/atmospherics/pipe/layer_manifold/update_layer()
- layer = (HAS_TRAIT(src, TRAIT_UNDERFLOOR) ? ABOVE_OPEN_TURF_LAYER : initial(layer)) + (PIPING_LAYER_MAX * PIPING_LAYER_LCHANGE) //This is above everything else.
+ layer = (HAS_TRAIT(src, TRAIT_UNDERFLOOR) ? BELOW_CATWALK_LAYER : initial(layer)) + (PIPING_LAYER_MAX * PIPING_LAYER_LCHANGE) //This is above everything else.
/obj/machinery/atmospherics/pipe/layer_manifold/update_overlays()
. = ..()
@@ -63,17 +63,20 @@
if(istype(machine_check, /obj/machinery/atmospherics/pipe/layer_manifold))
for(var/i in PIPING_LAYER_MIN to PIPING_LAYER_MAX)
- . += get_attached_image(get_dir(src, machine_check), i, COLOR_VERY_LIGHT_GRAY)
+ . += get_attached_image(get_dir(src, machine_check), i, machine_check.pipe_color == pipe_color ? pipe_color : ATMOS_COLOR_OMNI)
return
if(istype(machine_check, /obj/machinery/atmospherics/components/unary/airlock_pump))
. += get_attached_image(get_dir(src, machine_check), 4, COLOR_BLUE)
//. += get_attached_image(get_dir(src, machine_check), 2, COLOR_RED) // Only the distro node is added currently to the pipenet, it doesn't merge the pipenet with the waste node
return
- . += get_attached_image(get_dir(src, machine_check), machine_check.piping_layer, machine_check.pipe_color)
+ var/passed_color = machine_check.pipe_color
+ if(istype(machine_check, /obj/machinery/atmospherics/pipe/color_adapter) || machine_check.pipe_color == ATMOS_COLOR_OMNI)
+ passed_color = pipe_color
+ . += get_attached_image(get_dir(src, machine_check), machine_check.piping_layer, passed_color)
/obj/machinery/atmospherics/pipe/layer_manifold/proc/get_attached_image(p_dir, p_layer, p_color)
var/working_layer = FLOAT_LAYER - HAS_TRAIT(src, TRAIT_UNDERFLOOR) ? 1 : 0.01
- var/mutable_appearance/muta = mutable_appearance('icons/obj/pipes_n_cables/layer_manifold_underlays.dmi', "intact_[p_dir]_[p_layer]", layer = working_layer, appearance_flags = RESET_COLOR)
+ var/mutable_appearance/muta = mutable_appearance('icons/obj/pipes_n_cables/layer_manifold_underlays.dmi', "intact_[p_dir]_[p_layer]", layer = working_layer, appearance_flags = RESET_COLOR|KEEP_APART)
muta.color = p_color
return muta
diff --git a/code/modules/atmospherics/machinery/pipes/mapping.dm b/code/modules/atmospherics/machinery/pipes/mapping.dm
index dce09be9092..35f5e521ec5 100644
--- a/code/modules/atmospherics/machinery/pipes/mapping.dm
+++ b/code/modules/atmospherics/machinery/pipes/mapping.dm
@@ -80,7 +80,7 @@
HELPER_PARTIAL_NAMED(/obj/machinery/atmospherics/pipe/multiz/##Type, "adapter", Name, Color) \
HELPER(yellow, COLOR_YELLOW)
-HELPER(general, COLOR_VERY_LIGHT_GRAY)
+HELPER(general, ATMOS_COLOR_OMNI)
HELPER(cyan, COLOR_CYAN)
HELPER(green, COLOR_VIBRANT_LIME)
HELPER(orange, COLOR_ENGINEERING_ORANGE)
diff --git a/code/modules/atmospherics/machinery/pipes/multiz.dm b/code/modules/atmospherics/machinery/pipes/multiz.dm
index ebe29531316..0d82afa3972 100644
--- a/code/modules/atmospherics/machinery/pipes/multiz.dm
+++ b/code/modules/atmospherics/machinery/pipes/multiz.dm
@@ -42,10 +42,11 @@
/obj/machinery/atmospherics/pipe/multiz/update_overlays()
. = ..()
- pipe.color = front_node ? front_node.pipe_color : rgb(255, 255, 255)
+ pipe.appearance_flags |= RESET_COLOR|KEEP_APART
+ pipe.color = front_node ? front_node.pipe_color : ATMOS_COLOR_OMNI
pipe.icon_state = "pipe-[piping_layer]"
. += pipe
- center.pixel_x = PIPING_LAYER_P_X * (piping_layer - PIPING_LAYER_DEFAULT)
+ center.pixel_w = PIPING_LAYER_P_X * (piping_layer - PIPING_LAYER_DEFAULT)
. += center
///Attempts to locate a multiz pipe that's above us, if it finds one it merges us into its pipenet
diff --git a/code/modules/atmospherics/machinery/pipes/pipes.dm b/code/modules/atmospherics/machinery/pipes/pipes.dm
index b7090644f24..efba5d2d344 100644
--- a/code/modules/atmospherics/machinery/pipes/pipes.dm
+++ b/code/modules/atmospherics/machinery/pipes/pipes.dm
@@ -139,4 +139,4 @@
current_node.update_icon()
/obj/machinery/atmospherics/pipe/update_layer()
- layer = (HAS_TRAIT(src, TRAIT_UNDERFLOOR) ? ABOVE_OPEN_TURF_LAYER : initial(layer)) + (piping_layer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_LCHANGE + (GLOB.pipe_colors_ordered[pipe_color] * 0.0001)
+ layer = (HAS_TRAIT(src, TRAIT_UNDERFLOOR) ? BELOW_CATWALK_LAYER : initial(layer)) + (piping_layer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_LCHANGE + (GLOB.pipe_colors_ordered[pipe_color] * 0.0001)
diff --git a/code/modules/autowiki/pages/fishing.dm b/code/modules/autowiki/pages/fishing.dm
index ce2872235bb..57ce95712fd 100644
--- a/code/modules/autowiki/pages/fishing.dm
+++ b/code/modules/autowiki/pages/fishing.dm
@@ -118,7 +118,6 @@
"name" = escape_value(trait.name),
"description" = escape_value(trait.catalog_description),
"inheritability" = trait.inheritability,
- "inheritability_diff" = trait.diff_traits_inheritability,
))
diff --git a/code/modules/awaymissions/away_props.dm b/code/modules/awaymissions/away_props.dm
index 90fc3031088..64d6acbd373 100644
--- a/code/modules/awaymissions/away_props.dm
+++ b/code/modules/awaymissions/away_props.dm
@@ -56,7 +56,7 @@
name = "pit grate"
icon = 'icons/obj/smooth_structures/lattice.dmi'
icon_state = "lattice-255"
- layer = ABOVE_OPEN_TURF_LAYER
+ layer = BELOW_CATWALK_LAYER
plane = FLOOR_PLANE
anchored = TRUE
obj_flags = CAN_BE_HIT | BLOCK_Z_OUT_DOWN | BLOCK_Z_IN_UP
@@ -108,7 +108,7 @@
/obj/structure/pitgrate/proc/reset_plane()
SET_PLANE_IMPLICIT(src, FLOOR_PLANE)
- layer = ABOVE_OPEN_TURF_LAYER
+ layer = BELOW_CATWALK_LAYER
/obj/structure/pitgrate/Destroy()
if(hidden)
diff --git a/code/modules/awaymissions/mission_code/snowdin.dm b/code/modules/awaymissions/mission_code/snowdin.dm
index db48b1b31d1..927b608ada8 100644
--- a/code/modules/awaymissions/mission_code/snowdin.dm
+++ b/code/modules/awaymissions/mission_code/snowdin.dm
@@ -156,7 +156,7 @@
/turf/open/floor/iron/dark/snowdin
initial_gas_mix = FROZEN_ATMOS
planetary_atmos = TRUE
- temperature = 180
+ temperature = ICEBOX_MIN_TEMPERATURE
/////////// papers
diff --git a/code/modules/basketball/basketball_map_loading.dm b/code/modules/basketball/basketball_map_loading.dm
index 5ed18997dde..1dac2043668 100644
--- a/code/modules/basketball/basketball_map_loading.dm
+++ b/code/modules/basketball/basketball_map_loading.dm
@@ -1,9 +1,6 @@
/obj/effect/landmark/basketball
name = "Basketball Map Spawner"
-/obj/effect/landmark/basketball/game_area
- name = "Basketball Game Location"
-
/obj/effect/landmark/basketball/team_spawn
name = "Basketball Team Spawner"
var/game_id = "basketball"
@@ -35,66 +32,79 @@
flags_1 = NONE
area_flags = UNIQUE_AREA | NOTELEPORT | NO_DEATH_MESSAGE | BLOCK_SUICIDE
-/datum/map_template/basketball
- should_place_on_top = FALSE
+/datum/lazy_template/basketball
+ map_dir = "_maps/minigame/basketball"
+ place_on_top = TRUE
+ turf_reservation_type = /datum/turf_reservation/turf_not_baseturf
+ /// Map UI Name
+ var/name
+ /// Map Description
var/description = ""
/// The name of the basketball team
var/team_name
/// The basketball teams home stadium uniform
var/home_team_uniform
-/datum/map_template/basketball/stadium
+/datum/lazy_template/basketball/stadium
name = "Stadium"
description = "The homecourt for the Nanotrasen Basketball Department."
- mappath = "_maps/map_files/basketball/stadium.dmm"
+ map_name = "stadium"
+ key = "stadium"
team_name = "Nanotrasen Basketball Department"
home_team_uniform = /datum/outfit/basketball/nanotrasen
-/datum/map_template/basketball/lusty_xenomorphs
+/datum/lazy_template/basketball/lusty_xenomorphs
name = "Lusty Xenomorphs Stadium"
description = "The homecourt of the Lusty Xenomorphs."
- mappath = "_maps/map_files/basketball/lusty_xenomorphs.dmm"
+ map_name = "lusty_xenomorphs"
+ key = "lusty_xenomorphs"
team_name = "Lusty Xenomorphs"
home_team_uniform = /datum/outfit/basketball/lusty_xenomorphs
-/datum/map_template/basketball/space_surfers
+/datum/lazy_template/basketball/space_surfers
name = "Space Surfers Stadium"
description = "The homecourt of the Space Surfers."
- mappath = "_maps/map_files/basketball/space_surfers.dmm"
+ map_name = "space_surfers"
+ key = "space_surfers"
team_name = "Space Surfers"
home_team_uniform = /datum/outfit/basketball/space_surfers
-/datum/map_template/basketball/greytide_worldwide
+/datum/lazy_template/basketball/greytide_worldwide
name = "Greytide Worldwide Stadium"
description = "The homecourt of the Greytide Worldwide."
- mappath = "_maps/map_files/basketball/greytide_worldwide.dmm"
+ map_name = "greytide_worldwide"
+ key = "greytide_worldwide"
team_name = "Greytide Worldwide"
home_team_uniform = /datum/outfit/basketball/greytide_worldwide
-/datum/map_template/basketball/ass_blast_usa
+/datum/lazy_template/basketball/ass_blast_usa
name = "Ass Blast USA Stadium"
description = "The homecourt of the Ass Blast USA."
- mappath = "_maps/map_files/basketball/ass_blast_usa.dmm"
+ map_name = "ass_blast_usa"
+ key = "ass_blast_usa"
team_name = "Ass Blast USA"
home_team_uniform = /datum/outfit/basketball/ass_blast_usa
-/datum/map_template/basketball/soviet_bears
+/datum/lazy_template/basketball/soviet_bears
name = "Soviet Bears Stadium"
description = "The homecourt of the Soviet Bears."
- mappath = "_maps/map_files/basketball/soviet_bears.dmm"
+ map_name = "soviet_bear"
+ key = "soviet_bear"
team_name = "Soviet Bears"
home_team_uniform = /datum/outfit/basketball/soviet_bears
-/datum/map_template/basketball/ash_gladiators
+/datum/lazy_template/basketball/ash_gladiators
name = "Ash Gladiators Stadium"
description = "The homecourt of the Ash Gladiators."
- mappath = "_maps/map_files/basketball/ash_gladiators.dmm"
+ map_name = "ash_gladiators"
+ key = "ash_gladiators"
team_name = "Ash Gladiators"
home_team_uniform = /datum/outfit/basketball/ash_gladiators
-/datum/map_template/basketball/beach_bums
+/datum/lazy_template/basketball/beach_bums
name = "Beach Bums Stadium"
description = "The homecourt of the Beach Bums."
- mappath = "_maps/map_files/basketball/beach_bums.dmm"
+ map_name = "beach_bums"
+ key = "beach_bums"
team_name = "Beach Bums"
home_team_uniform = /datum/outfit/basketball/beach_bums
diff --git a/code/modules/basketball/controller.dm b/code/modules/basketball/controller.dm
index d7f58f11903..de32aa766bb 100644
--- a/code/modules/basketball/controller.dm
+++ b/code/modules/basketball/controller.dm
@@ -18,26 +18,29 @@ GLOBAL_VAR(basketball_game)
*/
/datum/basketball_controller
/// Template picked when the game starts. used for the name and desc reading
- var/datum/map_template/basketball/current_map
- /// Map generation tool that deletes the current map after the game finishes
- var/datum/map_generator/massdelete/map_deleter
+ var/datum/lazy_template/basketball/current_map
+ /// Our turf reservation AKA where the arena is
+ var/datum/turf_reservation/location
/// Total amount of time basketball is played for
var/game_duration = 3 MINUTES
/// List of all players ckeys involved in the minigame
- var/list/minigame_players = list()
+ var/list/minigame_players_ckeys = list()
+ /// List of all player mobs involved in the minigame
+ var/list/minigame_basketball_mobs = list()
/// Spawn points for home team players
var/list/home_team_landmarks = list()
/// List of home team players ckeys
- var/list/home_team_players = list()
+ var/list/home_team_ckeys = list()
+
/// The basketball hoop used by home team
var/obj/structure/hoop/minigame/home_hoop
/// Spawn points for away team players
var/list/away_team_landmarks = list()
/// List of away team players ckeys
- var/list/away_team_players = list()
+ var/list/away_team_ckeys = list()
/// The basketball hoop used by away team
var/obj/structure/hoop/minigame/away_hoop
@@ -46,14 +49,17 @@ GLOBAL_VAR(basketball_game)
/datum/basketball_controller/New()
. = ..()
+ if(GLOB.basketball_game)
+ qdel(src)
+ CRASH("A basketball controller already exists.")
GLOB.basketball_game = src
- map_deleter = new
/datum/basketball_controller/Destroy(force)
. = ..()
GLOB.basketball_game = null
+ current_map = null
+ location = null
end_game()
- qdel(map_deleter)
/**
* Triggers at beginning of the game when there is a confirmed list of valid, ready players.
@@ -68,18 +74,13 @@ GLOBAL_VAR(basketball_game)
* * ready_players: list of filtered, sane players (so not playing or disconnected) for the game to put into roles
*/
/datum/basketball_controller/proc/prepare_game(ready_players)
- var/list/possible_maps = subtypesof(/datum/map_template/basketball)
- var/turf/spawn_area = get_turf(locate(/obj/effect/landmark/basketball/game_area) in GLOB.landmarks_list)
+ var/list/possible_maps = subtypesof(/datum/lazy_template/basketball)
current_map = pick(possible_maps)
current_map = new current_map
-
- if(!spawn_area)
- CRASH("No spawn area detected for Basketball Minigame!")
- var/list/bounds = current_map.load(spawn_area)
- if(!bounds)
+ location = current_map.lazy_load()
+ if(!location)
CRASH("Loading basketball map failed!")
- map_deleter.defineRegion(spawn_area, locate(spawn_area.x + 23, spawn_area.y + 25, spawn_area.z), replace = TRUE) //so we're ready to mass delete when round ends
var/turf/home_hoop_turf = get_turf(locate(/obj/effect/landmark/basketball/team_spawn/home_hoop) in GLOB.landmarks_list)
if(!home_hoop_turf)
@@ -134,9 +135,8 @@ GLOBAL_VAR(basketball_game)
* Called when the game is setting up, AFTER map is loaded but BEFORE the game start. Creates and places each body and gives the correct player key
*/
/datum/basketball_controller/proc/create_bodies(ready_players)
- var/list/possible_away_teams = subtypesof(/datum/map_template/basketball) - current_map.type
- var/datum/map_template/basketball/away_map = pick(possible_away_teams)
- away_map = new away_map
+ var/list/possible_away_teams = subtypesof(/datum/lazy_template/basketball) - current_map.type
+ var/datum/lazy_template/basketball/away_map = pick(possible_away_teams)
var/list/home_spawnpoints = home_team_landmarks.Copy()
var/list/away_spawnpoints = away_team_landmarks.Copy()
@@ -148,7 +148,7 @@ GLOBAL_VAR(basketball_game)
// rename the hoops to their appropriate teams names
home_hoop.name = current_map.team_name
- away_hoop.name = away_map.team_name
+ away_hoop.name = away_map::team_name
var/player_count = 0
// if total players is odd number then the odd man out is a referee
@@ -156,7 +156,7 @@ GLOBAL_VAR(basketball_game)
for(var/player_key in ready_players)
player_count++
- minigame_players |= player_key
+ minigame_players_ckeys |= player_key
var/is_player_referee = (player_count == length(ready_players) && minigame_has_referee)
@@ -165,16 +165,16 @@ GLOBAL_VAR(basketball_game)
team_uniform = /datum/outfit/basketball/referee
else if(player_count % 2) // odd is home team
spawn_landmark = pick_n_take(home_spawnpoints)
- home_team_players |= player_key
+ home_team_ckeys |= player_key
away_hoop.team_ckeys |= player_key // to restrict scoring on opponents hoop rapidly
team_uniform = current_map.home_team_uniform
team_name = current_map.team_name
else // even is away team
spawn_landmark = pick_n_take(away_spawnpoints)
- away_team_players |= player_key
+ away_team_ckeys |= player_key
home_hoop.team_ckeys |= player_key // to restrict scoring on opponents hoop rapidly
- team_uniform = away_map.home_team_uniform
- team_name = away_map.team_name
+ team_uniform = away_map::home_team_uniform
+ team_name = away_map::team_name
var/mob/living/carbon/human/baller = new(get_turf(spawn_landmark))
@@ -199,6 +199,7 @@ GLOBAL_VAR(basketball_game)
old_body = player_client.mob.mind.current, \
)
baller.PossessByPlayer(player_key)
+ minigame_basketball_mobs |= baller
SEND_SOUND(baller, sound('sound/items/whistle/whistle.ogg', volume=30))
if(is_player_referee)
@@ -221,34 +222,31 @@ GLOBAL_VAR(basketball_game)
if(home_hoop.total_score == away_hoop.total_score)
is_game_draw = TRUE
- winner_team_ckeys |= home_team_players
- winner_team_ckeys |= away_team_players
+ winner_team_ckeys |= home_team_ckeys
+ winner_team_ckeys |= away_team_ckeys
else if(home_hoop.total_score > away_hoop.total_score)
- winner_team_ckeys = away_team_players
+ winner_team_ckeys = away_team_ckeys
winner_team_name = away_hoop.name
- loser_team_ckeys = home_team_players
+ loser_team_ckeys = home_team_ckeys
else if(home_hoop.total_score < away_hoop.total_score)
- winner_team_ckeys = home_team_players
+ winner_team_ckeys = home_team_ckeys
winner_team_name = home_hoop.name
- loser_team_ckeys = away_team_players
+ loser_team_ckeys = away_team_ckeys
if(is_game_draw)
for(var/ckey in winner_team_ckeys)
var/mob/living/competitor = get_mob_by_ckey(ckey)
- var/area/mob_area = get_area(competitor)
- if(istype(competitor) && istype(mob_area, /area/centcom/basketball))
+ if(competitor in minigame_basketball_mobs)
to_chat(competitor, span_hypnophrase("The game resulted in a draw!"))
else
for(var/ckey in winner_team_ckeys)
var/mob/living/competitor = get_mob_by_ckey(ckey)
- var/area/mob_area = get_area(competitor)
- if(istype(competitor) && istype(mob_area, /area/centcom/basketball))
+ if(competitor in minigame_basketball_mobs)
to_chat(competitor, span_hypnophrase("[winner_team_name] team wins!"))
for(var/ckey in loser_team_ckeys)
var/mob/living/competitor = get_mob_by_ckey(ckey)
- var/area/mob_area = get_area(competitor)
- if(istype(competitor) && istype(mob_area, /area/centcom/basketball))
+ if(competitor in minigame_basketball_mobs)
to_chat(competitor, span_hypnophrase("[winner_team_name] team wins!"))
competitor.dust()
@@ -258,19 +256,20 @@ GLOBAL_VAR(basketball_game)
* Cleans up the game, resetting variables back to the beginning and removing the map with the generator.
*/
/datum/basketball_controller/proc/end_game()
- for(var/ckey in minigame_players)
- var/mob/living/competitor = get_mob_by_ckey(ckey)
- var/area/mob_area = get_area(competitor)
- if(istype(competitor) && istype(mob_area, /area/centcom/basketball))
- QDEL_NULL(competitor)
-
- map_deleter.generate() //remove the map, it will be loaded at the start of the next one
- QDEL_NULL(current_map)
-
- //map gen does not deal with landmarks
+ for(var/mob/living/living in minigame_basketball_mobs)
+ living.ghostize(can_reenter_corpse = FALSE) // avoids runtimes when a cliented mob is qdel'd
+ QDEL_LIST(minigame_basketball_mobs)
QDEL_LIST(home_team_landmarks)
QDEL_LIST(away_team_landmarks)
QDEL_LIST(referee_landmark)
+ for(var/obj/effect/landmark/basketball/team_spawn/hoop in GLOB.landmarks_list)
+ qdel(hoop)
+
+ for(var/turf/victimized_turf as anything in location.reserved_turfs) //remove this once clearing turf reservations is actually reliable
+ victimized_turf.empty()
+ current_map.reservations -= location
+ current_map = null
+ QDEL_NULL(location)
/**
* Called when enough players have signed up to fill a setup. DOESN'T NECESSARILY MEAN THE GAME WILL START.
diff --git a/code/modules/basketball/hoop.dm b/code/modules/basketball/hoop.dm
index 82eaee9a8ac..ad4d7ff48f1 100644
--- a/code/modules/basketball/hoop.dm
+++ b/code/modules/basketball/hoop.dm
@@ -54,38 +54,38 @@
/obj/structure/hoop/update_overlays()
. = ..()
- var/dir_offset_x = 0
- var/dir_offset_y = 0
+ var/dir_offset_w = 0
+ var/dir_offset_z = 0
switch(dir)
if(NORTH)
- dir_offset_y = -32
+ dir_offset_z = -32
if(SOUTH)
- dir_offset_y = 32
+ dir_offset_z = 32
if(EAST)
- dir_offset_x = -32
+ dir_offset_w = -32
if(WEST)
- dir_offset_x = 32
+ dir_offset_w = 32
var/mutable_appearance/scoreboard = mutable_appearance('icons/obj/signs.dmi', "basketball_scorecard")
- scoreboard.pixel_x = dir_offset_x
- scoreboard.pixel_y = dir_offset_y
+ scoreboard.pixel_w = dir_offset_w
+ scoreboard.pixel_z = dir_offset_z
. += scoreboard
var/ones = total_score % 10
var/mutable_appearance/ones_overlay = mutable_appearance('icons/obj/signs.dmi', "days_[ones]", layer + 0.01)
- ones_overlay.pixel_x = 4
+ ones_overlay.pixel_w = 4
var/mutable_appearance/emissive_ones_overlay = emissive_appearance('icons/obj/signs.dmi', "days_[ones]", src, alpha = src.alpha)
- emissive_ones_overlay.pixel_x = 4
+ emissive_ones_overlay.pixel_w = 4
scoreboard.add_overlay(ones_overlay)
scoreboard.add_overlay(emissive_ones_overlay)
var/tens = (total_score / 10) % 10
var/mutable_appearance/tens_overlay = mutable_appearance('icons/obj/signs.dmi', "days_[tens]", layer + 0.01)
- tens_overlay.pixel_x = -5
+ tens_overlay.pixel_w = -5
var/mutable_appearance/emissive_tens_overlay = emissive_appearance('icons/obj/signs.dmi', "days_[tens]", src, alpha = src.alpha)
- emissive_tens_overlay.pixel_x = -5
+ emissive_tens_overlay.pixel_w = -5
scoreboard.add_overlay(tens_overlay)
scoreboard.add_overlay(emissive_tens_overlay)
diff --git a/code/modules/bitrunning/antagonists/cyber_police.dm b/code/modules/bitrunning/antagonists/cyber_police.dm
index 2ec8e042572..3e335475ac6 100644
--- a/code/modules/bitrunning/antagonists/cyber_police.dm
+++ b/code/modules/bitrunning/antagonists/cyber_police.dm
@@ -11,7 +11,7 @@
convert_agent()
- var/datum/martial_art/the_sleeping_carp/carp = new()
+ var/datum/martial_art/the_sleeping_carp/carp = new(src)
carp.teach(owner.current)
/datum/outfit/cyber_police
@@ -37,4 +37,3 @@
officer_uniform.has_sensor = NO_SENSORS
officer_uniform.sensor_mode = SENSOR_OFF
user.update_suit_sensors()
-
diff --git a/code/modules/bitrunning/components/avatar_connection.dm b/code/modules/bitrunning/components/avatar_connection.dm
index 5280f803ef7..3615ee37b8e 100644
--- a/code/modules/bitrunning/components/avatar_connection.dm
+++ b/code/modules/bitrunning/components/avatar_connection.dm
@@ -222,7 +222,7 @@
//if your bitrunning avatar somehow manages to acquire and consume a red pill, they will be ejected from the Matrix
-/datum/component/avatar_connection/proc/disconnect_if_red_pill(datum/source, obj/item/reagent_containers/pill/pill, mob/feeder)
+/datum/component/avatar_connection/proc/disconnect_if_red_pill(datum/source, obj/item/reagent_containers/applicator/pill/pill, mob/feeder)
SIGNAL_HANDLER
if(pill.icon_state == "pill4")
full_avatar_disconnect()
diff --git a/code/modules/bitrunning/components/bitrunning_points.dm b/code/modules/bitrunning/components/bitrunning_points.dm
index ae20ec41fb4..b800d586e94 100644
--- a/code/modules/bitrunning/components/bitrunning_points.dm
+++ b/code/modules/bitrunning/components/bitrunning_points.dm
@@ -7,7 +7,6 @@
/datum/component/bitrunning_points/Initialize(datum/lazy_template/virtual_domain/domain)
- . = ..()
if(!isturf(parent))
return COMPONENT_INCOMPATIBLE
diff --git a/code/modules/bitrunning/components/virtual_entity.dm b/code/modules/bitrunning/components/virtual_entity.dm
index dba5e9db34e..52a259a6d04 100644
--- a/code/modules/bitrunning/components/virtual_entity.dm
+++ b/code/modules/bitrunning/components/virtual_entity.dm
@@ -1,19 +1,35 @@
/// Handles all special considerations for "virtual entities" such as bitrunning ghost roles or digital anomaly antagonists.
/datum/component/virtual_entity
- ///The cooldown for balloon alerts, so the player isn't spammed while trying to enter a restricted area.
+ /// The cooldown for balloon alerts, so the player isn't spammed while trying to enter a restricted area.
COOLDOWN_DECLARE(OOB_cooldown)
-/datum/component/virtual_entity/Initialize(obj/machinery/quantum_server)
- . = ..()
+/datum/component/virtual_entity/Initialize(obj/machinery/quantum_server)
if(quantum_server.obj_flags & EMAGGED)
- jailbreak_mobs() //This just sends a message and self-deletes, a bit messy but it works.
- return
+ jailbreak_mobs()
+ return COMPONENT_REDUNDANT
RegisterSignal(parent, COMSIG_MOVABLE_PRE_MOVE, PROC_REF(on_parent_pre_move))
- RegisterSignal(quantum_server, COMSIG_ATOM_EMAG_ACT, PROC_REF(jailbreak_mobs))
+ RegisterSignal(quantum_server, COMSIG_ATOM_EMAG_ACT, PROC_REF(on_emagged))
-///Prevents entry to a certain area if it has flags preventing virtual entities from entering.
+
+/// Self-destructs the component, allowing free-roam by all entities with this restriction.
+/datum/component/virtual_entity/proc/jailbreak_mobs()
+ to_chat(parent, span_bolddanger("You shiver for a moment with a sense of clarity you haven't felt before."))
+ to_chat(parent, span_notice("You could go anywhere , do anything ! You could leave this simulation right now if you wanted!"))
+ to_chat(parent, span_danger("But be warned, quantum entanglement will interfere with any previous lives."))
+ to_chat(parent, span_notice("You'll have just one chance to go nova, and there's no turning back."))
+
+
+/// Remove any restrictions AFTER the mob has spawned
+/datum/component/virtual_entity/proc/on_emagged(datum/source)
+ SIGNAL_HANDLER
+
+ jailbreak_mobs()
+ qdel(src)
+
+
+/// Prevents entry to a certain area if it has flags preventing virtual entities from entering.
/datum/component/virtual_entity/proc/on_parent_pre_move(atom/movable/source, atom/new_location)
SIGNAL_HANDLER
@@ -27,12 +43,3 @@
COOLDOWN_START(src, OOB_cooldown, 2 SECONDS)
return COMPONENT_MOVABLE_BLOCK_PRE_MOVE
-///Self-destructs the component, allowing free-roam by all entities with this restriction.
-/datum/component/virtual_entity/proc/jailbreak_mobs()
- SIGNAL_HANDLER
-
- to_chat(parent, span_bolddanger("You shiver for a moment with a sense of clarity you haven't felt before."))
- to_chat(parent, span_notice("You could go anywhere , do anything ! You could leave this simulation right now if you wanted!"))
- to_chat(parent, span_danger("But be warned, quantum entanglement will interfere with any previous lives."))
- to_chat(parent, span_notice("You'll have just one chance to go nova, and there's no turning back."))
- qdel(src)
diff --git a/code/modules/bitrunning/objects/vendor.dm b/code/modules/bitrunning/objects/vendor.dm
index 96c415b9bfe..c42a954b978 100644
--- a/code/modules/bitrunning/objects/vendor.dm
+++ b/code/modules/bitrunning/objects/vendor.dm
@@ -77,6 +77,7 @@
hidden = TRUE
crate_name = "bitrunning delivery crate"
access = list(ACCESS_BIT_DEN)
+ test_ignored = TRUE
/datum/supply_pack/bitrunning/New(purchaser, cost, list/contains)
. = ..()
diff --git a/code/modules/bitrunning/server/_parent.dm b/code/modules/bitrunning/server/_parent.dm
index f166a82c817..38e6efc76eb 100644
--- a/code/modules/bitrunning/server/_parent.dm
+++ b/code/modules/bitrunning/server/_parent.dm
@@ -49,20 +49,21 @@
/// Cooldown between being able to toggle broadcasting
COOLDOWN_DECLARE(broadcast_toggle_cd)
+
/obj/machinery/quantum_server/post_machine_initialize()
. = ..()
RegisterSignals(src, list(COMSIG_MACHINERY_BROKEN, COMSIG_MACHINERY_POWER_LOST), PROC_REF(on_broken))
RegisterSignal(src, COMSIG_QDELETING, PROC_REF(on_delete))
-/obj/machinery/quantum_server/Destroy(force)
- . = ..()
+/obj/machinery/quantum_server/Destroy(force)
mutation_candidate_refs.Cut()
avatar_connection_refs.Cut()
spawned_threat_refs.Cut()
- QDEL_NULL(exit_turfs)
+ exit_turfs.Cut()
QDEL_NULL(generated_domain)
+ return ..()
/obj/machinery/quantum_server/examine(mob/user)
. = ..()
@@ -88,6 +89,7 @@
if(isobserver(user) && (obj_flags & EMAGGED))
. += span_notice("Ominous warning lights are blinking red. This server has been tampered with.")
+
/obj/machinery/quantum_server/emag_act(mob/user, obj/item/card/emag/emag_card)
. = ..()
@@ -102,6 +104,7 @@
balloon_alert(user, "system jailbroken...")
playsound(src, 'sound/effects/sparks/sparks1.ogg', 35, vary = TRUE)
+
/obj/machinery/quantum_server/update_appearance(updates)
if(isnull(generated_domain) || !is_operational)
set_light(l_on = FALSE)
@@ -110,6 +113,7 @@
set_light(l_range = 2, l_power = 1.5, l_color = is_ready ? LIGHT_COLOR_BABY_BLUE : LIGHT_COLOR_FIRE, l_on = TRUE)
return ..()
+
/obj/machinery/quantum_server/update_icon_state()
if(isnull(generated_domain) || !is_operational)
icon_state = base_icon_state
@@ -118,6 +122,7 @@
icon_state = "[base_icon_state]_[is_ready ? "on" : "off"]"
return ..()
+
/obj/machinery/quantum_server/attackby(obj/item/weapon, mob/user, params)
. = ..()
@@ -129,6 +134,7 @@
capacitor_coefficient = 0.1
points = 100
+
/obj/machinery/quantum_server/crowbar_act(mob/living/user, obj/item/crowbar)
. = ..()
@@ -142,6 +148,7 @@
return TRUE
return FALSE
+
/obj/machinery/quantum_server/screwdriver_act(mob/living/user, obj/item/screwdriver)
. = ..()
@@ -152,6 +159,7 @@
return TRUE
return FALSE
+
/obj/machinery/quantum_server/RefreshParts()
var/capacitor_rating = 1.15
var/datum/stock_part/capacitor/cap = locate() in component_parts
diff --git a/code/modules/bitrunning/server/obj_generation.dm b/code/modules/bitrunning/server/obj_generation.dm
index 57d805e59ec..c9e2e01f681 100644
--- a/code/modules/bitrunning/server/obj_generation.dm
+++ b/code/modules/bitrunning/server/obj_generation.dm
@@ -21,7 +21,7 @@
if(!length(possible_turfs)) // Out of turfs to place a curiosity
return FALSE
- if(generated_domain.secondary_loot_generated >= assoc_value_sum(generated_domain.secondary_loot)) // Out of curiosities to place
+ if(generated_domain.secondary_loot_generated >= counterlist_sum(generated_domain.secondary_loot)) // Out of curiosities to place
return FALSE
shuffle_inplace(possible_turfs)
diff --git a/code/modules/buildmode/submodes/smite.dm b/code/modules/buildmode/submodes/smite.dm
index 7e382926c59..39fa7d150ad 100644
--- a/code/modules/buildmode/submodes/smite.dm
+++ b/code/modules/buildmode/submodes/smite.dm
@@ -37,4 +37,4 @@
to_chat(user, span_notice("No smite selected."))
return
- selected_smite.effect(user, object)
+ selected_smite.do_effect(user, object)
diff --git a/code/modules/capture_the_flag/ctf_map_loading.dm b/code/modules/capture_the_flag/ctf_map_loading.dm
index 9e23d617473..502e8cfe3bd 100644
--- a/code/modules/capture_the_flag/ctf_map_loading.dm
+++ b/code/modules/capture_the_flag/ctf_map_loading.dm
@@ -67,30 +67,30 @@ GLOBAL_DATUM(ctf_spawner, /obj/effect/landmark/ctf)
/datum/map_template/ctf/classic
name = "Classic"
description = "The original CTF map."
- mappath = "_maps/map_files/CTF/classic.dmm"
+ mappath = "_maps/minigame/CTF/classic.dmm"
/datum/map_template/ctf/four_side
name = "Four Side"
description = "A CTF map created to demonstrate 4 team CTF, features a single centred flag rather than one per team."
- mappath = "_maps/map_files/CTF/fourSide.dmm"
+ mappath = "_maps/minigame/CTF/fourSide.dmm"
/datum/map_template/ctf/downtown
name = "Downtown"
description = "A CTF map that takes place in a terrestrial city."
- mappath = "_maps/map_files/CTF/downtown.dmm"
+ mappath = "_maps/minigame/CTF/downtown.dmm"
/datum/map_template/ctf/limbo
name = "Limbo"
description = "A KOTH map that takes place in a wizard den with looping hallways"
- mappath = "_maps/map_files/CTF/limbo.dmm"
+ mappath = "_maps/minigame/CTF/limbo.dmm"
points_to_win = 180
/datum/map_template/ctf/cruiser
name = "Crusier"
description = "A CTF map that takes place across multiple space ships, one carrying a powerful device that can accelerate those who obtain it"
- mappath = "_maps/map_files/CTF/cruiser.dmm"
+ mappath = "_maps/minigame/CTF/cruiser.dmm"
/datum/map_template/ctf/turbine
name = "Turbine"
description = "A CTF map that takes place in a familiar facility. Don't try to hold out mid- There's no sentries in this version."
- mappath = "_maps/map_files/CTF/turbine.dmm"
+ mappath = "_maps/minigame/CTF/turbine.dmm"
diff --git a/code/modules/cargo/bounties/reagent.dm b/code/modules/cargo/bounties/reagent.dm
index 84be661e27c..b12ee087494 100644
--- a/code/modules/cargo/bounties/reagent.dm
+++ b/code/modules/cargo/bounties/reagent.dm
@@ -194,7 +194,7 @@
return ..() && shipped_ammount >= required_ammount
/datum/bounty/pill/applies_to(obj/shipped)
- if(!istype(shipped, /obj/item/reagent_containers/pill))
+ if(!istype(shipped, /obj/item/reagent_containers/applicator/pill))
return FALSE
if(shipped?.reagents.get_reagent_amount(wanted_reagent.type) >= wanted_vol)
return TRUE
diff --git a/code/modules/cargo/exports.dm b/code/modules/cargo/exports.dm
index 5239ebceae2..f2de2cfa8fe 100644
--- a/code/modules/cargo/exports.dm
+++ b/code/modules/cargo/exports.dm
@@ -46,8 +46,9 @@ Then the player gets the profit from selling his own wasted time.
** dry_run: if the item should be actually sold, or if it's just a pirce test
** external_report: works as "transaction" object, pass same one in if you're doing more than one export in single go
** ignore_typecache: typecache containing types that should be completely ignored
+ ** export_market: Defines the market that the items are being sold to.
*/
-/proc/export_item_and_contents(atom/movable/exported_atom, apply_elastic = TRUE, delete_unsold = TRUE, dry_run = FALSE, datum/export_report/external_report, list/ignore_typecache)
+/proc/export_item_and_contents(atom/movable/exported_atom, apply_elastic = TRUE, delete_unsold = TRUE, dry_run = FALSE, datum/export_report/external_report, list/ignore_typecache, export_market = EXPORT_MARKET_STATION)
external_report = init_export(external_report)
var/list/contents = exported_atom.get_all_contents_ignoring(ignore_typecache)
@@ -55,7 +56,7 @@ Then the player gets the profit from selling his own wasted time.
// We go backwards, so it'll be innermost objects sold first. We also make sure nothing is accidentally delete before everything is sold.
var/list/to_delete = list()
for(var/atom/movable/thing as anything in reverse_range(contents))
- var/sold = _export_loop(thing, apply_elastic, dry_run, external_report)
+ var/sold = _export_loop(thing, apply_elastic, dry_run, external_report, export_market)
if(!dry_run && (sold || delete_unsold) && sold != EXPORT_SOLD_DONT_DELETE)
if(ismob(thing))
thing.investigate_log("deleted through cargo export", INVESTIGATE_CARGO)
@@ -68,10 +69,10 @@ Then the player gets the profit from selling his own wasted time.
return external_report
/// It works like export_item_and_contents(), however it ignores the contents. Meaning only `exported_atom` will be valued.
-/proc/export_single_item(atom/movable/exported_atom, apply_elastic = TRUE, delete_unsold = TRUE, dry_run = FALSE, datum/export_report/external_report)
+/proc/export_single_item(atom/movable/exported_atom, apply_elastic = TRUE, delete_unsold = TRUE, dry_run = FALSE, datum/export_report/external_report, export_market = EXPORT_MARKET_STATION)
external_report = init_export(external_report)
- var/sold = _export_loop(exported_atom, apply_elastic, dry_run, external_report)
+ var/sold = _export_loop(exported_atom, apply_elastic, dry_run, external_report, export_market)
if(!dry_run && (sold || delete_unsold) && sold != EXPORT_SOLD_DONT_DELETE)
if(ismob(exported_atom))
exported_atom.investigate_log("deleted through cargo export", INVESTIGATE_CARGO)
@@ -80,10 +81,10 @@ Then the player gets the profit from selling his own wasted time.
return external_report
/// The main bit responsible for selling the item. Shared by export_single_item() and export_item_and_contents()
-/proc/_export_loop(atom/movable/exported_atom, apply_elastic = TRUE, dry_run = FALSE, datum/export_report/external_report)
+/proc/_export_loop(atom/movable/exported_atom, apply_elastic = TRUE, dry_run = FALSE, datum/export_report/external_report, export_market)
var/sold = EXPORT_NOT_SOLD
for(var/datum/export/export as anything in GLOB.exports_list)
- if(export.applies_to(exported_atom, apply_elastic))
+ if(export.applies_to(exported_atom, apply_elastic, export_market))
if(!dry_run && (SEND_SIGNAL(exported_atom, COMSIG_ITEM_PRE_EXPORT) & COMPONENT_STOP_EXPORT))
break
//Don't add value of unscannable items for a dry run report
@@ -106,6 +107,8 @@ Then the player gets the profit from selling his own wasted time.
var/allow_negative_cost = FALSE
/// coefficient used in marginal price calculation that roughly corresponds to the inverse of price elasticity, or "quantity elasticity"
var/k_elasticity = 1/30
+ /// Coefficient used in the recovery of elastic price calculation. See Process, this value and k_elasticity are multiplied together to form the exponent that returns the price to normal.
+ var/k_recovery_elasticity = 1/30
/// The multiplier of the amount sold shown on the report. Useful for exports, such as material, which costs are not strictly per single units sold.
var/amount_report_multiplier = 1
/// Type of the exported object. If none, the export datum is considered base type.
@@ -116,6 +119,8 @@ Then the player gets the profit from selling his own wasted time.
var/list/exclude_types = list()
/// Set to false if the cost shouldn't be determinable by an export scanner
var/scannable = TRUE
+ /// Export market that this export applies to. Defaults to EXPORT_MARKET_STATION for items sold to the standard supply shuttle, replacements exist for pirates, etc.
+ var/sales_market = EXPORT_MARKET_STATION
/// cost includes elasticity, this does not.
var/init_cost
@@ -134,7 +139,8 @@ Then the player gets the profit from selling his own wasted time.
return ..()
/datum/export/process()
- cost *= NUM_E**(k_elasticity * (1/30))
+ cost *= NUM_E**(k_elasticity * k_recovery_elasticity)
+ // A little note here based on the standard values for k_recovery_elasticity: 1/30 will result in a price that started at 20% to go back to 100% in around 20 minutes, ramping up over time.
if(cost > init_cost)
cost = init_cost
@@ -157,13 +163,15 @@ Then the player gets the profit from selling his own wasted time.
return 1
/// Checks if the item is fit for export datum.
-/datum/export/proc/applies_to(obj/exported_item, apply_elastic = TRUE)
+/datum/export/proc/applies_to(obj/exported_item, apply_elastic = TRUE, export_market)
if(!is_type_in_typecache(exported_item, export_types))
return FALSE
if(include_subtypes && is_type_in_typecache(exported_item, exclude_types))
return FALSE
if(!get_cost(exported_item, apply_elastic))
return FALSE
+ if(export_market != sales_market)
+ return FALSE
if(exported_item.flags_1 & HOLOGRAM_1)
return FALSE
return TRUE
diff --git a/code/modules/cargo/exports/food_and_drink.dm b/code/modules/cargo/exports/food_and_drink.dm
index 6a8b326dd15..b44c05f0c78 100644
--- a/code/modules/cargo/exports/food_and_drink.dm
+++ b/code/modules/cargo/exports/food_and_drink.dm
@@ -9,16 +9,14 @@
export_types = list(/obj/item/food)
include_subtypes = TRUE
exclude_types = list(/obj/item/food/grown)
- /// Have we already set the cost of this export? Necessary to avoid the cost being constantly reset.
- var/cost_obtained_from_venue_value = FALSE
-/datum/export/food/get_cost(obj/object, allowed_categories, apply_elastic)
+/datum/export/food/get_cost(obj/item/food/object, allowed_categories, apply_elastic)
if(HAS_TRAIT(object, TRAIT_FOOD_SILVER))
return FOOD_PRICE_WORTHLESS
- var/obj/item/food/sold_food = object
- if(!cost_obtained_from_venue_value)
- cost = sold_food.venue_value
- cost_obtained_from_venue_value = TRUE
+ var/elastic_cost = ..()
+ if(object.venue_value)
+ var/elastic_percent = elastic_cost / init_cost
+ return round(object.venue_value * elastic_percent)
- return ..()
+ return elastic_cost
diff --git a/code/modules/cargo/exports/materials.dm b/code/modules/cargo/exports/materials.dm
index 87817987b60..983cf8937a7 100644
--- a/code/modules/cargo/exports/materials.dm
+++ b/code/modules/cargo/exports/materials.dm
@@ -77,6 +77,70 @@
export_types = /obj/item/stack/sheet/mineral/metal_hydrogen
/datum/export/material/market
+ cost = 1
+ k_recovery_elasticity = 1/10 //Modeled such that a stack of materials, selling to drop the cost to ~20%, will recover fully in 8 minutes instead of 20.
+ export_types = list(
+ /obj/item/stack/sheet/mineral,
+ /obj/item/stack/tile/mineral,
+ /obj/item/stack/ore,
+ /obj/item/coin,
+ /obj/item/stock_block,
+ )
+
+/datum/export/material/market/applies_to(obj/exported_obj, apply_elastic)
+ . = ..()
+ if(istype(exported_obj, /obj/item/stock_block))
+ var/obj/item/stock_block/block = exported_obj
+ if(!block.export_mat)
+ return FALSE
+ if(block.export_mat == material_id)
+ return TRUE
+ return FALSE
+
+/datum/export/material/market/get_amount(obj/exported_obj)
+ if(istype(exported_obj, /obj/item/stock_block))
+ var/obj/item/stock_block/block = exported_obj
+ return block.quantity
+ return ..()
+
+/datum/export/material/market/get_cost(obj/exported_obj, apply_elastic = TRUE)
+ . = ..()
+ if(!material_id)
+ return 0
+
+ var/obj/item/exported_item = exported_obj
+ var/amount = get_amount(exported_item)
+ if(!amount)
+ return 0
+
+ var/obj/item/stock_block/block
+ if(istype(exported_item, /obj/item/stock_block))
+ block = exported_item
+ if(block.export_mat != material_id)
+ return 0
+
+ var/material_value = 0
+ if(block)
+ if(block.fluid)
+ material_value = SSstock_market.materials_prices[block.export_mat] * amount
+ else
+ material_value = block.export_value
+ else
+ material_value = SSstock_market.materials_prices[material_id] * amount
+ return cost * material_value // Cost in this case is only serving as the elastic modifier, where material value is the raw value of the sheets sold.
+
+/datum/export/material/market/sell_object(obj/sold_item, datum/export_report/report, dry_run, apply_elastic)
+ . = ..()
+ var/amount = get_amount(sold_item)
+ if(!amount)
+ return
+
+ //This formula should impact lower quantity materials greater, and higher quantity materials less. Still, it's a bit rough. Tweaking may be needed.
+ if(!dry_run)
+ //decrease the market price
+ SSstock_market.adjust_material_price(material_id, -SSstock_market.materials_prices[material_id] * (amount / (amount + SSstock_market.materials_quantity[material_id])))
+ //increase the stock
+ SSstock_market.adjust_material_quantity(material_id, amount)
/datum/export/material/market/diamond
material_id = /datum/material/diamond
@@ -101,7 +165,11 @@
/datum/export/material/market/bscrystal
message = "of bluespace crystals"
material_id = /datum/material/bluespace
- export_types = list(/obj/item/stack/sheet/bluespace_crystal, /obj/item/stack/ore) //For whatever reason, bluespace crystals are not a mineral
+ export_types = list(
+ /obj/item/stack/sheet/bluespace_crystal,
+ /obj/item/stack/ore/bluespace_crystal,
+ /obj/item/stock_block,
+ ) //For whatever reason, bluespace crystals are not a mineral
/datum/export/material/market/iron
message = "cm3 of iron"
@@ -111,7 +179,8 @@
/obj/item/stack/tile/iron,
/obj/item/stack/rods,
/obj/item/stack/ore,
- /obj/item/coin
+ /obj/item/coin,
+ /obj/item/stock_block,
)
/datum/export/material/market/glass
@@ -120,48 +189,6 @@
export_types = list(
/obj/item/stack/sheet/glass,
/obj/item/stack/ore,
- /obj/item/shard
+ /obj/item/shard,
+ /obj/item/stock_block,
)
-
-/datum/export/material/market/get_cost(obj/O, apply_elastic = FALSE)
- var/obj/item/I = O
- var/amount = get_amount(I)
- if(!amount)
- return 0
- var/material_value = (SSstock_market.materials_prices[material_id]) * amount * MARKET_PROFIT_MODIFIER
- return round(material_value)
-
-/datum/export/material/market/sell_object(obj/sold_item, datum/export_report/report, dry_run, apply_elastic)
- . = ..()
- var/amount = get_amount(sold_item)
- if(!amount)
- return
-
- //This formula should impact lower quantity materials greater, and higher quantity materials less. Still, it's a bit rough. Tweaking may be needed.
- if(!dry_run)
- //decrease the market price
- SSstock_market.adjust_material_price(material_id, -SSstock_market.materials_prices[material_id] * (amount / (amount + SSstock_market.materials_quantity[material_id])))
-
- //increase the stock
- SSstock_market.adjust_material_quantity(material_id, amount)
-
-
-// Stock blocks are a special type of export that can be used to sell a quantity of materials at a specific price on the market.
-/datum/export/stock_block
- cost = 0
- message = "stock block"
- export_types = list(/obj/item/stock_block)
-
-/datum/export/stock_block/get_cost(obj/O, apply_elastic = FALSE)
- var/obj/item/stock_block/block = O
- return block.export_value
-
-/datum/export/stock_block/sell_object(obj/sold_item, datum/export_report/report, dry_run, apply_elastic)
- . = ..()
- if(dry_run)
- return
- var/obj/item/stock_block/sold_block = sold_item
- var/sale_value = sold_block.export_value
- SSstock_market.materials_quantity[sold_block.export_mat] += sold_block.quantity
- SSstock_market.materials_prices[sold_block.export_mat] -= round((sale_value) * (sold_block.quantity / (sold_block.quantity + SSstock_market.materials_quantity[sold_block.export_mat])))
- SSstock_market.materials_prices[sold_block.export_mat] = round(clamp(SSstock_market.materials_prices[sold_block.export_mat], initial(sold_block.export_mat.value_per_unit) * SHEET_MATERIAL_AMOUNT * 0.5 , initial(sold_block.export_mat.value_per_unit) * SHEET_MATERIAL_AMOUNT * 3))
diff --git a/code/modules/cargo/exports/tools.dm b/code/modules/cargo/exports/tools.dm
index 94e9c264365..eea9afe94a0 100644
--- a/code/modules/cargo/exports/tools.dm
+++ b/code/modules/cargo/exports/tools.dm
@@ -153,6 +153,6 @@
export_types = list(/obj/item/soap/omega)
/datum/export/candle
- cost = CARGO_CRATE_VALUE * 0.125
+ cost = CARGO_CRATE_VALUE * 0.06125
unit_name = "candle"
export_types = list(/obj/item/flashlight/flare/candle)
diff --git a/code/modules/cargo/goodies.dm b/code/modules/cargo/goodies.dm
index 3b3aec6680c..3d321b6cc23 100644
--- a/code/modules/cargo/goodies.dm
+++ b/code/modules/cargo/goodies.dm
@@ -3,6 +3,7 @@
access = NONE
group = "Goodies"
goody = TRUE
+ crate_type = null
discountable = SUPPLY_PACK_STD_DISCOUNTABLE
/datum/supply_pack/goody/clear_pda
@@ -238,7 +239,7 @@
name = "Emergency Mutadone Pill Single-Pack"
desc = "A single pill for curing genetic defects. Useful for when you can't procure one from medbay."
cost = PAYCHECK_CREW * 2.5
- contains = list(/obj/item/reagent_containers/pill/mutadone)
+ contains = list(/obj/item/reagent_containers/applicator/pill/mutadone)
/datum/supply_pack/goody/rapid_lighting_device
name = "Rapid Lighting Device (RLD) Single-Pack"
@@ -312,6 +313,12 @@
cost = PAYCHECK_LOWER
contains = list(/obj/item/book/manual/fish_catalog)
+/datum/supply_pack/goody/aquarium_props
+ name = "Aquarium Props Single-Pack"
+ desc = "A box containing generic aquarium props. You'll still need an aquarium or fish tank for these."
+ cost = PAYCHECK_LOWER
+ contains = list(/obj/item/storage/box/aquarium_props)
+
/datum/supply_pack/goody/coffee_mug
name = "Coffee Mug Single-Pack"
desc = "A bog standard coffee mug, for drinking coffee."
diff --git a/code/modules/cargo/markets/market_items/consumables.dm b/code/modules/cargo/markets/market_items/consumables.dm
index b7eed89a195..a8c7c72cd45 100644
--- a/code/modules/cargo/markets/market_items/consumables.dm
+++ b/code/modules/cargo/markets/market_items/consumables.dm
@@ -57,7 +57,7 @@
/datum/market_item/consumable/floor_pill
name = "Strange Pill"
desc = "The Russian Roulette of the Maintenance Tunnels."
- item = /obj/item/reagent_containers/pill/maintenance
+ item = /obj/item/reagent_containers/applicator/pill/maintenance
stock_min = 5
stock_max = 35
diff --git a/code/modules/cargo/materials_market.dm b/code/modules/cargo/materials_market.dm
index dd3093a0aaf..c5ce00ccdd2 100644
--- a/code/modules/cargo/materials_market.dm
+++ b/code/modules/cargo/materials_market.dm
@@ -15,6 +15,8 @@
icon_state = "mat_market"
base_icon_state = "mat_market"
idle_power_usage = BASE_MACHINE_IDLE_CONSUMPTION
+ light_power = 3
+ light_range = MINIMUM_USEFUL_LIGHT_RANGE
/// What items can be converted into a stock block? Must be a stack subtype based on current implementation.
var/static/list/exportable_material_items = list(
/obj/item/stack/sheet/iron, //God why are we like this
@@ -53,34 +55,51 @@
if(default_deconstruction_crowbar(tool))
return ITEM_INTERACT_SUCCESS
-/obj/machinery/materials_market/attackby(obj/item/O, mob/user, params)
- if(is_type_in_list(O, exportable_material_items))
- var/amount = 0
- var/value = 0
+/obj/machinery/materials_market/attackby(obj/item/markable_object, mob/user, params)
+ if(is_type_in_list(markable_object, exportable_material_items))
+ if(machine_stat & NOPOWER)
+ balloon_alert(user, "no power!")
+ return FALSE
var/material_to_export
- var/obj/item/stack/exportable = O
+ var/obj/item/stack/exportable = markable_object
for(var/datum/material/mat as anything in SSstock_market.materials_prices)
if(exportable.has_material_type(mat))
- amount = exportable.amount
- value = SSstock_market.materials_prices[mat]
material_to_export = mat
break //This is only for trading non-alloys, so we can break here
- if(!amount)
- say("Not enough material. Aborting.")
- playsound(src, 'sound/machines/scanner/scanbuzz.ogg', 25, FALSE)
- return TRUE
- qdel(exportable)
+ var/datum/export_report/report = export_item_and_contents(exportable, apply_elastic = FALSE, dry_run = TRUE) // We'll apply elastic price reduction when fully sold.
+ var/price = 0
+ var/amount = 0
+ for(var/exported_datum in report.total_amount)
+ price += report.total_value[exported_datum]
+ amount += report.total_amount[exported_datum]
+
+ if(amount <= 1)
+ balloon_alert(user, "stack too small!")
+ return FALSE
+
+ if(price <= 0)
+ balloon_alert(user, "not valuable enough to sell!")
+ return FALSE
+
+ qdel(markable_object)
var/obj/item/stock_block/new_block = new /obj/item/stock_block(drop_location())
- new_block.export_value = amount * value * MARKET_PROFIT_MODIFIER
+ new_block.export_value = price
new_block.export_mat = material_to_export
- new_block.quantity = amount
+ new_block.quantity = amount / SHEET_MATERIAL_AMOUNT
to_chat(user, span_notice("You have created a stock block worth [new_block.export_value] cr! Sell it before it becomes liquid!"))
playsound(src, 'sound/machines/synth/synth_yes.ogg', 50, FALSE)
return TRUE
return ..()
+/obj/machinery/materials_market/power_change()
+ . = ..()
+ if(machine_stat & NOPOWER)
+ set_light(0, 0)
+ else
+ set_light(initial(light_range), initial(light_power))
+
/**
* Find the order purchased either privately or by cargo budget
* Arguments
@@ -368,14 +387,13 @@
update_appearance(UPDATE_ICON_STATE)
/obj/item/stock_block/proc/update_value()
- if(!export_mat)
- return
if(!SSstock_market.materials_prices[export_mat])
return
- export_value = quantity * SSstock_market.materials_prices[export_mat] * MARKET_PROFIT_MODIFIER
+ export_value = quantity * SSstock_market.materials_prices[export_mat]
icon_state = "stock_block_liquid"
update_appearance(UPDATE_ICON_STATE)
visible_message(span_warning("\The [src] becomes liquid!"))
+ fluid = TRUE
#undef MAX_STACK_LIMIT
#undef GALATIC_MATERIAL_ORDER
diff --git a/code/modules/cargo/packs/_packs.dm b/code/modules/cargo/packs/_packs.dm
index 94f71245882..44d3cb46aea 100644
--- a/code/modules/cargo/packs/_packs.dm
+++ b/code/modules/cargo/packs/_packs.dm
@@ -37,10 +37,12 @@
var/special_pod
/// Was this spawned through an admin proc?
var/admin_spawned = FALSE
- /// Goodies can only be purchased by private accounts and can have coupons apply to them. They also come in a lockbox instead of a full crate, so the 700 min doesn't apply
+ /// Goodies can only be purchased by private accounts and can have coupons apply to them. They also come in a lockbox instead of a full crate, so the crate price min doesn't apply
var/goody = FALSE
/// Can coupons target this pack? If so, how rarely?
var/discountable = SUPPLY_PACK_NOT_DISCOUNTABLE
+ /// Is this supply pack considered unpredictable for the purposes of testing unit testing? Examples include the stock market, or miner supply crates. If true, exempts from unit testing
+ var/test_ignored = FALSE
/datum/supply_pack/New()
id = type
@@ -59,6 +61,12 @@
return data
+/**
+ * Proc that takes a given supply_pack, and attempts to create a crate containing the pack's contents as determined by fill()
+ *
+ * @ atom/A: The location or turf that the pack is being generated onto. Cargo shuttle provides an empty turf, other generate()s call this either null or otherwise.
+ * @ datum/bank_account/paying_account: The account to associate the supply pack with when going and generating the crate. Only the paying account can open said secure crate/case.
+ */
/datum/supply_pack/proc/generate(atom/A, datum/bank_account/paying_account)
var/obj/structure/closet/crate/C
if(paying_account)
@@ -121,6 +129,7 @@
hidden = TRUE
crate_name = "shaft mining delivery crate"
access = ACCESS_MINING
+ test_ignored = TRUE
/datum/supply_pack/custom/New(purchaser, cost, list/contains)
. = ..()
diff --git a/code/modules/cargo/packs/costumes_toys.dm b/code/modules/cargo/packs/costumes_toys.dm
index 588353b34fe..47021007a1c 100644
--- a/code/modules/cargo/packs/costumes_toys.dm
+++ b/code/modules/cargo/packs/costumes_toys.dm
@@ -31,6 +31,13 @@
crate_name = "collectable hats crate"
crate_type = /obj/structure/closet/crate/wooden
discountable = SUPPLY_PACK_RARE_DISCOUNTABLE
+ test_ignored = TRUE
+
+/datum/supply_pack/costumes_toys/randomised/fill(obj/structure/closet/crate/C)
+ var/list/L = contains.Copy()
+ for(var/i in 1 to num_contained)
+ var/item = pick_n_take(L)
+ new item(C)
/datum/supply_pack/costumes_toys/formalwear
name = "Formalwear Crate"
@@ -199,12 +206,6 @@
crate_name = "wizard costume crate"
crate_type = /obj/structure/closet/crate/wooden
-/datum/supply_pack/costumes_toys/randomised/fill(obj/structure/closet/crate/C)
- var/list/L = contains.Copy()
- for(var/i in 1 to num_contained)
- var/item = pick_n_take(L)
- new item(C)
-
/datum/supply_pack/costumes_toys/trekkie
name = "Trekkie Costume Crate"
desc = "Wear the scrapped concepts for twelve of Nanotrasen's jumpsuits, based off popular \
diff --git a/code/modules/cargo/packs/general.dm b/code/modules/cargo/packs/general.dm
index 5f3a4645933..c7498f781bb 100644
--- a/code/modules/cargo/packs/general.dm
+++ b/code/modules/cargo/packs/general.dm
@@ -178,7 +178,7 @@
/datum/supply_pack/misc/candles_bulk
name = "Candle Box Crate"
desc = "Keep your local chapel lit with three candle boxes!"
- cost = CARGO_CRATE_VALUE * 1.5
+ cost = CARGO_CRATE_VALUE * 2
contains = list(/obj/item/storage/fancy/candle_box = 3)
crate_name = "candle box crate"
@@ -214,6 +214,7 @@
contains = list()
crate_name = "syndicate gear crate"
crate_type = /obj/structure/closet/crate
+ test_ignored = TRUE
///Total TC worth of contained uplink items
var/crate_value = 30
///What uplink the contents are pulled from
diff --git a/code/modules/cargo/packs/imports.dm b/code/modules/cargo/packs/imports.dm
index b7bf22e589a..61f9a820fcc 100644
--- a/code/modules/cargo/packs/imports.dm
+++ b/code/modules/cargo/packs/imports.dm
@@ -96,6 +96,7 @@
)
crate_name = "putrid dumpster"
crate_type = /obj/structure/closet/crate/trashcart
+ test_ignored = TRUE
/datum/supply_pack/imports/shells
name = "Lethal Shotgun Shell Box Crate"
@@ -145,6 +146,7 @@
/obj/effect/spawner/random/contraband = 5,
)
crate_name = "crate"
+ test_ignored = TRUE
/datum/supply_pack/imports/wt550
name = "Smuggled WT-550 Autorifle Crate"
@@ -293,6 +295,7 @@
cost = CARGO_CRATE_VALUE * 30
contains = list(/obj/effect/spawner/random/animalhide = 5)
crate_name = "animal hide crate"
+ test_ignored = TRUE
/datum/supply_pack/imports/dreadnog
name = "Dreadnog Carton Crate"
diff --git a/code/modules/cargo/packs/livestock.dm b/code/modules/cargo/packs/livestock.dm
index da51ee497f6..f9fa142ceb0 100644
--- a/code/modules/cargo/packs/livestock.dm
+++ b/code/modules/cargo/packs/livestock.dm
@@ -230,7 +230,7 @@
new /mob/living/basic/garden_gnome(.)
/datum/supply_pack/critter/fish
- crate_type = /obj/structure/closet/crate
+ test_ignored = TRUE // However, we should be wary of how possible it is to get more valuable fish out of this on average, depending on sample size.
/datum/supply_pack/critter/fish/aquarium_fish
name = "Aquarium Fish Case"
diff --git a/code/modules/cargo/packs/materials.dm b/code/modules/cargo/packs/materials.dm
index bfda2f7f9b1..127fb54d4b5 100644
--- a/code/modules/cargo/packs/materials.dm
+++ b/code/modules/cargo/packs/materials.dm
@@ -75,6 +75,7 @@
cost = CARGO_CRATE_VALUE * 0.05
contains = list(/obj/machinery/portable_atmospherics/canister)
crate_type = /obj/structure/closet/crate/large
+ test_ignored = TRUE
/datum/supply_pack/materials/gas_canisters/generate_supply_packs()
var/list/canister_packs = list()
@@ -100,6 +101,8 @@
pack.cost = cost + moleCount * initial(gas.base_value) * 1.6
pack.cost = CEILING(pack.cost, 10)
+ pack.test_ignored = FALSE
+
pack.contains = list(GLOB.gas_id_to_canister[initial(gas.id)])
pack.crate_type = crate_type
diff --git a/code/modules/cargo/packs/medical.dm b/code/modules/cargo/packs/medical.dm
index 935fed39dcc..575224c6b6d 100644
--- a/code/modules/cargo/packs/medical.dm
+++ b/code/modules/cargo/packs/medical.dm
@@ -92,7 +92,7 @@
/obj/item/reagent_containers/cup/bottle/morphine,
/obj/item/reagent_containers/cup/bottle/toxin,
/obj/item/reagent_containers/cup/beaker/large,
- /obj/item/reagent_containers/pill/insulin,
+ /obj/item/reagent_containers/applicator/pill/insulin,
/obj/item/stack/medical/gauze,
/obj/item/storage/box/bandages,
/obj/item/storage/box/beakers,
@@ -107,13 +107,14 @@
/obj/item/defibrillator/loaded,
/obj/item/reagent_containers/blood/o_minus,
/obj/item/storage/pill_bottle/mining,
- /obj/item/reagent_containers/pill/neurine,
+ /obj/item/reagent_containers/applicator/pill/neurine,
/obj/item/stack/medical/bone_gel = 2,
/obj/item/vending_refill/medical,
/obj/item/vending_refill/drugs,
)
crate_name = "medical supplies crate"
crate_type = /obj/structure/closet/crate/medical
+ test_ignored = TRUE
/datum/supply_pack/medical/supplies/fill(obj/structure/closet/crate/C)
for(var/i in 1 to 10)
diff --git a/code/modules/cargo/packs/security.dm b/code/modules/cargo/packs/security.dm
index 8227305f743..a6f762b568f 100644
--- a/code/modules/cargo/packs/security.dm
+++ b/code/modules/cargo/packs/security.dm
@@ -20,7 +20,7 @@
/datum/supply_pack/security/armor
name = "Armor Crate"
desc = "Three vests of well-rounded, decently-protective armor."
- cost = CARGO_CRATE_VALUE * 2
+ cost = CARGO_CRATE_VALUE * 3
access_view = ACCESS_SECURITY
contains = list(/obj/item/clothing/suit/armor/vest = 3)
crate_name = "armor crate"
@@ -53,7 +53,7 @@
/datum/supply_pack/security/helmets
name = "Helmets Crate"
desc = "Contains three standard-issue brain buckets."
- cost = CARGO_CRATE_VALUE * 2
+ cost = CARGO_CRATE_VALUE * 3
contains = list(/obj/item/clothing/head/helmet/sec = 3)
crate_name = "helmet crate"
@@ -154,7 +154,7 @@
/datum/supply_pack/security/baton
name = "Stun Batons Crate"
desc = "Arm the Civil Protection Forces with three stun batons. Batteries included."
- cost = CARGO_CRATE_VALUE * 2
+ cost = CARGO_CRATE_VALUE * 3
access_view = ACCESS_SECURITY
contains = list(/obj/item/melee/baton/security/loaded = 3)
crate_name = "stun baton crate"
diff --git a/code/modules/client/client_colour.dm b/code/modules/client/client_colour.dm
index 08e79c305a4..2bee4dda956 100644
--- a/code/modules/client/client_colour.dm
+++ b/code/modules/client/client_colour.dm
@@ -1,35 +1,21 @@
-#define PRIORITY_ABSOLUTE 1
-#define PRIORITY_HIGH 10
-#define PRIORITY_NORMAL 100
-#define PRIORITY_LOW 1000
+#define CLIENT_COLOR_VALUE_INDEX 1
+#define CLIENT_COLOR_PRIORITY_INDEX 2
-/**
- * Client Colour Priority System By RemieRichards (then refactored by another contributor)
- * A System that gives finer control over which client.colour value to display on screen
- * so that the "highest priority" one is always displayed as opposed to the default of
- * "whichever was set last is displayed".
- *
- * Refactored to allow multiple overlapping client colours
- * (e.g. wearing blue glasses under a yellow visor, even though the result is a little unsatured.)
- * As well as some support for animated colour transitions.
- *
- * Define subtypes of this datum
- */
/datum/client_colour
- ///The color we want to give to the client. This has to be either a hexadecimal color or a color matrix.
- var/colour
- ///The mob that owns this client_colour.
+ /// Color given to the client, can be a hex color, color matrix or a filter
+ var/color
+ /// The mob that owns this client_colour
var/mob/owner
- /**
- * We prioritize colours with higher priority (lower numbers), so they don't get overriden by less important ones:
- * eg: "Bloody screen" > "goggles colour" as the former is much more important
- */
- var/priority = PRIORITY_NORMAL
- ///Will this client_colour prevent ones of lower priority from being applied?
+ /// Priority of this color, higher values are rendered above lower ones
+ var/priority = CLIENT_COLOR_FILTER_PRIORITY
+ /// Will this client_colour prevent ones of lower priority from being applied?
var/override = FALSE
- ///IF non-zero, 'animate_client_colour(fade_in)' will be called instead of 'update_client_colour' when added.
+ /// If set to TRUE, all colors below and above this one will be rendered in separate filters
+ /// If color is a filter, forced to TRUE
+ var/split_filters = FALSE
+ /// If non-zero, 'animate_client_colour(fade_in)' will be called instead of 'update_client_colour' when added.
var/fade_in = 0
- ///Same as above, but on removal.
+ /// If non-zero, 'animate_client_colour(fade_out)' will be called instead of 'update_client_colour' when removed.
var/fade_out = 0
/datum/client_colour/New(mob/owner)
@@ -42,229 +28,248 @@
owner = null
return ..()
-///Sets a new colour, then updates the owner's screen colour.
-/datum/client_colour/proc/update_colour(new_colour, anim_time, easing = 0)
- colour = new_colour
+///Sets a new color, then updates the owner's screen color.
+/datum/client_colour/proc/update_color(new_color, anim_time, easing = 0)
+ color = new_color
owner.animate_client_colour(anim_time, easing)
/**
- * Adds an instance of colour_type to the mob's client_colours list
- * colour_type - a typepath (subtyped from /datum/client_colour)
+ * Add a color filter to the client
+ * new_color - client_colour datum or typepath to be added
+ * source - associated source for the client color
+ * force - if TRUE, colors of the same source will be replaced even if it is of the same type
*/
-/mob/proc/add_client_colour(colour_type_or_datum)
- if(QDELING(src))
+/mob/proc/add_client_colour(datum/client_colour/new_color, source, force = FALSE)
+ if (QDELING(src))
return
- var/datum/client_colour/colour
- if(istype(colour_type_or_datum, /datum/client_colour))
- colour = colour_type_or_datum
- else if(ispath(colour_type_or_datum, /datum/client_colour))
- colour = new colour_type_or_datum(src)
- else
- CRASH("Invalid colour type or datum for add_client_color: [colour_type_or_datum || "null"]")
- BINARY_INSERT(colour, client_colours, /datum/client_colour, colour, priority, COMPARE_KEY)
- animate_client_colour(colour.fade_in)
- return colour
+ if (ispath(new_color))
+ new_color = new new_color(src)
+
+ if (!istype(new_color))
+ CRASH("Invalid color type or datum for add_client_colour: [new_color ? "[new_color] ([new_color.type])" : "null"]")
+
+ // Ensure that if a color with this source is already present, we either abort or get rid of it
+ var/datum/client_colour/existing_color = get_client_colour(source)
+ if (existing_color)
+ if (existing_color.type == new_color.type && !force)
+ return existing_color
+ qdel(existing_color)
+ client_colours[new_color] = source
+ animate_client_colour(new_color.fade_in)
+ return new_color
/**
- * Removes an instance of colour_type from the mob's client_colours list
- * colour_type - a typepath (subtyped from /datum/client_colour)
- */
-/mob/proc/remove_client_colour(colour_type)
- if(!ispath(colour_type, /datum/client_colour))
- return
+ * Removes a color type from a specific source from mob's client_colours list
+ * source - color source to remove
+*/
- for(var/datum/client_colour/colour as anything in client_colours)
- if(colour.type == colour_type)
- qdel(colour)
+/mob/proc/remove_client_colour(source)
+ var/datum/client_colour/existing_color = get_client_colour(source)
+ if (!existing_color)
+ return FALSE
+ qdel(existing_color)
+ return TRUE
+
+/mob/proc/get_client_colour(source)
+ for(var/datum/client_colour/color as anything in client_colours)
+ if (client_colours[color] == source)
+ return color
+
+/mob/proc/get_client_colour_filters()
+ . = list()
+ // sortTim sorts the passed list instead of making the copy, and so does reverse_range
+ var/list/used_colors = reverse_range(sortTim(client_colours.Copy(), GLOBAL_PROC_REF(cmp_client_colours)))
+ var/current_color = null
+ var/color_num = 0
+ var/color_prio = 1
+
+ for (var/datum/client_colour/client_color as anything in used_colors)
+ color_num += 1
+
+ var/list/filter_color = null
+ if (islist(client_color.color))
+ filter_color = client_color.color
+ // If our list has "type" in it then its a filter
+ if (!filter_color["type"])
+ filter_color = null
+
+ if (client_color.split_filters || filter_color)
+ if (current_color)
+ . += list(list(color_matrix_filter(current_color), color_prio))
+ color_prio += 1
+ current_color = null
+
+ . += list(list(filter_color || color_matrix_filter(client_color.color), color_prio))
+ color_prio += 1
+ continue
+
+ if (!current_color)
+ current_color = client_color.color
+ if (client_color.override)
+ break
+ continue
+
+ var/list/color_list = current_color
+ if (!islist(color_list))
+ color_list = color_to_full_rgba_matrix(color_list)
+ var/list/cur_list = color_to_full_rgba_matrix(client_color.color)
+
+ for (var/i in 1 to 20)
+ color_list[i] = (color_list[i] * (color_num - 1) + cur_list[i]) / color_num
+ current_color = color_list
+
+ if (client_color.override)
break
-/**
- * Gets the resulting colour/tone from client_colours.
- * In the case of multiple colours, they'll be converted to RGBA matrices for compatibility,
- * summed together, and then each element divided by the number of matrices. (except we do this with lists because byond)
- * target is the target variable.
- */
-#define MIX_CLIENT_COLOUR(target)\
- var/_our_colour;\
- var/_number_colours = 0;\
- var/_pool_closed = INFINITY;\
- for(var/_c in client_colours){\
- var/datum/client_colour/_colour = _c;\
- if(_pool_closed < _colour.priority){\
- break\
- };\
- _number_colours++;\
- if(_colour.override){\
- _pool_closed = _colour.priority\
- };\
- if(!_our_colour){\
- _our_colour = _colour.colour;\
- continue\
- };\
- if(_number_colours == 2){\
- _our_colour = color_to_full_rgba_matrix(_our_colour)\
- };\
- var/list/_colour_matrix = color_to_full_rgba_matrix(_colour.colour);\
- var/list/_L = _our_colour;\
- for(var/_i in 1 to 20){\
- _L[_i] += _colour_matrix[_i]\
- };\
- };\
- if(_number_colours > 1){\
- var/list/_L = _our_colour;\
- for(var/_i in 1 to 20){\
- _L[_i] /= _number_colours\
- };\
- };\
- target = _our_colour\
+ if (current_color)
+ . += list(list(color_matrix_filter(current_color), color_prio))
-#define CLIENT_COLOR_FILTER_KEY "fake_client_color"
-
-/**
- * Resets the mob's client.color to null, and then reapplies a new color based
- * on the client_colour datums it currently has.
- */
/mob/proc/update_client_colour()
- if(isnull(hud_used))
+ if (isnull(hud_used))
return
- var/new_color = ""
- if(length(client_colours))
- MIX_CLIENT_COLOUR(new_color)
+ for (var/atom/movable/screen/plane_master/game_plane as anything in hud_used.get_true_plane_masters(RENDER_PLANE_GAME))
+ for (var/filter_id in color_filter_store)
+ game_plane.remove_filter(filter_id)
- for(var/atom/movable/screen/plane_master/game_plane as anything in hud_used.get_true_plane_masters(RENDER_PLANE_GAME))
- if(new_color)
- game_plane.add_filter(CLIENT_COLOR_FILTER_KEY, 2, color_matrix_filter(new_color))
- else
- game_plane.remove_filter(CLIENT_COLOR_FILTER_KEY)
+ color_filter_store.Cut()
+ var/list/applied_filters = get_client_colour_filters()
-///Works similarly to 'update_client_colour', but animated.
-/mob/proc/animate_client_colour(anim_time = 2 SECONDS, anim_easing = NONE)
- if(anim_time <= 0)
+ for (var/list/color_filter as anything in applied_filters)
+ var/added_color = color_filter[CLIENT_COLOR_VALUE_INDEX]
+ var/filter_priority = color_filter[CLIENT_COLOR_PRIORITY_INDEX]
+ for (var/atom/movable/screen/plane_master/game_plane as anything in hud_used.get_true_plane_masters(RENDER_PLANE_GAME))
+ var/filter_id = "client_colour_[filter_priority]"
+ game_plane.add_filter(filter_id, filter_priority, added_color)
+ color_filter_store |= filter_id
+
+/// Works similarly to 'update_client_colour', but animated.
+/mob/proc/animate_client_colour(anim_time = 1 SECONDS, anim_easing = NONE)
+ if (isnull(hud_used))
+ return
+
+ if(anim_time <= -1)
return update_client_colour()
- if(isnull(hud_used))
- return
- var/anim_color = ""
- if(length(client_colours))
- MIX_CLIENT_COLOUR(anim_color)
+ for (var/atom/movable/screen/plane_master/game_plane as anything in hud_used.get_true_plane_masters(RENDER_PLANE_GAME))
+ for (var/filter_id in color_filter_store)
+ game_plane.remove_filter(filter_id)
- for(var/atom/movable/screen/plane_master/game_plane as anything in hud_used.get_true_plane_masters(RENDER_PLANE_GAME))
- if(anim_color)
- game_plane.add_filter(CLIENT_COLOR_FILTER_KEY, 2, color_matrix_filter())
- game_plane.transition_filter(CLIENT_COLOR_FILTER_KEY, color_matrix_filter(anim_color), anim_time, anim_easing)
- else
- game_plane.transition_filter(CLIENT_COLOR_FILTER_KEY, color_matrix_filter(), anim_time, anim_easing)
- // This leaves a blank color filter on the hud which is, fine I guess?
+ color_filter_store.Cut()
+ var/list/applied_filters = get_client_colour_filters()
-#undef MIX_CLIENT_COLOUR
+ for (var/list/color_filter as anything in applied_filters)
+ var/added_color = color_filter[CLIENT_COLOR_VALUE_INDEX]
+ var/filter_priority = color_filter[CLIENT_COLOR_PRIORITY_INDEX]
+ for (var/atom/movable/screen/plane_master/game_plane as anything in hud_used.get_true_plane_masters(RENDER_PLANE_GAME))
+ var/filter_id = "client_colour_[filter_priority]"
+ game_plane.add_filter(filter_id, filter_priority, color_matrix_filter())
+ game_plane.transition_filter(filter_id, added_color, anim_time, anim_easing)
+ color_filter_store |= filter_id
-#undef CLIENT_COLOR_FILTER_KEY
+// Color types
-/datum/client_colour/glass_colour
- priority = PRIORITY_LOW
-
-/datum/client_colour/glass_colour/green
- colour = "#aaffaa"
-
-/datum/client_colour/glass_colour/lightgreen
- colour = "#ccffcc"
-
-/datum/client_colour/glass_colour/blue
- colour = "#aaaaff"
-
-/datum/client_colour/glass_colour/lightblue
- colour = "#ccccff"
-
-/datum/client_colour/glass_colour/yellow
- colour = "#ffff66"
-
-/datum/client_colour/glass_colour/lightyellow
- colour = "#ffffaa"
-
-/datum/client_colour/glass_colour/red
- colour = "#ffaaaa"
-
-/datum/client_colour/glass_colour/lightred
- colour = "#ffcccc"
-
-/datum/client_colour/glass_colour/darkred
- colour = "#bb5555"
-
-/datum/client_colour/glass_colour/orange
- colour = "#ffbb99"
-
-/datum/client_colour/glass_colour/lightorange
- colour = "#ffddaa"
-
-/datum/client_colour/glass_colour/purple
- colour = "#ff99ff"
-
-/datum/client_colour/glass_colour/lightpurple
- colour = "#ffccff"
-
-/datum/client_colour/glass_colour/gray
- colour = "#cccccc"
-
-///A client colour that makes the screen look a bit more grungy, halloweenesque even.
+///A client color that makes the screen look a bit more grungy, halloweenesque even.
/datum/client_colour/halloween_helmet
- colour = list(0.75,0.13,0.13,0, 0.13,0.7,0.13,0, 0.13,0.13,0.75,0, -0.06,-0.09,-0.08,1, 0,0,0,0)
+ priority = CLIENT_COLOR_HELMET_PRIORITY
+ color = list(/*R*/ 0.75,0.13,0.13,0, /*G*/ 0.13,0.7,0.13,0, /*B*/ 0.13,0.13,0.75,0, /*A*/ -0.06,-0.09,-0.08,1, /*C*/ 0,0,0,0)
/datum/client_colour/flash_hood
- colour = COLOR_MATRIX_POLAROID
-
-/datum/client_colour/glass_colour/nightmare
- colour = list(255,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,1, -130,0,0,0) //every color is either red or black
-
-/datum/client_colour/malfunction
- colour = list(/*R*/ 0,0,0,0, /*G*/ 0,175,0,0, /*B*/ 0,0,0,0, /*A*/ 0,0,0,1, /*C*/0,-130,0,0) // Matrix colors
+ priority = CLIENT_COLOR_HELMET_PRIORITY
+ color = COLOR_MATRIX_POLAROID
/datum/client_colour/perceptomatrix
- colour = list(/*R*/ 1,0,0,0, /*G*/ 0,1,0,0, /*B*/ 0,0,1,0, /*A*/ 0,0,0,1, /*C*/0,-0.02,-0.02,0) // veeery slightly pink
+ priority = CLIENT_COLOR_HELMET_PRIORITY
+ color = list(/*R*/ 1,0,0,0, /*G*/ 0,1,0,0, /*B*/ 0,0,1,0, /*A*/ 0,0,0,1, /*C*/ 0,-0.02,-0.02,0) // veeery slightly pink
+
+/datum/client_colour/rave
+ priority = CLIENT_COLOR_HELMET_PRIORITY
+
+/datum/client_colour/malfunction
+ priority = CLIENT_COLOR_ORGAN_PRIORITY
+ color = list(/*R*/ 0,0,0,0, /*G*/ 0,175,0,0, /*B*/ 0,0,0,0, /*A*/ 0,0,0,1, /*C*/ 0,-130,0,0) // Matrix colors
/datum/client_colour/monochrome
- colour = COLOR_MATRIX_GRAYSCALE
- priority = PRIORITY_HIGH //we can't see colors anyway!
- override = TRUE
- fade_in = 20
- fade_out = 20
+ color = COLOR_MATRIX_GRAYSCALE
+ priority = CLIENT_COLOR_FILTER_PRIORITY
+ split_filters = TRUE
+ fade_in = 2 SECONDS
+ fade_out = 2 SECONDS
-/datum/client_colour/monochrome/colorblind
- priority = PRIORITY_HIGH
-
-/datum/client_colour/monochrome/trance
- priority = PRIORITY_NORMAL
-
-/datum/client_colour/monochrome/blind
- priority = PRIORITY_NORMAL
+/datum/client_colour/monochrome/glasses
+ priority = CLIENT_COLOR_GLASSES_PRIORITY
/datum/client_colour/bloodlust
- priority = PRIORITY_ABSOLUTE // Only anger.
- colour = list(0,0,0,0,0,0,0,0,0,1,0,0) //pure red.
- fade_out = 10
+ priority = CLIENT_COLOR_IMPORTANT_PRIORITY
+ color = list(0,0,0,0,0,0,0,0,0,1,0,0) // pure red
+ fade_out = 1 SECONDS
/datum/client_colour/bloodlust/New(mob/owner)
..()
if(owner)
- addtimer(CALLBACK(src, PROC_REF(update_colour), list(1,0,0,0.8,0.2,0, 0.8,0,0.2,0.1,0,0), 10, SINE_EASING|EASE_OUT), 0.1 SECONDS)
-
-/datum/client_colour/rave
- priority = PRIORITY_LOW
-
-/datum/client_colour/psyker
- priority = PRIORITY_ABSOLUTE
- override = TRUE
- colour = list(0.8,0,0,0, 0,0,0,0, 0,0,1,0, 0,0,0,1, 0,0,0,0)
+ addtimer(CALLBACK(src, PROC_REF(update_color), list(/*R*/ 1,0,0, /*G*/ 0.8,0.2,0, /*B*/ 0.8,0,0.2, /*C*/ 0.1,0,0), 10, SINE_EASING|EASE_OUT), 0.1 SECONDS)
/datum/client_colour/manual_heart_blood
- priority = PRIORITY_ABSOLUTE
- colour = COLOR_RED
+ priority = CLIENT_COLOR_IMPORTANT_PRIORITY
+ color = COLOR_RED
+
+/datum/client_colour/psyker
+ priority = CLIENT_COLOR_OVERRIDE_PRIORITY
+ color = list(0.8,0,0,0, 0,0,0,0, 0,0,1,0, 0,0,0,1, 0,0,0,0)
+ override = TRUE
/datum/client_colour/temp
- priority = PRIORITY_HIGH
+ priority = CLIENT_COLOR_TEMPORARY_PRIORITY
-#undef PRIORITY_ABSOLUTE
-#undef PRIORITY_HIGH
-#undef PRIORITY_NORMAL
-#undef PRIORITY_LOW
+/datum/client_colour/glass_colour
+ priority = CLIENT_COLOR_GLASSES_PRIORITY
+
+/datum/client_colour/glass_colour/green
+ color = "#aaffaa"
+
+/datum/client_colour/glass_colour/lightgreen
+ color = "#ccffcc"
+
+/datum/client_colour/glass_colour/blue
+ color = "#aaaaff"
+
+/datum/client_colour/glass_colour/lightblue
+ color = "#ccccff"
+
+/datum/client_colour/glass_colour/yellow
+ color = "#ffff66"
+
+/datum/client_colour/glass_colour/lightyellow
+ color = "#ffffaa"
+
+/datum/client_colour/glass_colour/red
+ color = "#ffaaaa"
+
+/datum/client_colour/glass_colour/lightred
+ color = "#ffcccc"
+
+/datum/client_colour/glass_colour/darkred
+ color = "#bb5555"
+
+/datum/client_colour/glass_colour/orange
+ color = "#ffbb99"
+
+/datum/client_colour/glass_colour/lightorange
+ color = "#ffddaa"
+
+/datum/client_colour/glass_colour/purple
+ color = "#ff99ff"
+
+/datum/client_colour/glass_colour/lightpurple
+ color = "#ffccff"
+
+/datum/client_colour/glass_colour/gray
+ color = "#cccccc"
+
+/datum/client_colour/glass_colour/nightmare
+ color = list(/*R*/ 255,0,0,0, /*G*/ 0,0,0,0, /*B*/ 0,0,0,0, /*A*/ 0,0,0,1, /*C*/ -130,0,0,0) //every color is either red or black
+ split_filters = TRUE
+
+#undef CLIENT_COLOR_VALUE_INDEX
+#undef CLIENT_COLOR_PRIORITY_INDEX
diff --git a/code/modules/client/preferences/_preference.dm b/code/modules/client/preferences/_preference.dm
index 37e40c80bb9..6b0693340de 100644
--- a/code/modules/client/preferences/_preference.dm
+++ b/code/modules/client/preferences/_preference.dm
@@ -333,7 +333,7 @@ GLOBAL_LIST_INIT(preference_entries_by_key, init_preference_entries_by_key())
/// Checks if this preference is relevant and thus visible to the passed preferences object.
/datum/preference/proc/has_relevant_feature(datum/preferences/preferences)
- if(isnull(relevant_inherent_trait) && isnull(relevant_external_organ) && isnull(relevant_head_flag) && isnull(relevant_body_markings) && isnull(relevant_mutant_bodypart)) // BUBBER EDIT ADDITION - Original: if(isnull(relevant_inherent_trait) && isnull(relevant_external_organ) && isnull(relevant_head_flag) && isnull(relevant_body_markings))
+ if(isnull(relevant_inherent_trait) && isnull(relevant_external_organ) && isnull(relevant_head_flag) && isnull(relevant_body_markings && isnull(relevant_mutant_bodypart)) // BUBBER EDIT ADDITION
return TRUE
return current_species_has_savekey(preferences)
diff --git a/code/modules/client/preferences/rds_limit.dm b/code/modules/client/preferences/rds_limit.dm
new file mode 100644
index 00000000000..d035791bbb8
--- /dev/null
+++ b/code/modules/client/preferences/rds_limit.dm
@@ -0,0 +1,11 @@
+/datum/preference/toggle/rds_limit
+ category = PREFERENCE_CATEGORY_MANUALLY_RENDERED
+ savefile_key = "rds_limit"
+ savefile_identifier = PREFERENCE_CHARACTER
+ default_value = FALSE
+
+/datum/preference/toggle/rds_limit/apply_to_human(mob/living/carbon/human/target, value)
+ return
+
+/datum/preference/toggle/rds_limit/is_accessible(datum/preferences/preferences)
+ return ..() && (/datum/quirk/insanity::name in preferences.all_quirks)
diff --git a/code/modules/client/preferences/tgui.dm b/code/modules/client/preferences/tgui.dm
index c09bba9740a..94cb68067f8 100644
--- a/code/modules/client/preferences/tgui.dm
+++ b/code/modules/client/preferences/tgui.dm
@@ -39,25 +39,29 @@
/// Changes layout in some UI's, like Vending, Smartfridge etc. Making it list or grid
/datum/preference/choiced/tgui_layout
- category = PREFERENCE_CATEGORY_GAME_PREFERENCES
savefile_key = "tgui_layout"
savefile_identifier = PREFERENCE_PLAYER
/datum/preference/choiced/tgui_layout/init_possible_values()
return list(
- TGUI_LAYOUT_DEFAULT,
TGUI_LAYOUT_GRID,
TGUI_LAYOUT_LIST,
)
/datum/preference/choiced/tgui_layout/create_default_value()
- return TGUI_LAYOUT_DEFAULT
+ return TGUI_LAYOUT_LIST
/datum/preference/choiced/tgui_layout/apply_to_client(client/client, value)
for (var/datum/tgui/tgui as anything in client.mob?.tgui_open_uis)
// Force it to reload either way
tgui.update_static_data(client.mob)
+/datum/preference/choiced/tgui_layout/smartfridge
+ savefile_key = "tgui_layout_smartfridge"
+
+/datum/preference/choiced/tgui_layout/create_default_value()
+ return TGUI_LAYOUT_GRID
+
/datum/preference/toggle/tgui_lock
category = PREFERENCE_CATEGORY_GAME_PREFERENCES
savefile_key = "tgui_lock"
diff --git a/code/modules/clothing/belts/polymorph_belt.dm b/code/modules/clothing/belts/polymorph_belt.dm
index 3bf7a8f7735..302743ce773 100644
--- a/code/modules/clothing/belts/polymorph_belt.dm
+++ b/code/modules/clothing/belts/polymorph_belt.dm
@@ -36,17 +36,30 @@
worn_icon_state = base_icon_state + (active ? "" : "_inactive")
return ..()
-/obj/item/polymorph_belt/attackby(obj/item/weapon, mob/user, params)
- if (!istype(weapon, /obj/item/assembly/signaler/anomaly/bioscrambler))
- return ..()
+/obj/item/polymorph_belt/item_interaction(mob/living/user, obj/item/tool, list/modifiers)
+ if (!istype(tool, /obj/item/assembly/signaler/anomaly/bioscrambler))
+ return NONE
+
+ if (active)
+ balloon_alert(user, "core already inserted!")
+ return ITEM_INTERACT_BLOCKING
+
balloon_alert(user, "inserting...")
+
if (!do_after(user, delay = 3 SECONDS, target = src))
- return
- qdel(weapon)
+ balloon_alert(user, "interrupted!")
+ return ITEM_INTERACT_BLOCKING
+
+ if (active)
+ balloon_alert(user, "core already inserted!")
+ return ITEM_INTERACT_BLOCKING
+
active = TRUE
update_appearance(UPDATE_ICON_STATE)
update_transform_action()
playsound(src, 'sound/machines/crate/crate_open.ogg', 50, FALSE)
+ qdel(tool)
+ return ITEM_INTERACT_SUCCESS
/obj/item/polymorph_belt/attack(mob/living/target_mob, mob/living/user, params)
. = ..()
diff --git a/code/modules/clothing/glasses/_glasses.dm b/code/modules/clothing/glasses/_glasses.dm
index 20345bee899..6c7c43fac58 100644
--- a/code/modules/clothing/glasses/_glasses.dm
+++ b/code/modules/clothing/glasses/_glasses.dm
@@ -30,7 +30,7 @@
/obj/item/clothing/glasses/Initialize(mapload)
. = ..()
if(glass_colour_type)
- AddElement(/datum/element/wearable_client_colour, glass_colour_type, ITEM_SLOT_EYES, forced = forced_glass_color)
+ AddElement(/datum/element/wearable_client_colour, glass_colour_type, ITEM_SLOT_EYES, GLASSES_TRAIT, forced = forced_glass_color)
/obj/item/clothing/glasses/suicide_act(mob/living/carbon/user)
user.visible_message(span_suicide("[user] is stabbing \the [src] into [user.p_their()] eyes! It looks like [user.p_theyre()] trying to commit suicide!"))
@@ -64,10 +64,10 @@
/obj/item/clothing/glasses/proc/change_glass_color(new_color_type)
if(glass_colour_type)
- RemoveElement(/datum/element/wearable_client_colour, glass_colour_type, ITEM_SLOT_EYES, forced = forced_glass_color)
+ RemoveElement(/datum/element/wearable_client_colour, glass_colour_type, ITEM_SLOT_EYES, GLASSES_TRAIT, forced = forced_glass_color)
glass_colour_type = new_color_type
if(glass_colour_type)
- AddElement(/datum/element/wearable_client_colour, glass_colour_type, ITEM_SLOT_EYES, forced = forced_glass_color)
+ AddElement(/datum/element/wearable_client_colour, glass_colour_type, ITEM_SLOT_EYES, GLASSES_TRAIT, forced = forced_glass_color)
/obj/item/clothing/glasses/meson
name = "optical meson scanner"
@@ -442,7 +442,7 @@
/obj/item/clothing/glasses/sunglasses/noir
name = "noir glasses"
desc = "A pair of sleek, futuristic glasses that allow the wearer to see the world in a different light."
- glass_colour_type = /datum/client_colour/monochrome
+ glass_colour_type = /datum/client_colour/monochrome/glasses
forced_glass_color = TRUE
///Syndicate item that upgrades the flash protection of your eyes.
diff --git a/code/modules/clothing/gloves/_gloves.dm b/code/modules/clothing/gloves/_gloves.dm
index 7d990e1ace5..1c9a0c169a6 100644
--- a/code/modules/clothing/gloves/_gloves.dm
+++ b/code/modules/clothing/gloves/_gloves.dm
@@ -47,9 +47,13 @@
. = ..()
if(isinhands)
return
-
if(damaged_clothes)
. += mutable_appearance('icons/effects/item_damage.dmi', "damagedgloves")
+
+/obj/item/clothing/gloves/separate_worn_overlays(mutable_appearance/standing, mutable_appearance/draw_target, isinhands, icon_file)
+ . = ..()
+ if(isinhands)
+ return
if(GET_ATOM_BLOOD_DNA_LENGTH(src))
. += mutable_appearance('icons/effects/blood.dmi', "gloveblood")
diff --git a/code/modules/clothing/head/_head.dm b/code/modules/clothing/head/_head.dm
index e4ae1b981cb..a8690c1f10c 100644
--- a/code/modules/clothing/head/_head.dm
+++ b/code/modules/clothing/head/_head.dm
@@ -54,16 +54,17 @@
R.visible_message(span_notice("[src] lands neatly on top of [R]!"), span_notice("[src] lands perfectly on top of you."))
R.place_on_head(src) //hats aren't designed to snugly fit borg heads or w/e so they'll always manage to knock eachother off
-
-
-
/obj/item/clothing/head/worn_overlays(mutable_appearance/standing, isinhands = FALSE)
. = ..()
if(isinhands)
return
-
if(damaged_clothes)
. += mutable_appearance('icons/effects/item_damage.dmi', "damagedhelmet")
+
+/obj/item/clothing/head/separate_worn_overlays(mutable_appearance/standing, mutable_appearance/draw_target, isinhands, icon_file)
+ . = ..()
+ if(isinhands)
+ return
if(GET_ATOM_BLOOD_DNA_LENGTH(src))
if(clothing_flags & LARGE_WORN_ICON)
. += mutable_appearance('icons/effects/64x64.dmi', "helmetblood_large")
diff --git a/code/modules/clothing/head/fedora.dm b/code/modules/clothing/head/fedora.dm
index 51c5afa2eba..ff192c96f7a 100644
--- a/code/modules/clothing/head/fedora.dm
+++ b/code/modules/clothing/head/fedora.dm
@@ -1,10 +1,10 @@
/obj/item/clothing/head/fedora
name = "fedora"
+ desc = "A really cool hat if you're a mobster. A really lame hat if you're not."
+ icon_state = "fedora"
icon = 'icons/obj/clothing/head/hats.dmi'
worn_icon = 'icons/mob/clothing/head/hats.dmi'
- icon_state = "fedora"
- inhand_icon_state = "fedora"
- desc = "A really cool hat if you're a mobster. A really lame hat if you're not."
+ hair_mask = HAIR_MASK_HIDE_ABOVE_45_DEG_LOW
/obj/item/clothing/head/fedora/Initialize(mapload)
. = ..()
@@ -45,3 +45,11 @@
desc = "A beige fedora with a piece of paper saying \"PRESS\" stuck in its rim."
icon_state = "fedora_press"
inhand_icon_state = null
+
+/obj/item/clothing/head/fedora/greyscale
+ icon_state = "fedora_greyscale"
+ inhand_icon_state = null
+ greyscale_colors = "#F0DAB4#794D2E"
+ greyscale_config = /datum/greyscale_config/fedora
+ greyscale_config_worn = /datum/greyscale_config/fedora/worn
+ flags_1 = IS_PLAYER_COLORABLE_1
diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm
index 9d735df4da0..89c78252b00 100644
--- a/code/modules/clothing/head/hardhat.dm
+++ b/code/modules/clothing/head/hardhat.dm
@@ -250,9 +250,9 @@
if(isnull(.))
return
if(new_value)
- AddElement(/datum/element/wearable_client_colour, /datum/client_colour/halloween_helmet, ITEM_SLOT_HEAD, forced = TRUE)
+ AddElement(/datum/element/wearable_client_colour, /datum/client_colour/halloween_helmet, ITEM_SLOT_HEAD, HELMET_TRAIT, forced = TRUE)
else
- RemoveElement(/datum/element/wearable_client_colour, /datum/client_colour/halloween_helmet, ITEM_SLOT_HEAD, forced = TRUE)
+ RemoveElement(/datum/element/wearable_client_colour, /datum/client_colour/halloween_helmet, ITEM_SLOT_HEAD, HELMET_TRAIT, forced = TRUE)
update_icon(UPDATE_OVERLAYS)
/obj/item/clothing/head/utility/hardhat/pumpkinhead/update_overlays()
diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm
index a0d7dafcfd7..0e78e4859bd 100644
--- a/code/modules/clothing/head/jobs.dm
+++ b/code/modules/clothing/head/jobs.dm
@@ -175,7 +175,6 @@
desc = "There's only one man who can sniff out the dirty stench of crime, and he's likely wearing this hat."
armor_type = /datum/armor/fedora_det_hat
icon_state = "detective"
- inhand_icon_state = "det_hat"
interaction_flags_click = NEED_DEXTERITY|NEED_HANDS|ALLOW_RESTING
dog_fashion = /datum/dog_fashion/head/detective
/// Path for the flask that spawns inside their hat roundstart
@@ -242,7 +241,6 @@
desc = "There's only one man can try to stop an evil villain."
armor_type = /datum/armor/fedora_det_hat
icon_state = "detective"
- inhand_icon_state = "det_hat"
dog_fashion = /datum/dog_fashion/head/detective
interaction_flags_click = FORBID_TELEKINESIS_REACH|ALLOW_RESTING
///prefix our phrases must begin with
diff --git a/code/modules/clothing/head/perceptomatrix.dm b/code/modules/clothing/head/perceptomatrix.dm
index f3be4abd459..9e31361e0c9 100644
--- a/code/modules/clothing/head/perceptomatrix.dm
+++ b/code/modules/clothing/head/perceptomatrix.dm
@@ -64,7 +64,6 @@
/obj/item/clothing/head/helmet/perceptomatrix/Initialize(mapload)
. = ..()
-
update_appearance(UPDATE_ICON_STATE)
update_anomaly_state()
AddComponent(/datum/component/adjust_fishing_difficulty, -7) // PSYCHIC FISHING
@@ -74,9 +73,11 @@
. = ..()
if(slot & ITEM_SLOT_HEAD)
RegisterSignal(user, COMSIG_MOB_BEFORE_SPELL_CAST, PROC_REF(pre_cast_core_check))
+ user.update_sight()
/obj/item/clothing/head/helmet/perceptomatrix/dropped(mob/living/user, silent)
UnregisterSignal(user, COMSIG_MOB_BEFORE_SPELL_CAST)
+ user.update_sight()
..()
// Prevent casting the spell w/o the core.
@@ -93,7 +94,7 @@
clothing_flags = PERCEPTOMATRIX_INACTIVE_FLAGS
detach_clothing_traits(additional_clothing_traits)
QDEL_LIST(active_components)
- RemoveElement(/datum/element/wearable_client_colour, /datum/client_colour/perceptomatrix, ITEM_SLOT_HEAD, forced = TRUE)
+ RemoveElement(/datum/element/wearable_client_colour, /datum/client_colour/perceptomatrix, ITEM_SLOT_HEAD, HELMET_TRAIT, forced = TRUE)
return
clothing_flags = PERCEPTOMATRIX_ACTIVE_FLAGS
@@ -107,7 +108,7 @@
antimagic_flags = MAGIC_RESISTANCE_MIND, \
inventory_flags = ITEM_SLOT_HEAD, \
)
- AddElement(/datum/element/wearable_client_colour, /datum/client_colour/perceptomatrix, ITEM_SLOT_HEAD, forced = TRUE)
+ AddElement(/datum/element/wearable_client_colour, /datum/client_colour/perceptomatrix, ITEM_SLOT_HEAD, HELMET_TRAIT, forced = TRUE)
update_icon_state()
@@ -239,10 +240,7 @@
cast_on.emote("scream")
cast_on.set_eye_blur_if_lower(eye_blur_duration)
cast_on.adjust_staggered(stagger_duration)
- cast_on.apply_status_effect(/datum/status_effect/hallucination, hallucination_duration, \
- hallucination_duration * 0.2, hallucination_duration) // lower/upper hallucination freq. bound
-
- return
+ cast_on.apply_status_effect(/datum/status_effect/hallucination/perceptomatrix, hallucination_duration, HALLUCINATION_TIER_RARE)
#undef PERCEPTOMATRIX_INACTIVE_FLAGS
#undef PERCEPTOMATRIX_ACTIVE_FLAGS
diff --git a/code/modules/clothing/head/soft_caps.dm b/code/modules/clothing/head/soft_caps.dm
index a25a8eb3ca9..2b7913b42c2 100644
--- a/code/modules/clothing/head/soft_caps.dm
+++ b/code/modules/clothing/head/soft_caps.dm
@@ -83,15 +83,6 @@
soft_type = "grey"
dog_fashion = null
-/* A grey baseball cap that grants TRAIT_JOLLY when it's on your head.
- * Used for testing that gaining and losing the JOLLY trait behaves properly.
- * Also a perfectly valid weird admin reward.
- */
-/obj/item/clothing/head/soft/grey/jolly
- name = "jolly grey cap"
- desc = "It's a baseball hat in a sublime grey colour. Why, wearing this alone would boost a person's spirits!"
- clothing_traits = list(TRAIT_JOLLY)
-
/obj/item/clothing/head/soft/orange
name = "orange cap"
desc = "It's a baseball hat in a tasteless orange colour."
diff --git a/code/modules/clothing/head/wig.dm b/code/modules/clothing/head/wig.dm
index 4280540b19f..3312d3fbd5f 100644
--- a/code/modules/clothing/head/wig.dm
+++ b/code/modules/clothing/head/wig.dm
@@ -43,7 +43,7 @@
var/mutable_appearance/hair_overlay = mutable_appearance(hair.icon, hair.icon_state, layer = -HAIR_LAYER, appearance_flags = RESET_COLOR)
hair_overlay.color = color
- hair_overlay.pixel_y = hair.y_offset
+ hair_overlay.pixel_z = hair.y_offset
. += hair_overlay
// So that the wig actually blocks emissives.
diff --git a/code/modules/clothing/masks/_masks.dm b/code/modules/clothing/masks/_masks.dm
index cb6112bffd2..35675909f17 100644
--- a/code/modules/clothing/masks/_masks.dm
+++ b/code/modules/clothing/masks/_masks.dm
@@ -28,14 +28,17 @@
/obj/item/clothing/mask/worn_overlays(mutable_appearance/standing, isinhands = FALSE)
. = ..()
- if(isinhands)
+ if(isinhands || !(body_parts_covered & HEAD))
return
+ if(damaged_clothes)
+ . += mutable_appearance('icons/effects/item_damage.dmi', "damagedmask")
- if(body_parts_covered & HEAD)
- if(damaged_clothes)
- . += mutable_appearance('icons/effects/item_damage.dmi', "damagedmask")
- if(GET_ATOM_BLOOD_DNA_LENGTH(src))
- . += mutable_appearance('icons/effects/blood.dmi', "maskblood")
+/obj/item/clothing/mask/separate_worn_overlays(mutable_appearance/standing, mutable_appearance/draw_target, isinhands, icon_file)
+ . = ..()
+ if(isinhands || !(body_parts_covered & HEAD))
+ return
+ if(GET_ATOM_BLOOD_DNA_LENGTH(src))
+ . += mutable_appearance('icons/effects/blood.dmi', "maskblood")
/obj/item/clothing/mask/update_clothes_damaged_state(damaged_state = CLOTHING_DAMAGED)
..()
diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm
index 105f36e780f..219dcba9690 100644
--- a/code/modules/clothing/masks/gasmask.dm
+++ b/code/modules/clothing/masks/gasmask.dm
@@ -55,7 +55,7 @@ GLOBAL_LIST_INIT(clown_mask_options, list(
LAZYADD(gas_filters, inserted_filter)
has_filter = TRUE
-/obj/item/clothing/mask/gas/worn_overlays(mutable_appearance/standing, isinhands)
+/obj/item/clothing/mask/gas/separate_worn_overlays(mutable_appearance/standing, mutable_appearance/draw_target, isinhands, icon_file)
. = ..()
if(!isinhands && cig)
. += cig.build_worn_icon(default_layer = FACEMASK_LAYER, default_icon_file = 'icons/mob/clothing/mask.dmi')
diff --git a/code/modules/clothing/neck/_neck.dm b/code/modules/clothing/neck/_neck.dm
index 486823453d5..ba87f1a76a1 100644
--- a/code/modules/clothing/neck/_neck.dm
+++ b/code/modules/clothing/neck/_neck.dm
@@ -9,14 +9,17 @@
/obj/item/clothing/neck/worn_overlays(mutable_appearance/standing, isinhands = FALSE)
. = ..()
- if(isinhands)
+ if(isinhands || !(body_parts_covered & HEAD))
return
+ if(damaged_clothes)
+ . += mutable_appearance('icons/effects/item_damage.dmi', "damagedmask")
- if(body_parts_covered & HEAD)
- if(damaged_clothes)
- . += mutable_appearance('icons/effects/item_damage.dmi', "damagedmask")
- if(GET_ATOM_BLOOD_DNA_LENGTH(src))
- . += mutable_appearance('icons/effects/blood.dmi', "maskblood")
+/obj/item/clothing/neck/separate_worn_overlays(mutable_appearance/standing, mutable_appearance/draw_target, isinhands, icon_file)
+ . = ..()
+ if(isinhands || !(body_parts_covered & HEAD))
+ return
+ if(GET_ATOM_BLOOD_DNA_LENGTH(src))
+ . += mutable_appearance('icons/effects/blood.dmi', "maskblood")
/obj/item/clothing/neck/bowtie
name = "bow tie"
diff --git a/code/modules/clothing/outfits/ert.dm b/code/modules/clothing/outfits/ert.dm
index 1d5171d6114..7bf084af0fa 100644
--- a/code/modules/clothing/outfits/ert.dm
+++ b/code/modules/clothing/outfits/ert.dm
@@ -173,10 +173,10 @@
if(visuals_only)
return
- var/obj/item/modular_computer/pda/heads/pda = H.r_store
- pda.imprint_id(H.real_name, "CentCom Official")
-
var/obj/item/card/id/W = H.wear_id
+ var/obj/item/modular_computer/pda/heads/pda = H.r_store
+ pda.imprint_id(H.real_name, "CentCom Official", W)
+
W.registered_name = H.real_name
W.update_label()
W.update_icon()
diff --git a/code/modules/clothing/shoes/_shoes.dm b/code/modules/clothing/shoes/_shoes.dm
index 9f7c10bc646..cd66f831020 100644
--- a/code/modules/clothing/shoes/_shoes.dm
+++ b/code/modules/clothing/shoes/_shoes.dm
@@ -58,9 +58,13 @@
. = ..()
if(isinhands)
return
-
if(damaged_clothes)
. += mutable_appearance('icons/effects/item_damage.dmi', "damagedshoe")
+
+/obj/item/clothing/shoes/separate_worn_overlays(mutable_appearance/standing, mutable_appearance/draw_target, isinhands = FALSE, icon_file)
+ . = ..()
+ if(isinhands)
+ return
if(GET_ATOM_BLOOD_DNA_LENGTH(src))
if(clothing_flags & LARGE_WORN_ICON)
. += mutable_appearance('icons/effects/64x64.dmi', "shoeblood_large")
@@ -82,7 +86,7 @@
/obj/item/clothing/shoes/visual_equipped(mob/user, slot)
..()
if(offset && (slot_flags & slot))
- user.pixel_y += offset
+ user.pixel_z += offset
worn_y_dimension -= (offset * 2)
user.update_worn_shoes()
equipped_before_drop = TRUE
@@ -95,7 +99,7 @@
/obj/item/clothing/shoes/proc/restore_offsets(mob/user)
equipped_before_drop = FALSE
- user.pixel_y -= offset
+ user.pixel_z -= offset
worn_y_dimension = ICON_SIZE_Y
/obj/item/clothing/shoes/dropped(mob/user)
@@ -173,12 +177,8 @@
to_chat(user, span_warning("You're already interacting with [src]!"))
return
user.visible_message(span_notice("[user] begins [tied ? "unknotting" : "[fastening_verb()]"] the [fastening_type] of [user.p_their()] [src.name]."), span_notice("You begin [tied ? "unknotting" : "[fastening_verb()]"] the [fastening_type] of your [src.name]..."))
- // BUBBER EDIT START
- var/tie_time = lace_time
- if(HAS_TRAIT(user, TRAIT_STICKY_FINGERS))
- tie_time *= 0.5
- if(do_after(user, tie_time, target = our_guy, extra_checks = CALLBACK(src, PROC_REF(still_shoed), our_guy)))
- // BUBBER EDIT END
+
+ if(do_after(user, lace_time, target = our_guy, extra_checks = CALLBACK(src, PROC_REF(still_shoed), our_guy)))
to_chat(user, span_notice("You [tied ? "unknot" : "[fasten_verb()]"] the [fastening_type] of your [src.name]."))
if(tied == SHOES_UNTIED)
adjust_laces(SHOES_TIED, user)
@@ -286,13 +286,9 @@
return
to_chat(user, span_notice("You begin [tied ? "un" : ""][fastening_verb()] the [fastening_type] on [src]..."))
- // BUBBER EDIT START
- var/tie_time = lace_time
- if(HAS_TRAIT(user, TRAIT_STICKY_FINGERS))
- tie_time *= 0.5
- if(do_after(user, tie_time, target = src,extra_checks = CALLBACK(src, PROC_REF(still_shoed), user)))
- // BUBBER EDIT END
- to_chat(user, span_notice("You [tied ? "untie" : "tie"] the laces on [src]."))
+
+ if(do_after(user, lace_time, target = src,extra_checks = CALLBACK(src, PROC_REF(still_shoed), user)))
+ to_chat(user, span_notice("You [tied ? "un" : ""][fasten_verb()] the [fastening_type] on [src]."))
adjust_laces(tied ? SHOES_UNTIED : SHOES_TIED, user)
/obj/item/clothing/shoes/apply_fantasy_bonuses(bonus)
@@ -310,7 +306,7 @@
return ..()
/// Returns appropriate description for unfastened shoes
-/obj/item/clothing/shoes/verb/untied_adjective()
+/obj/item/clothing/shoes/proc/untied_adjective()
switch(fastening_type)
if (SHOES_LACED)
return "untied"
@@ -320,7 +316,7 @@
return "nonexistant"
/// Returns appropriate verb for how to fasten shoes
-/obj/item/clothing/shoes/verb/fasten_verb()
+/obj/item/clothing/shoes/proc/fasten_verb()
switch(fastening_type)
if (SHOES_LACED)
return "tie"
@@ -330,7 +326,7 @@
return "do something mysterious to"
/// Returns appropriate verb for fastening shoes
-/obj/item/clothing/shoes/verb/fastening_verb()
+/obj/item/clothing/shoes/proc/fastening_verb()
switch(fastening_type)
if (SHOES_LACED)
return "tying"
diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm
index 59af4d1c5f6..0ccdfb5430b 100644
--- a/code/modules/clothing/spacesuits/plasmamen.dm
+++ b/code/modules/clothing/spacesuits/plasmamen.dm
@@ -180,15 +180,16 @@
///By the by, helmets have the update_icon_updates_onmob element, so we don't have to call mob.update_worn_head()
/obj/item/clothing/head/helmet/space/plasmaman/worn_overlays(mutable_appearance/standing, isinhands)
+ . = ..()
+ if(!isinhands && !up)
+ . += mutable_appearance('icons/mob/clothing/head/plasmaman_head.dmi', visor_icon)
+
+/obj/item/clothing/head/helmet/space/plasmaman/separate_worn_overlays(mutable_appearance/standing, mutable_appearance/draw_target, isinhands = FALSE, icon_file)
. = ..()
if(!isinhands && smile)
var/mutable_appearance/smiley = mutable_appearance('icons/mob/clothing/head/plasmaman_head.dmi', smile_state)
smiley.color = smile_color
. += smiley
- if(!isinhands && !up)
- . += mutable_appearance('icons/mob/clothing/head/plasmaman_head.dmi', visor_icon)
- else
- cut_overlays()
/obj/item/clothing/head/helmet/space/plasmaman/wash(clean_types)
. = ..()
diff --git a/code/modules/clothing/suits/_suits.dm b/code/modules/clothing/suits/_suits.dm
index dfde1eb2e05..5932e16063f 100644
--- a/code/modules/clothing/suits/_suits.dm
+++ b/code/modules/clothing/suits/_suits.dm
@@ -46,6 +46,13 @@
if(displayed.above_suit)
. += undershirt.modify_accessory_overlay() // SKYRAT EDIT CHANGE - ORIGINAL: . += undershirt.accessory_overlay
+/obj/item/clothing/suit/separate_worn_overlays(mutable_appearance/standing, mutable_appearance/draw_target, isinhands = FALSE, icon_file)
+ . = ..()
+ if(isinhands)
+ return
+ if(GET_ATOM_BLOOD_DNA_LENGTH(src))
+ . += mutable_appearance('icons/effects/blood.dmi', "[blood_overlay_type]blood")
+
/obj/item/clothing/suit/update_clothes_damaged_state(damaged_state = CLOTHING_DAMAGED)
..()
if(ismob(loc))
diff --git a/code/modules/clothing/suits/costume.dm b/code/modules/clothing/suits/costume.dm
index a91523d6d11..a9a515ced48 100644
--- a/code/modules/clothing/suits/costume.dm
+++ b/code/modules/clothing/suits/costume.dm
@@ -23,7 +23,7 @@
/obj/item/clothing/head/hooded/flashsuit/Initialize(mapload)
. = ..()
- AddElement(/datum/element/wearable_client_colour, /datum/client_colour/flash_hood, ITEM_SLOT_HEAD, forced = TRUE)
+ AddElement(/datum/element/wearable_client_colour, /datum/client_colour/flash_hood, ITEM_SLOT_HEAD, HELMET_TRAIT, forced = TRUE)
/obj/item/clothing/suit/costume/pirate
name = "pirate coat"
diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm
index affe103e307..80ef39e0496 100644
--- a/code/modules/clothing/suits/jobs.dm
+++ b/code/modules/clothing/suits/jobs.dm
@@ -26,6 +26,7 @@
/obj/item/secateurs,
/obj/item/seeds,
/obj/item/storage/bag/plants,
+ /obj/item/tank/internals/emergency_oxygen,
)
species_exception = list(/datum/species/golem)
armor_type = /datum/armor/suit_apron
diff --git a/code/modules/clothing/suits/labcoat.dm b/code/modules/clothing/suits/labcoat.dm
index 35fb7dcb2a6..15b9a4e5a8b 100644
--- a/code/modules/clothing/suits/labcoat.dm
+++ b/code/modules/clothing/suits/labcoat.dm
@@ -19,7 +19,7 @@
/obj/item/reagent_containers/cup/bottle,
/obj/item/reagent_containers/cup/tube,
/obj/item/reagent_containers/hypospray,
- /obj/item/reagent_containers/pill,
+ /obj/item/reagent_containers/applicator,
/obj/item/reagent_containers/syringe,
/obj/item/gun/syringe,
/obj/item/sensor_device,
diff --git a/code/modules/clothing/suits/reactive_armour.dm b/code/modules/clothing/suits/reactive_armour.dm
index eaa997607f0..813f296506f 100644
--- a/code/modules/clothing/suits/reactive_armour.dm
+++ b/code/modules/clothing/suits/reactive_armour.dm
@@ -349,7 +349,7 @@
/obj/item/clothing/suit/armor/reactive/hallucinating/emp_activation(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
owner.visible_message(span_danger("[src] blocks [attack_text], but pulls a massive charge of mental energy into [owner] from the surrounding environment!"))
- owner.adjust_hallucinations_up_to(50 SECONDS, 300 SECONDS)
+ owner.adjust_hallucinations_up_to(50 SECONDS, 240 SECONDS)
reactivearmor_cooldown = world.time + reactivearmor_cooldown_duration
return TRUE
diff --git a/code/modules/clothing/suits/wintercoats.dm b/code/modules/clothing/suits/wintercoats.dm
index ca0cdc5cef1..4e497ccbffa 100644
--- a/code/modules/clothing/suits/wintercoats.dm
+++ b/code/modules/clothing/suits/wintercoats.dm
@@ -301,7 +301,7 @@
/obj/item/reagent_containers/cup/bottle,
/obj/item/reagent_containers/cup/tube,
/obj/item/reagent_containers/hypospray,
- /obj/item/reagent_containers/pill,
+ /obj/item/reagent_containers/applicator,
/obj/item/reagent_containers/syringe,
/obj/item/sensor_device,
/obj/item/storage/pill_bottle,
@@ -431,7 +431,7 @@
/obj/item/reagent_containers/cup/bottle,
/obj/item/reagent_containers/cup/tube,
/obj/item/reagent_containers/hypospray,
- /obj/item/reagent_containers/pill,
+ /obj/item/reagent_containers/applicator/pill,
/obj/item/reagent_containers/syringe,
/obj/item/storage/bag/xeno,
/obj/item/storage/pill_bottle,
diff --git a/code/modules/clothing/under/_under.dm b/code/modules/clothing/under/_under.dm
index 24a7379edbd..edf57c85f18 100644
--- a/code/modules/clothing/under/_under.dm
+++ b/code/modules/clothing/under/_under.dm
@@ -100,11 +100,16 @@
if(damaged_clothes)
. += mutable_appearance('icons/effects/item_damage.dmi', "damageduniform")
- if(GET_ATOM_BLOOD_DNA_LENGTH(src))
- . += mutable_appearance('icons/effects/blood.dmi', "uniformblood")
if(accessory_overlay)
. += modify_accessory_overlay() // SKYRAT EDIT CHANGE - ORIGINAL: . += accessory_overlay
+/obj/item/clothing/under/separate_worn_overlays(mutable_appearance/standing, mutable_appearance/draw_target, isinhands = FALSE, icon_file)
+ . = ..()
+ if(isinhands)
+ return
+ if(GET_ATOM_BLOOD_DNA_LENGTH(src))
+ . += mutable_appearance('icons/effects/blood.dmi', "uniformblood")
+
/obj/item/clothing/under/attackby(obj/item/attacking_item, mob/user, params)
if(repair_sensors(attacking_item, user))
return TRUE
diff --git a/code/modules/clothing/under/accessories/_accessories.dm b/code/modules/clothing/under/accessories/_accessories.dm
index 5b25418838a..19ad5bc9d71 100644
--- a/code/modules/clothing/under/accessories/_accessories.dm
+++ b/code/modules/clothing/under/accessories/_accessories.dm
@@ -97,8 +97,8 @@
if(minimize_when_attached)
transform *= 0.5
- pixel_x += 8
- pixel_y += (-8 + LAZYLEN(attach_to.attached_accessories) * 2)
+ pixel_w += 8
+ pixel_z += (-8 + LAZYLEN(attach_to.attached_accessories) * 2)
RegisterSignal(attach_to, COMSIG_ITEM_EQUIPPED, PROC_REF(on_uniform_equipped))
RegisterSignal(attach_to, COMSIG_ITEM_DROPPED, PROC_REF(on_uniform_dropped))
diff --git a/code/modules/deathmatch/deathmatch_maps.dm b/code/modules/deathmatch/deathmatch_maps.dm
index e0f86ccc923..f2822cf331a 100644
--- a/code/modules/deathmatch/deathmatch_maps.dm
+++ b/code/modules/deathmatch/deathmatch_maps.dm
@@ -1,5 +1,5 @@
/datum/lazy_template/deathmatch
- map_dir = "_maps/deathmatch"
+ map_dir = "_maps/minigame/deathmatch"
place_on_top = TRUE
turf_reservation_type = /datum/turf_reservation/turf_not_baseturf
/// Map UI Name
diff --git a/code/modules/deathmatch/deathmatch_modifier.dm b/code/modules/deathmatch/deathmatch_modifier.dm
index ad2ab6adb62..5bf03105acb 100644
--- a/code/modules/deathmatch/deathmatch_modifier.dm
+++ b/code/modules/deathmatch/deathmatch_modifier.dm
@@ -590,7 +590,7 @@
. = ..()
var/datum/martial_art/picked_art_path = pick_weight(weighted_martial_arts)
- var/datum/martial_art/instantiated_art = new picked_art_path()
+ var/datum/martial_art/instantiated_art = new picked_art_path(player)
if (istype(instantiated_art, /datum/martial_art/boxing))
player.mind.adjust_experience(/datum/skill/athletics, SKILL_EXP_LEGENDARY)
diff --git a/code/modules/escape_menu/home_page.dm b/code/modules/escape_menu/home_page.dm
index 933f905cc80..5f29926d6c3 100644
--- a/code/modules/escape_menu/home_page.dm
+++ b/code/modules/escape_menu/home_page.dm
@@ -2,7 +2,7 @@
page_holder.give_screen_object(
new /atom/movable/screen/escape_menu/home_button(
null,
- /* hud_owner = */ src,
+ /* hud_owner = */ null,
src,
"Resume",
/* offset = */ 1,
@@ -35,7 +35,7 @@
page_holder.give_screen_object(
new /atom/movable/screen/escape_menu/home_button/admin_help(
null,
- /* hud_owner = */ src,
+ /* hud_owner = */ null,
src,
"Admin Help",
/* offset = */ 4,
@@ -46,7 +46,7 @@
page_holder.give_screen_object(
new /atom/movable/screen/escape_menu/home_button/leave_body(
null,
- /* hud_owner = */ src,
+ /* hud_owner = */ null,
src,
"Leave Body",
/* offset = */ 5,
@@ -169,6 +169,7 @@
/atom/movable/screen/escape_menu/home_button/admin_help/Initialize(
mapload,
+ datum/hud/hud_owner,
datum/escape_menu/escape_menu,
button_text,
offset,
@@ -292,6 +293,7 @@
/atom/movable/screen/escape_menu/home_button/leave_body/Initialize(
mapload,
+ datum/hud/hud_owner,
datum/escape_menu/escape_menu,
button_text,
offset,
diff --git a/code/modules/events/earthquake.dm b/code/modules/events/earthquake.dm
index 58b0a7e4082..6101714df01 100644
--- a/code/modules/events/earthquake.dm
+++ b/code/modules/events/earthquake.dm
@@ -144,7 +144,7 @@
for(var/turf/turf_to_clear in underbelly)
if(ismineralturf(turf_to_clear))
var/turf/closed/mineral/rock_to_clear = turf_to_clear
- rock_to_clear.gets_drilled(give_exp = FALSE)
+ rock_to_clear.gets_drilled()
for(var/turf/turf_to_quake in edges)
turf_to_quake.Shake(pixelshiftx = 0.5, pixelshifty = 0.5, duration = 1 SECONDS)
playsound(epicenter, 'sound/misc/metal_creak.ogg', 125, TRUE)
diff --git a/code/modules/events/holiday/easter.dm b/code/modules/events/holiday/easter.dm
index d10fb681cc5..dad3f31ba89 100644
--- a/code/modules/events/holiday/easter.dm
+++ b/code/modules/events/holiday/easter.dm
@@ -158,7 +158,7 @@
/datum/reagent/consumable/sugar = 1
)
result = /obj/item/food/hotcrossbun
-
+ added_foodtypes = SUGAR | BREAKFAST
category = CAT_BREAD
/datum/crafting_recipe/food/briochecake
@@ -178,6 +178,7 @@
bite_consumption = 3
food_reagents = list(/datum/reagent/consumable/nutriment = 6, /datum/reagent/consumable/nutriment/vitamin = 2)
crafting_complexity = FOOD_COMPLEXITY_2
+ foodtypes = MEAT
/datum/crafting_recipe/food/scotchegg
name = "Scotch egg"
@@ -188,6 +189,7 @@
/obj/item/food/meatball = 1
)
result = /obj/item/food/scotchegg
+ removed_foodtypes = BREAKFAST
category = CAT_EGG
/datum/crafting_recipe/food/mammi
@@ -198,6 +200,7 @@
/datum/reagent/consumable/milk = 5
)
result = /obj/item/food/bowled/mammi
+ added_foodtypes = DAIRY
category = CAT_MISCFOOD
/obj/item/food/chocolatebunny
@@ -206,6 +209,7 @@
icon_state = "chocolatebunny"
food_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/sugar = 2, /datum/reagent/consumable/coco = 2, /datum/reagent/consumable/nutriment/vitamin = 1)
crafting_complexity = FOOD_COMPLEXITY_1
+ foodtypes = JUNKFOOD | SUGAR
/datum/crafting_recipe/food/chocolatebunny
name = "Chocolate bunny"
diff --git a/code/modules/events/shuttle_loan/shuttle_loan_items.dm b/code/modules/events/shuttle_loan/shuttle_loan_items.dm
index ded82c6e1a6..14257a6a80b 100644
--- a/code/modules/events/shuttle_loan/shuttle_loan_items.dm
+++ b/code/modules/events/shuttle_loan/shuttle_loan_items.dm
@@ -1,13 +1,16 @@
/obj/item/storage/belt/fannypack/yellow/bee_terrorist/PopulateContents()
new /obj/item/grenade/c4 (src)
- new /obj/item/reagent_containers/pill/cyanide(src)
+ new /obj/item/reagent_containers/applicator/pill/cyanide(src)
new /obj/item/grenade/chem_grenade/facid(src)
/obj/item/paper/fluff/bee_objectives
name = "Objectives of a Bee Liberation Front Operative"
default_raw_text = "Objective #1 . Liberate all bees on the NT transport vessel 2416/B. Success! Objective #2 . Escape alive. Failed. "
+/obj/machinery/syndicatebomb/shuttle_loan
+ add_boom_wires = FALSE
+
/obj/machinery/syndicatebomb/shuttle_loan/Initialize(mapload)
. = ..()
set_anchored(TRUE)
diff --git a/code/modules/fishing/aquarium/aquarium.dm b/code/modules/fishing/aquarium/aquarium.dm
index d8386549780..2b1e190a9b1 100644
--- a/code/modules/fishing/aquarium/aquarium.dm
+++ b/code/modules/fishing/aquarium/aquarium.dm
@@ -11,10 +11,10 @@
integrity_failure = 0.3
//This is the area where fish can swim
- var/aquarium_zone_min_px = 2
- var/aquarium_zone_max_px = 31
- var/aquarium_zone_min_py = 10
- var/aquarium_zone_max_py = 28
+ var/aquarium_zone_min_pw = 2
+ var/aquarium_zone_max_pw = 31
+ var/aquarium_zone_min_pz = 10
+ var/aquarium_zone_max_pz = 28
/// Default beauty of the aquarium, without anything inside it
var/default_beauty = 150
@@ -24,7 +24,7 @@
/obj/structure/aquarium/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/aquarium, aquarium_zone_min_px, aquarium_zone_max_px, aquarium_zone_min_py, aquarium_zone_max_py, default_beauty)
+ AddComponent(/datum/component/aquarium, aquarium_zone_min_pw, aquarium_zone_max_pw, aquarium_zone_min_pz, aquarium_zone_max_pz, default_beauty)
AddComponent(/datum/component/plumbing/aquarium, start = anchored)
RegisterSignal(src, COMSIG_AQUARIUM_FLUID_CHANGED, PROC_REF(on_aquarium_liquid_changed))
update_appearance()
diff --git a/code/modules/fishing/aquarium/aquarium_kit.dm b/code/modules/fishing/aquarium/aquarium_kit.dm
index a44790f4da1..71be9a10f56 100644
--- a/code/modules/fishing/aquarium/aquarium_kit.dm
+++ b/code/modules/fishing/aquarium/aquarium_kit.dm
@@ -188,6 +188,7 @@
name = "aquarium props box"
desc = "All you need to make your aquarium look good."
illustration = "fish"
+ custom_price = PAYCHECK_LOWER
/obj/item/storage/box/aquarium_props/PopulateContents()
for(var/prop_type in subtypesof(/obj/item/aquarium_prop))
diff --git a/code/modules/fishing/aquarium/fish_analyzer.dm b/code/modules/fishing/aquarium/fish_analyzer.dm
index 3df28e326ac..95b6b0f16c1 100644
--- a/code/modules/fishing/aquarium/fish_analyzer.dm
+++ b/code/modules/fishing/aquarium/fish_analyzer.dm
@@ -112,7 +112,7 @@
for(var/trait_type in fishie.fish_traits)
var/datum/fish_trait/trait = GLOB.fish_traits[trait_type]
- fish_traits += list(list("trait_name" = trait.name, "trait_desc" = trait.catalog_description, "trait_inherit" = trait.diff_traits_inheritability))
+ fish_traits += list(list("trait_name" = trait.name, "trait_desc" = trait.catalog_description, "trait_inherit" = trait.inheritability))
data["fish_list"] += list(list(
"fish_name" = fishie.name,
diff --git a/code/modules/fishing/fish/_fish.dm b/code/modules/fishing/fish/_fish.dm
index bddaa171d74..f7cb4e2b727 100644
--- a/code/modules/fishing/fish/_fish.dm
+++ b/code/modules/fishing/fish/_fish.dm
@@ -3,6 +3,9 @@
#define GET_FISH_ELECTROGENESIS(fish) (fish.electrogenesis_power * fish.size * 0.1)
+#define FISH_SUBMERGING_THRESHOLD 100 SECONDS
+#define STARVING_FISH_SUBMERGING_THRESHOLD 20 SECONDS
+
// Fish path used for autogenerated fish
/obj/item/fish
name = "fish"
@@ -181,6 +184,8 @@
/// only used in the suicide for comedic value
var/suicide_slap_text = "*SLAP!*"
+ var/time_passed_on_safe_turf = 0
+
/obj/item/fish/Initialize(mapload, apply_qualities = TRUE)
. = ..()
base_icon_state = icon_state
@@ -288,11 +293,14 @@
user.visible_message(span_notice("[user] releases [src] into [interacting_with]"), \
span_notice("You release [src] into [interacting_with]. [goodbye_text]"), \
span_notice("You hear a splash."))
- playsound(interacting_with, 'sound/effects/splash.ogg', 50)
- SEND_SIGNAL(interacting_with, COMSIG_FISH_RELEASED_INTO, src, user)
- qdel(src)
+ released(interacting_with, user)
return ITEM_INTERACT_SUCCESS
+/obj/item/fish/proc/released(atom/location, mob/living/user)
+ playsound(location, 'sound/effects/splash.ogg', 50)
+ SEND_SIGNAL(location, COMSIG_FISH_RELEASED_INTO, src, user)
+ qdel(src)
+
///Main proc that makes the fish edible.
/obj/item/fish/proc/make_edible()
var/foodtypes = get_food_types()
@@ -823,8 +831,8 @@
if(length(fish_traits & trait.incompatible_traits))
continue
// If there's no partner, we've been reated through parthenogenesis or growth, therefore, traits are copied
- // Otherwise, we do some probability checks.
- if(!y_traits || ((trait_type in same_traits) ? prob(trait.inheritability) : prob(trait.diff_traits_inheritability)))
+ // Otherwise, we check if both have the trait or perform a probability check.
+ if(!y_traits || (trait_type in same_traits) || prob(trait.inheritability))
fish_traits |= trait_type
incompatible_traits |= trait.incompatible_traits
@@ -943,12 +951,18 @@
stop_flopping()
/obj/item/fish/process(seconds_per_tick)
- do_fish_process(seconds_per_tick)
-
-/obj/item/fish/proc/do_fish_process(seconds_per_tick)
if(HAS_TRAIT(src, TRAIT_FISH_STASIS) || status != FISH_ALIVE)
return
+ do_fish_process(seconds_per_tick)
+ if(status != FISH_ALIVE || !is_type_in_typecache(loc, SSfishing.fish_safe_turfs_by_type[type]))
+ time_passed_on_safe_turf = 0 SECONDS
+ return
+ time_passed_on_safe_turf += seconds_per_tick SECONDS
+ if(time_passed_on_safe_turf >= (get_starvation_mult() ? STARVING_FISH_SUBMERGING_THRESHOLD : FISH_SUBMERGING_THRESHOLD))
+ visible_message(span_notice("[src] disperses into \the [loc]"), span_notice("You hear a splash."))
+ released(loc)
+/obj/item/fish/proc/do_fish_process(seconds_per_tick)
//safe mode, don't do much except a few things that don't involve growing or reproducing.
if(loc && HAS_TRAIT_FROM(loc, TRAIT_STOP_FISH_REPRODUCTION_AND_GROWTH, AQUARIUM_TRAIT))
last_feeding += seconds_per_tick SECONDS
@@ -1071,13 +1085,13 @@
SIGNAL_HANDLER
var/avg_width = round(sprite_width * 0.5)
var/avg_height = round(sprite_height * 0.5)
- var/px_min = visual.aquarium_zone_min_px + avg_width - 16
- var/px_max = visual.aquarium_zone_max_px - avg_width - 16
- var/py_min = visual.aquarium_zone_min_py + avg_height - 16
- var/py_max = visual.aquarium_zone_max_py - avg_height - 16
+ var/pw_min = visual.aquarium_zone_min_pw + avg_width - 16
+ var/pw_max = visual.aquarium_zone_max_pw - avg_width - 16
+ var/pz_min = visual.aquarium_zone_min_pz + avg_height - 16
+ var/pz_max = visual.aquarium_zone_max_pz - avg_height - 16
- visual.pixel_x = visual.base_pixel_x = rand(px_min,px_max)
- visual.pixel_y = visual.base_pixel_y = rand(py_min,py_max)
+ visual.pixel_w = visual.base_pixel_w = rand(pw_min,pw_max)
+ visual.pixel_z = visual.base_pixel_z = rand(pz_min,pz_max)
/obj/item/fish/proc/update_aquarium_animation(datum/source, current_animation, obj/effect/visual, fluid_type)
SIGNAL_HANDLER
@@ -1101,40 +1115,40 @@
var/avg_width = round(sprite_width / 2)
var/avg_height = round(sprite_height / 2)
- var/px_min = visual.aquarium_zone_min_px + avg_width - 16
- var/px_max = visual.aquarium_zone_max_px - avg_width - 16
- var/py_min = visual.aquarium_zone_min_py + avg_height - 16
- var/py_max = visual.aquarium_zone_max_py - avg_width - 16
+ var/pw_min = visual.aquarium_zone_min_pw + avg_width - 16
+ var/pw_max = visual.aquarium_zone_max_pw - avg_width - 16
+ var/pz_min = visual.aquarium_zone_min_pz + avg_height - 16
+ var/pz_max = visual.aquarium_zone_max_pz - avg_width - 16
- var/origin_x = visual.base_pixel_x
- var/origin_y = visual.base_pixel_y
- var/prev_x = origin_x
- var/prev_y = origin_y
- animate(visual, pixel_x = origin_x, time = 0, loop = -1) //Just to start the animation
+ var/origin_w = visual.base_pixel_w
+ var/origin_z = visual.base_pixel_z
+ var/prev_w = origin_w
+ var/prev_z = origin_z
+ animate(visual, pixel_w = origin_w, time = 0, loop = -1) //Just to start the animation
var/move_number = rand(3, 5) //maybe unhardcode this
for(var/i in 1 to move_number)
//If it's last movement, move back to start otherwise move to some random point
- var/target_x = i == move_number ? origin_x : rand(px_min,px_max) //could do with enforcing minimal delta for prettier zigzags
- var/target_y = i == move_number ? origin_y : rand(py_min,py_max)
- var/dx = prev_x - target_x
- var/dy = prev_y - target_y
- prev_x = target_x
- prev_y = target_y
- var/dist = abs(dx) + abs(dy)
+ var/target_w = i == move_number ? origin_w : rand(pw_min,pw_max) //could do with enforcing minimal delta for prettier zigzags
+ var/target_z = i == move_number ? origin_z : rand(pz_min,pz_max)
+ var/dist_w = prev_w - target_w
+ var/dist_z = prev_z - target_z
+ prev_w = target_w
+ prev_z = target_z
+ var/dist = abs(dist_w) + abs(dist_z)
var/eyeballed_time = dist * 2 //2ds per px
//Face the direction we're going
var/matrix/dir_mx = matrix(visual.transform)
- if(dx <= 0) //assuming default sprite is facing left here
+ if(dist_w <= 0) //assuming default sprite is facing left here
dir_mx.Scale(-1, 1)
animate(transform = dir_mx, time = 0, loop = -1)
- animate(pixel_x = target_x, pixel_y = target_y, time = eyeballed_time, loop = -1)
+ animate(pixel_w = target_w, pixel_z = target_z, time = eyeballed_time, loop = -1)
/obj/item/fish/proc/dead_animation(obj/effect/aquarium/visual)
//Set base_pixel_y to lowest possible value
var/avg_height = round(sprite_height / 2)
- var/py_min = visual.aquarium_zone_min_py + avg_height - 16
- visual.base_pixel_y = py_min
- animate(visual, pixel_y = py_min, time = 1) //flop to bottom and end current animation.
+ var/pz_min = visual.aquarium_zone_min_pz + avg_height - 16
+ visual.base_pixel_z = pz_min
+ animate(visual, pixel_z = pz_min, time = 1) //flop to bottom and end current animation.
///Malus to the beauty value if the fish content is dead
#define DEAD_FISH_BEAUTY -500
@@ -1157,11 +1171,16 @@
/// Checks if our current environment lets us live.
/obj/item/fish/proc/proper_environment(temp_range_min = required_temperature_min, temp_range_max = required_temperature_max)
- if(loc && HAS_TRAIT(loc, TRAIT_IS_AQUARIUM))
+ if(!loc)
+ return TRUE
+
+ if(HAS_TRAIT(loc, TRAIT_IS_AQUARIUM))
if(!(fish_flags & FISH_FLAG_SAFE_TEMPERATURE) || !(fish_flags & FISH_FLAG_SAFE_FLUID))
return FALSE
return TRUE
+ if(is_type_in_typecache(loc, SSfishing.fish_safe_turfs_by_type[type]))
+ return TRUE
if(required_fluid_type != AQUARIUM_FLUID_AIR && !HAS_TRAIT(src, TRAIT_FISH_AMPHIBIOUS))
return FALSE
var/datum/gas_mixture/mixture = loc.return_air()
@@ -1567,3 +1586,5 @@
#undef GET_FISH_ELECTROGENESIS
#undef FISH_SAD
#undef FISH_VERY_HAPPY
+#undef FISH_SUBMERGING_THRESHOLD
+#undef STARVING_FISH_SUBMERGING_THRESHOLD
diff --git a/code/modules/fishing/fish/fish_traits.dm b/code/modules/fishing/fish/fish_traits.dm
index 0d0b6d1bd2f..b586622892d 100644
--- a/code/modules/fishing/fish/fish_traits.dm
+++ b/code/modules/fishing/fish/fish_traits.dm
@@ -28,9 +28,7 @@ GLOBAL_LIST_INIT(spontaneous_fish_traits, populate_spontaneous_fish_traits())
///A list of traits fish cannot have in conjunction with this trait.
var/list/incompatible_traits
/// The probability this trait can be inherited by offsprings when both mates have it
- var/inheritability = 100
- /// Same as above, but for when only one has it.
- var/diff_traits_inheritability = 50
+ var/inheritability = 50
/// A list of fish types and traits that they can spontaneously manifest with associated probabilities
var/list/spontaneous_manifest_types
/// An optional whitelist of fish that can get this trait
@@ -356,8 +354,7 @@ GLOBAL_LIST_INIT(spontaneous_fish_traits, populate_spontaneous_fish_traits())
/datum/fish_trait/parthenogenesis
name = "Parthenogenesis"
catalog_description = "This fish can reproduce asexually, without the need of a mate."
- inheritability = 80
- diff_traits_inheritability = 25
+ inheritability = 40
/datum/fish_trait/parthenogenesis/apply_to_fish(obj/item/fish/fish)
. = ..()
@@ -386,14 +383,13 @@ GLOBAL_LIST_INIT(spontaneous_fish_traits, populate_spontaneous_fish_traits())
/datum/fish_trait/recessive
name = "Recessive"
catalog_description = "If crossbred, offsprings will always be of the mate species, unless it also possess the trait."
- diff_traits_inheritability = 0
+ inheritability = 0
/datum/fish_trait/no_mating/apply_to_fish(obj/item/fish/fish)
. = ..()
ADD_TRAIT(fish, TRAIT_FISH_RECESSIVE, FISH_TRAIT_DATUM)
/datum/fish_trait/revival
- diff_traits_inheritability = 15
name = "Self-Revival"
catalog_description = "This fish shows a peculiar ability of reviving itself a minute or two after death."
spontaneous_manifest_types = list(/obj/item/fish/boned = 100, /obj/item/fish/mastodon = 100)
@@ -460,7 +456,6 @@ GLOBAL_LIST_INIT(spontaneous_fish_traits, populate_spontaneous_fish_traits())
/datum/fish_trait/toxic
name = "Toxic"
catalog_description = "This fish contains toxins. Feeding it to predatory fishes or people is not recommended."
- diff_traits_inheritability = 25
reagents_to_add = list(/datum/reagent/toxin/tetrodotoxin = 1)
infusion_entry = /datum/infuser_entry/ttx_healing
///The amount of venom injected if the fish has a stinger is multiplied by this value.
@@ -506,7 +501,6 @@ GLOBAL_LIST_INIT(spontaneous_fish_traits, populate_spontaneous_fish_traits())
/datum/fish_trait/toxic/carpotoxin
name = "Carpotoxic"
catalog_description = "This fish contains carpotoxin. Definitely not safe for consumption."
- diff_traits_inheritability = 50
reagents_to_add = list(/datum/reagent/toxin/carpotoxin = 4)
infusion_entry = null
venom_mult = 6
@@ -514,7 +508,6 @@ GLOBAL_LIST_INIT(spontaneous_fish_traits, populate_spontaneous_fish_traits())
/datum/fish_trait/toxin_immunity
name = "Toxin Immunity"
catalog_description = "This fish has developed an ample-spected immunity to toxins."
- diff_traits_inheritability = 40
/datum/fish_trait/toxin_immunity/apply_to_fish(obj/item/fish/fish)
. = ..()
@@ -523,8 +516,7 @@ GLOBAL_LIST_INIT(spontaneous_fish_traits, populate_spontaneous_fish_traits())
/datum/fish_trait/crossbreeder
name = "Crossbreeder"
catalog_description = "This fish's adaptive genetics allows it to crossbreed with other fish species."
- inheritability = 80
- diff_traits_inheritability = 20
+ inheritability = 40
incompatible_traits = list(/datum/fish_trait/no_mating)
/datum/fish_trait/crossbreeder/apply_to_fish(obj/item/fish/fish)
@@ -533,8 +525,6 @@ GLOBAL_LIST_INIT(spontaneous_fish_traits, populate_spontaneous_fish_traits())
/datum/fish_trait/territorial
name = "Territorial"
- inheritability = 80
- diff_traits_inheritability = 40
catalog_description = "This fish will start attacking other fish if the aquarium has five or more."
/datum/fish_trait/territorial/apply_to_fish(obj/item/fish/fish)
@@ -558,8 +548,6 @@ GLOBAL_LIST_INIT(spontaneous_fish_traits, populate_spontaneous_fish_traits())
/datum/fish_trait/lubed
name = "Lubed"
- inheritability = 90
- diff_traits_inheritability = 45
spontaneous_manifest_types = list(/obj/item/fish/clownfish/lube = 100)
catalog_description = "This fish exudes a viscous, slippery lubrificant. It's recommended not to step on it."
added_difficulty = 5
@@ -584,8 +572,6 @@ GLOBAL_LIST_INIT(spontaneous_fish_traits, populate_spontaneous_fish_traits())
/datum/fish_trait/amphibious
name = "Amphibious"
- inheritability = 80
- diff_traits_inheritability = 40
catalog_description = "This fish has developed a primitive adaptation to life on both land and water."
infusion_entry = /datum/infuser_entry/amphibious
@@ -597,8 +583,6 @@ GLOBAL_LIST_INIT(spontaneous_fish_traits, populate_spontaneous_fish_traits())
/datum/fish_trait/mixotroph
name = "Mixotroph"
- inheritability = 75
- diff_traits_inheritability = 25
catalog_description = "This fish is capable of substaining itself by producing its own sources of energy (food)."
incompatible_traits = list(/datum/fish_trait/predator, /datum/fish_trait/necrophage)
@@ -608,8 +592,6 @@ GLOBAL_LIST_INIT(spontaneous_fish_traits, populate_spontaneous_fish_traits())
/datum/fish_trait/antigrav
name = "Anti-Gravity"
- inheritability = 75
- diff_traits_inheritability = 25
catalog_description = "This fish will invert the gravity of the bait at random. May fall upward outside after being caught."
added_difficulty = 20
reagents_to_add = list(/datum/reagent/gravitum = 2.3)
@@ -630,10 +612,14 @@ GLOBAL_LIST_INIT(spontaneous_fish_traits, populate_spontaneous_fish_traits())
///This is just barely enough to crossbreed out of anxiety, but it severely limits the potential of
/datum/fish_trait/anxiety
name = "Anxiety"
- inheritability = 100
- diff_traits_inheritability = 70
catalog_description = "This fish tends to die of stress when forced to be around too many other fish."
+/datum/fish_trait/anxiety/difficulty_mod(obj/item/fishing_rod/rod, mob/fisherman)
+ . = ..()
+ // Anxious fish are easier with a cloaked line.
+ if(rod.line && (rod.line.fishing_line_traits & FISHING_LINE_CLOAKED))
+ .[ADDITIVE_FISHING_MOD] -= FISH_TRAIT_MINOR_DIFFICULTY_BOOST
+
/datum/fish_trait/anxiety/apply_to_fish(obj/item/fish/fish)
. = ..()
RegisterSignal(fish, COMSIG_FISH_LIFE, PROC_REF(on_fish_life))
@@ -653,8 +639,6 @@ GLOBAL_LIST_INIT(spontaneous_fish_traits, populate_spontaneous_fish_traits())
/datum/fish_trait/electrogenesis
name = "Electrogenesis"
- inheritability = 60
- diff_traits_inheritability = 30
catalog_description = "This fish is electroreceptive, and will generate electric fields. Can be harnessed inside a bioelectric generator."
reagents_to_add = list(/datum/reagent/consumable/liquidelectricity = 1.5)
@@ -701,7 +685,6 @@ GLOBAL_LIST_INIT(spontaneous_fish_traits, populate_spontaneous_fish_traits())
catalog_description = "This chrab's development is stunted, and will not properly reach adulthood."
spontaneous_manifest_types = list(/obj/item/fish/chasm_crab = 12)
fish_whitelist = list(/obj/item/fish/chasm_crab, /obj/item/fish/chasm_crab/ice)
- diff_traits_inheritability = 40
/datum/fish_trait/stunted/apply_to_mob(mob/living/basic/mob)
. = ..()
@@ -709,8 +692,6 @@ GLOBAL_LIST_INIT(spontaneous_fish_traits, populate_spontaneous_fish_traits())
/datum/fish_trait/stinger
name = "Stinger"
- inheritability = 80
- diff_traits_inheritability = 35
catalog_description = "This fish is equipped with a sharp stringer or bill capable of delivering damage and toxins."
spontaneous_manifest_types = list(
/obj/item/fish/stingray = 100,
@@ -785,7 +766,6 @@ GLOBAL_LIST_INIT(spontaneous_fish_traits, populate_spontaneous_fish_traits())
/datum/fish_trait/ink
name = "Ink Production"
catalog_description = "This fish possess a sac that produces ink."
- diff_traits_inheritability = 70
spontaneous_manifest_types = list(/obj/item/fish/squid = 35)
infusion_entry = /datum/infuser_entry/squid
diff --git a/code/modules/fishing/fish/types/air_space.dm b/code/modules/fishing/fish/types/air_space.dm
index 1a1d809526b..8e53f00d46b 100644
--- a/code/modules/fishing/fish/types/air_space.dm
+++ b/code/modules/fishing/fish/types/air_space.dm
@@ -200,7 +200,7 @@
if(status == FISH_DEAD)
eyes.icon_state += "_dead"
else
- eyes.appearance_flags = RESET_COLOR
+ eyes.appearance_flags = RESET_COLOR|KEEP_APART
. += eyes
///Determines the speed at which the carp grows based on how big it's
diff --git a/code/modules/fishing/fish/types/rift.dm b/code/modules/fishing/fish/types/rift.dm
index 2a43dcaadfb..a9a9763daab 100644
--- a/code/modules/fishing/fish/types/rift.dm
+++ b/code/modules/fishing/fish/types/rift.dm
@@ -192,6 +192,9 @@
/obj/item/fish/dolphish/do_fish_process(seconds_per_tick)
. = ..()
+ if(QDELETED(src))
+ return
+
var/patience_reduction = 1
var/turf/onturf = get_turf(loc)
diff --git a/code/modules/fishing/fishing_equipment.dm b/code/modules/fishing/fishing_equipment.dm
index 47ee0e6c123..7a4ae4dd4ec 100644
--- a/code/modules/fishing/fishing_equipment.dm
+++ b/code/modules/fishing/fishing_equipment.dm
@@ -44,7 +44,7 @@
desc = "Even harder to notice than the common variety."
icon_state = "reel_white"
fishing_line_traits = FISHING_LINE_CLOAKED
- line_color = "#82cfdd"
+ line_color = "#82cfdd20" //low alpha channel value, harder to see.
wiki_desc = "Fishing anxious and wary fish will be easier with this equipped."
/obj/item/fishing_line/bouncy
@@ -87,8 +87,8 @@
icon_state = "reel_auto"
fishing_line_traits = FISHING_LINE_AUTOREEL
line_color = "#F88414"
- wiki_desc = "Automatically starts the minigame once the fish bites the bait. It also spin fishing lures for you without needing an input. \
- It can also be used to snag in objects from a distance more rapidly. \
+ wiki_desc = "Automatically starts the minigame and helps guide the bait a little. It also spin fishing lures for you without need of an input. \
+ It can also be used to snag in objects from a distance and throw them in your direction. \
It requires the Advanced Fishing Technology Node to be researched to be printed. "
/obj/item/fishing_line/auto_reel/Initialize(mapload)
diff --git a/code/modules/fishing/fishing_minigame.dm b/code/modules/fishing/fishing_minigame.dm
index 5ecd960db57..0d42be519c2 100644
--- a/code/modules/fishing/fishing_minigame.dm
+++ b/code/modules/fishing/fishing_minigame.dm
@@ -5,8 +5,6 @@
// UI minigame phase
#define MINIGAME_PHASE 3
-// Acceleration mod when bait is over fish
-#define FISH_ON_BAIT_ACCELERATION_MULT 0.6
/// The minimum velocity required for the bait to bounce
#define BAIT_MIN_VELOCITY_BOUNCE 150
@@ -109,10 +107,12 @@ GLOBAL_LIST_EMPTY(fishing_challenges_by_user)
var/gravity_velocity = -800
/// The acceleration of the bait while reeling
var/reeling_velocity = 1200
- /// By how much the bait recoils back when hitting the bounds of the slider while idle
+ /// By how much the bait recoils back when hitting the bounds of the slider while idle. Should be never above 1
var/bait_bounce_mult = 0.6
/// The multiplier of deceleration of velocity that happens when the bait switches direction
var/deceleration_mult = 1.8
+ /// Multiplier of the velocity applied when the bait is overlapping the fish
+ var/overlap_velocity_mult = 0.6
///The background as shown in the minigame, and the holder of the other visual overlays
var/atom/movable/screen/fishing_hud/fishing_hud
@@ -170,6 +170,11 @@ GLOBAL_LIST_EMPTY(fishing_challenges_by_user)
bait_bounce_mult *= rod.bounciness_mult
deceleration_mult *= rod.deceleration_mult
gravity_velocity *= rod.gravity_mult
+ /**
+ * The overlap multiplier is lower than 1 by default and exponentiation will make it even lower,
+ * to offset the harder control however a bait velocity higher (or lower) than normal.
+ */
+ overlap_velocity_mult = overlap_velocity_mult ** rod.bait_speed_mult
/datum/fishing_challenge/Destroy(force)
GLOB.fishing_challenges_by_user -= user
@@ -406,8 +411,8 @@ GLOBAL_LIST_EMPTY(fishing_challenges_by_user)
deltimer(next_phase_timer)
phase = WAIT_PHASE
//Bobbing animation
- animate(float, pixel_y = 1, time = 1 SECONDS, loop = -1, flags = ANIMATION_RELATIVE)
- animate(pixel_y = -1, time = 1 SECONDS, flags = ANIMATION_RELATIVE)
+ animate(float, pixel_z = 1, time = 1 SECONDS, loop = -1, flags = ANIMATION_RELATIVE)
+ animate(pixel_z = -1, time = 1 SECONDS, flags = ANIMATION_RELATIVE)
next_phase_timer = addtimer(CALLBACK(src, PROC_REF(start_biting_phase)), wait_time, TIMER_STOPPABLE|TIMER_DELETE_ME)
if(float.spin_frequency)
set_lure_timers()
@@ -464,8 +469,8 @@ GLOBAL_LIST_EMPTY(fishing_challenges_by_user)
send_alert("organ!!!")
else
send_alert("!!!")
- animate(float, pixel_y = 3, time = 5, loop = -1, flags = ANIMATION_RELATIVE)
- animate(pixel_y = -3, time = 5, flags = ANIMATION_RELATIVE)
+ animate(float, pixel_z = 3, time = 5, loop = -1, flags = ANIMATION_RELATIVE)
+ animate(pixel_z = -3, time = 5, flags = ANIMATION_RELATIVE)
if(special_effects & FISHING_MINIGAME_AUTOREEL)
addtimer(CALLBACK(src, PROC_REF(automatically_start_minigame)), 0.2 SECONDS)
// Setup next phase
@@ -739,13 +744,21 @@ GLOBAL_LIST_EMPTY(fishing_challenges_by_user)
velocity_change = gravity_velocity
else
velocity_change = -gravity_velocity
- velocity_change *= (fish_on_bait ? FISH_ON_BAIT_ACCELERATION_MULT : 1) * seconds_per_tick
+ velocity_change *= (fish_on_bait ? overlap_velocity_mult : 1) * seconds_per_tick
velocity_change = round(velocity_change)
if(current_active_effect == FISHING_MINIGAME_RULE_ANTIGRAV)
velocity_change = -velocity_change
+ if(reeling_state == REELING_STATE_IDLE && (special_effects & FISHING_MINIGAME_AUTOREEL))
+ var/bait_center = bait_position + bait_height / 2
+ var/auto_adjustment = reeling_velocity * 0.2
+ if(fish_position > bait_center)
+ velocity_change += auto_adjustment
+ else
+ velocity_change -= auto_adjustment
+
/**
* Pull the brake on the velocity if the current velocity and the acceleration
* have different directions, making the bait less slippery, thus easier to control
@@ -765,7 +778,7 @@ GLOBAL_LIST_EMPTY(fishing_challenges_by_user)
bait_velocity += velocity_change
//check that the fish area is still intersecting the bait now that it has moved
- if(is_fish_on_bait())
+ if(fish_on_bait)
completion += completion_gain * seconds_per_tick
if(completion >= 100)
complete(TRUE)
@@ -777,16 +790,12 @@ GLOBAL_LIST_EMPTY(fishing_challenges_by_user)
completion = clamp(completion, 0, 100)
-///Returns TRUE if the fish and the bait are intersecting
-/datum/fishing_challenge/proc/is_fish_on_bait()
- return (fish_position + fish_height >= bait_position) && (bait_position + bait_height >= fish_position)
-
///update the vertical pixel position of both fish and bait, and the icon state of the completion bar
/datum/fishing_challenge/proc/update_visuals(seconds_per_tick)
var/bait_offset_mult = bait_position / FISHING_MINIGAME_AREA
- animate(fishing_hud.hud_bait, pixel_y = MINIGAME_SLIDER_HEIGHT * bait_offset_mult, time = seconds_per_tick SECONDS)
+ animate(fishing_hud.hud_bait, pixel_z = MINIGAME_SLIDER_HEIGHT * bait_offset_mult, time = seconds_per_tick SECONDS)
var/fish_offset_mult = fish_position / FISHING_MINIGAME_AREA
- animate(fishing_hud.hud_fish, pixel_y = MINIGAME_SLIDER_HEIGHT * fish_offset_mult, time = seconds_per_tick SECONDS)
+ animate(fishing_hud.hud_fish, pixel_z = MINIGAME_SLIDER_HEIGHT * fish_offset_mult, time = seconds_per_tick SECONDS)
fishing_hud.hud_completion.update_state(completion, seconds_per_tick)
///The screen object which bait, fish, and completion bar are visually attached to.
@@ -844,11 +853,11 @@ GLOBAL_LIST_EMPTY(fishing_challenges_by_user)
/atom/movable/screen/hud_bait/update_overlays()
. = ..()
var/mutable_appearance/bait_top = mutable_appearance(icon, "bait_top")
- bait_top.pixel_y += cur_height - MINIGAME_BAIT_TOP_AND_BOTTOM_HEIGHT
+ bait_top.pixel_z += cur_height - MINIGAME_BAIT_TOP_AND_BOTTOM_HEIGHT
. += bait_top
for (var/i in 1 to (cur_height - MINIGAME_BAIT_TOP_AND_BOTTOM_HEIGHT))
var/mutable_appearance/bait_bar = mutable_appearance(icon, "bait_bar")
- bait_bar.pixel_y += i
+ bait_bar.pixel_z += i
. += bait_bar
/atom/movable/screen/hud_fish
@@ -935,7 +944,6 @@ GLOBAL_LIST_EMPTY(fishing_challenges_by_user)
#undef REELING_STATE_UP
#undef REELING_STATE_DOWN
-#undef FISH_ON_BAIT_ACCELERATION_MULT
#undef BAIT_MIN_VELOCITY_BOUNCE
#undef MAX_FISH_COMPLETION_MALUS
diff --git a/code/modules/fishing/fishing_rod.dm b/code/modules/fishing/fishing_rod.dm
index b1895d08ab8..e51222d6397 100644
--- a/code/modules/fishing/fishing_rod.dm
+++ b/code/modules/fishing/fishing_rod.dm
@@ -483,15 +483,13 @@
var/line_color = line?.line_color || default_line_color
/// Line part by the rod.
if(reel_overlay)
- var/mutable_appearance/reel_appearance = mutable_appearance(icon, reel_overlay)
- reel_appearance.appearance_flags = RESET_COLOR
+ var/mutable_appearance/reel_appearance = mutable_appearance(icon, reel_overlay, appearance_flags = RESET_COLOR|KEEP_APART)
reel_appearance.color = line_color
. += reel_appearance
// Line & hook is also visible when only bait is equipped but it uses default appearances then
if(hook || bait)
- var/mutable_appearance/line_overlay = mutable_appearance(icon, "line_overlay")
- line_overlay.appearance_flags = RESET_COLOR
+ var/mutable_appearance/line_overlay = mutable_appearance(icon, "line_overlay", appearance_flags = RESET_COLOR|KEEP_APART)
line_overlay.color = line_color
. += line_overlay
. += hook?.rod_overlay_icon_state || "hook_overlay"
@@ -512,14 +510,12 @@
/obj/item/fishing_rod/proc/get_fishing_worn_overlays(mutable_appearance/standing, isinhands, icon_file)
. = list()
var/line_color = line?.line_color || default_line_color
- var/mutable_appearance/reel_overlay = mutable_appearance(icon_file, "reel_overlay")
- reel_overlay.appearance_flags |= RESET_COLOR
+ var/mutable_appearance/reel_overlay = mutable_appearance(icon_file, "reel_overlay", appearance_flags = RESET_COLOR|KEEP_APART)
reel_overlay.color = line_color
. += reel_overlay
/// if we don't have anything hooked show the dangling hook & line
if(isinhands && !fishing_line)
- var/mutable_appearance/line_overlay = mutable_appearance(icon_file, "line_overlay")
- line_overlay.appearance_flags |= RESET_COLOR
+ var/mutable_appearance/line_overlay = mutable_appearance(icon_file, "line_overlay", appearance_flags = RESET_COLOR|KEEP_APART)
line_overlay.color = line_color
. += line_overlay
. += mutable_appearance(icon_file, "hook_overlay")
diff --git a/code/modules/fishing/sources/_fish_source.dm b/code/modules/fishing/sources/_fish_source.dm
index e9deca5b58a..18165755562 100644
--- a/code/modules/fishing/sources/_fish_source.dm
+++ b/code/modules/fishing/sources/_fish_source.dm
@@ -119,7 +119,16 @@ GLOBAL_LIST_INIT(specific_fish_icons, generate_specific_fish_icons())
TRAIT_BASIC_QUALITY_BAIT = 0.4,
)
+ //If set, fish types native to this source won't die if left on these turfs.
+ var/list/associated_safe_turfs
+ //list of subtypes of associated safe turfs that are NOT safe
+ var/list/safe_turfs_blacklist
+
/datum/fish_source/New()
+ if(!SSfishing.initialized && associated_safe_turfs) //This is only needed during world init
+ associated_safe_turfs = typecacheof(associated_safe_turfs)
+ if(safe_turfs_blacklist)
+ associated_safe_turfs -= typecacheof(safe_turfs_blacklist)
if(!PERFORM_ALL_TESTS(focus_only/fish_sources_tables))
return
for(var/path in fish_counts)
@@ -545,16 +554,21 @@ GLOBAL_LIST_INIT(specific_fish_icons, generate_specific_fish_icons())
#undef EXPLOSIVE_FISHING_RECOVERY_RATE
///Called when releasing a fish in a fishing spot with the TRAIT_CATCH_AND_RELEASE trait.
-/datum/fish_source/proc/readd_fish(obj/item/fish/fish, mob/living/releaser)
- var/is_morbid = HAS_MIND_TRAIT(releaser, TRAIT_MORBID)
- var/is_naive = HAS_MIND_TRAIT(releaser, TRAIT_NAIVE)
- if(fish.status == FISH_DEAD) //ded fish won't repopulate the sea.
- if(is_naive || is_morbid)
+/datum/fish_source/proc/readd_fish(atom/location, obj/item/fish/fish, mob/living/releaser)
+ if(releaser)
+ var/is_morbid = HAS_MIND_TRAIT(releaser, TRAIT_MORBID)
+ var/is_naive = HAS_MIND_TRAIT(releaser, TRAIT_NAIVE)
+ if(fish.status == FISH_DEAD) //ded fish won't repopulate the sea.
+ if(is_naive || is_morbid)
+ releaser.add_mood_event("fish_released", /datum/mood_event/fish_released, is_morbid && !is_naive, fish)
+ if(((fish.type in fish_table) != is_morbid) || is_naive)
releaser.add_mood_event("fish_released", /datum/mood_event/fish_released, is_morbid && !is_naive, fish)
+ //don't do anything if the fish is dead, not native to this fish source or has no limited amount.
+ if(fish.status == FISH_DEAD || isnull(fish_table[fish.type]) || isnull(fish_counts[fish.type]))
return
- if(((fish.type in fish_table) != is_morbid) || is_naive)
- releaser.add_mood_event("fish_released", /datum/mood_event/fish_released, is_morbid && !is_naive, fish)
- if(isnull(fish_counts[fish.type])) //This fish can be caught indefinitely so it won't matter.
+ //ditto if no restrictions apply
+ var/area/area = get_area(location)
+ if(area.area_flags & UNLIMITED_FISHING)
return
//If this fish population isn't recovering from recent losses, we just increase it.
if(!LAZYACCESS(currently_on_regen, fish.type))
diff --git a/code/modules/fishing/sources/source_types.dm b/code/modules/fishing/sources/source_types.dm
deleted file mode 100644
index bfbf7a95f0d..00000000000
--- a/code/modules/fishing/sources/source_types.dm
+++ /dev/null
@@ -1,1119 +0,0 @@
-/datum/fish_source/ocean
- radial_state = "seaboat"
- overlay_state = "portal_ocean"
- fish_table = list(
- // FISHING_DUD = 15, BUBBERSTATION CHANGE: NO DUDS. HOLY SHIT.
- /obj/effect/spawner/message_in_a_bottle = 4,
- /obj/item/coin/gold = 6,
- /obj/item/fish/clownfish = 11,
- /obj/item/fish/pufferfish = 11,
- /obj/item/fish/cardinal = 11,
- /obj/item/fish/greenchromis = 11,
- /obj/item/fish/squid = 11,
- /obj/item/fish/stingray = 8,
- /obj/item/fish/plaice = 8,
- /obj/item/fish/monkfish = 5,
- /obj/item/fish/lanternfish = 7,
- /obj/item/fish/zipzap = 7,
- /obj/item/fish/clownfish/lube = 5,
- /obj/item/fish/swordfish = 5,
- /obj/structure/mystery_box/fishing = 2,
- )
- fish_counts = list(
- /obj/item/fish/clownfish/lube = 2,
- /obj/item/fish/swordfish = 2,
- /obj/structure/mystery_box/fishing = 1,
- )
- fish_count_regen = list(
- /obj/item/fish/clownfish/lube = 3 MINUTES,
- /obj/item/fish/swordfish = 5 MINUTES,
- /obj/structure/mystery_box/fishing = 32 MINUTES,
- )
- fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 15
- fish_source_flags = FISH_SOURCE_FLAG_EXPLOSIVE_MALUS
-
-/datum/fish_source/ocean/beach
- catalog_description = "Beach shore water"
- radial_state = "palm_beach"
- overlay_state = "portal_beach"
-
-/datum/fish_source/ice_fishing
- background = "background_ice"
- catalog_description = "Ice-covered water"
- radial_state = "ice"
- overlay_state = "portal_ocean"
- fish_table = list(
- FISHING_DUD = 4,
- /obj/item/fish/arctic_char = 5,
- /obj/item/fish/sockeye_salmon = 5,
- /obj/item/fish/chasm_crab/ice = 2,
- /obj/item/fish/boned = 1,
- )
- fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 30
-
-/datum/fish_source/river
- catalog_description = "River water"
- radial_state = "river"
- overlay_state = "portal_river"
- fish_table = list(
- FISHING_DUD = 4,
- /obj/item/fish/goldfish = 5,
- /obj/item/fish/guppy = 5,
- /obj/item/fish/plasmatetra = 4,
- /obj/item/fish/perch = 4,
- /obj/item/fish/angelfish = 4,
- /obj/item/fish/catfish = 4,
- /obj/item/fish/slimefish = 2,
- /obj/item/fish/sockeye_salmon = 1,
- /obj/item/fish/arctic_char = 1,
- /obj/item/fish/pike = 1,
- /obj/item/fish/goldfish/three_eyes = 1,
- )
- fish_counts = list(
- /obj/item/fish/pike = 3,
- )
- fish_count_regen = list(
- /obj/item/fish/pike = 4 MINUTES,
- )
- fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 15
- fish_source_flags = FISH_SOURCE_FLAG_EXPLOSIVE_MALUS
-
-/datum/fish_source/sand
- catalog_description = "Sand"
- radial_state = "palm_beach"
- fish_table = list(
- FISHING_DUD = 8,
- /obj/item/fish/sand_crab = 10,
- /obj/item/fish/sand_surfer = 10,
- /obj/item/fish/bumpy = 10,
- /obj/item/coin/gold = 3,
- )
- fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 30
- fish_source_flags = FISH_SOURCE_FLAG_EXPLOSIVE_MALUS
-
-/datum/fish_source/cursed_spring
- catalog_description = null //it's a secret (sorta, I know you're reading this)
- radial_state = "cursed"
- fish_table = list(
- FISHING_DUD = 2,
- /obj/item/fish/soul = 3,
- /obj/item/fish/skin_crab = 3,
- /obj/item/fishing_rod/telescopic/master = 1,
- )
- fish_counts = list(
- /obj/item/fishing_rod/telescopic/master = 1,
- )
- fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 35
- fish_source_flags = FISH_SOURCE_FLAG_EXPLOSIVE_MALUS
-
-/datum/fish_source/portal
- fish_table = list(
- // FISHING_DUD = 5, BUBBERSTATION CHANGE: NO DUDS. HOLY SHIT.
- /obj/item/fish/goldfish = 10,
- /obj/item/fish/guppy = 10,
- /obj/item/fish/angelfish = 10,
- /obj/item/fish/perch = 5,
- /obj/item/fish/goldfish/three_eyes = 3,
- /obj/item/fish/plasmatetra = 3,
- )
- catalog_description = "Aquarium dimension (Fishing portal generator)"
- radial_state = "fish_tank"
- ///The name of this option shown in the radial menu on the fishing portal generator
- var/radial_name = "Aquarium"
-
-/datum/fish_source/portal/beach
- fish_table = list(
- //FISHING_DUD = 10, BUBBERSTATION CHANGE: NO DUDS. HOLY SHIT.
- /obj/effect/spawner/message_in_a_bottle = 3,
- /obj/item/fish/clownfish = 10,
- /obj/item/fish/pufferfish = 10,
- /obj/item/fish/cardinal = 10,
- /obj/item/fish/greenchromis = 10,
- /obj/item/fish/squid = 8,
- /obj/item/fish/plaice = 8,
- /obj/item/survivalcapsule/fishing = 1,
- )
- fish_counts = list(
- /obj/item/survivalcapsule/fishing = 1,
- )
- catalog_description = "Beach dimension (Fishing portal generator)"
- radial_name = "Beach"
- radial_state = "palm_beach"
- overlay_state = "portal_beach"
-
-/datum/fish_source/portal/beach/on_fishing_spot_init(datum/component/fishing_spot/spot)
- ADD_TRAIT(spot.parent, TRAIT_MESSAGE_IN_A_BOTTLE_LOCATION, INNATE_TRAIT)
-
-/datum/fish_source/portal/beach/on_fishing_spot_del(datum/component/fishing_spot/spot)
- REMOVE_TRAIT(spot.parent, TRAIT_MESSAGE_IN_A_BOTTLE_LOCATION, INNATE_TRAIT)
-
-/datum/fish_source/portal/chasm
- background = "background_chasm"
- fish_table = list(
- // FISHING_DUD = 5, BUBBERSTATION CHANGE: NO DUDS. HOLY SHIT.
- /obj/item/fish/chasm_crab = 10,
- /obj/item/fish/boned = 5,
- /obj/item/stack/sheet/bone = 5,
- )
- catalog_description = "Chasm dimension (Fishing portal generator)"
- fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 20
- radial_name = "Chasm"
- overlay_state = "portal_chasm"
- radial_state = "ground_hole"
-
-/datum/fish_source/portal/ocean
- fish_table = list(
- // FISHING_DUD = 5, BUBBERSTATION CHANGE: NO DUDS. HOLY SHIT.
- /obj/effect/spawner/message_in_a_bottle = 2,
- /obj/item/fish/lanternfish = 5,
- /obj/item/fish/firefish = 5,
- /obj/item/fish/gunner_jellyfish = 5,
- /obj/item/fish/moonfish/dwarf = 4,
- /obj/item/fish/needlefish = 5,
- /obj/item/fish/armorfish = 5,
- /obj/item/fish/zipzap = 5,
- /obj/item/fish/stingray = 4,
- /obj/item/fish/monkfish = 4,
- /obj/item/fish/swordfish = 3,
- /obj/item/fish/moonfish = 1,
- )
- fish_counts = list(
- /obj/item/fish/swordfish = 2,
- )
- fish_count_regen = list(
- /obj/item/fish/swordfish = 5 MINUTES,
- )
- catalog_description = "Ocean dimension (Fishing portal generator)"
- fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 20
- radial_name = "Ocean"
- overlay_state = "portal_ocean"
- radial_state = "seaboat"
-
-/datum/fish_source/portal/ocean/on_fishing_spot_init(datum/component/fishing_spot/spot)
- ADD_TRAIT(spot.parent, TRAIT_MESSAGE_IN_A_BOTTLE_LOCATION, INNATE_TRAIT)
-
-/datum/fish_source/portal/ocean/on_fishing_spot_del(datum/component/fishing_spot/spot)
- REMOVE_TRAIT(spot.parent, TRAIT_MESSAGE_IN_A_BOTTLE_LOCATION, INNATE_TRAIT)
-
-/datum/fish_source/portal/hyperspace
- background = "background_space"
- fish_table = list(
- // FISHING_DUD = 5, BUBBERSTATION CHANGE: NO DUDS. HOLY SHIT.
- /obj/item/fish/starfish = 6,
- /obj/item/fish/baby_carp = 6,
- /obj/item/stack/ore/bluespace_crystal = 2,
- /mob/living/basic/carp = 2,
- )
- fish_counts = list(
- /obj/item/stack/ore/bluespace_crystal = 10,
- )
- catalog_description = "Hyperspace dimension (Fishing portal generator)"
- fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 20
- radial_name = "Hyperspace"
- overlay_state = "portal_hyperspace"
- radial_state = "space_rocket"
-
-///Unlocked by emagging the fishing portal generator with an emag.
-/datum/fish_source/portal/syndicate
- background = "background_lavaland"
- fish_table = list(
- // FISHING_DUD = 5, BUBBERSTATION CHANGE: NO DUDS. HOLY SHIT.
- /obj/item/fish/donkfish = 5,
- /obj/item/fish/emulsijack = 5,
- /obj/item/fish/jumpercable = 5,
- /obj/item/fish/chainsawfish = 2,
- /obj/item/fish/pike/armored = 2,
- )
- fish_counts = list(
- /obj/item/fish/chainsawfish = 1,
- /obj/item/fish/pike/armored = 1,
- )
- fish_count_regen = list(
- /obj/item/fish/chainsawfish = 7 MINUTES,
- /obj/item/fish/pike/armored = 7 MINUTES,
- )
- catalog_description = "Syndicate dimension (Fishing portal generator)"
- radial_name = "Syndicate"
- fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 25
- overlay_state = "portal_syndicate"
- radial_state = "syndi_snake"
-
-/**
- * A special portal fish source which fish table is populated on init with the contents of all
- * portal fish sources, except for FISHING_DUD, and a couple more caveats.
- */
-/datum/fish_source/portal/random
- fish_table = null //It's populated the first time the source is loaded on a fishing portal generator.
- catalog_description = null // it'd make a bad entry in the catalog.
- radial_name = "Randomizer"
- overlay_state = "portal_randomizer"
- radial_state = "misaligned_question_mark"
- fish_source_flags = FISH_SOURCE_FLAG_NO_BLUESPACE_ROD
- var/static/list/all_portal_fish_sources_at_once
-
-///Generate the fish table if we don't have one already.
-/datum/fish_source/portal/random/on_fishing_spot_init(datum/component/fishing_spot/spot)
- if(fish_table)
- return
-
- ///rewards not found in other fishing portals
- fish_table = list(
- /obj/item/fish/holo/checkered = 1,
- )
-
- for(var/portal_type in GLOB.preset_fish_sources)
- if(portal_type == type || !ispath(portal_type, /datum/fish_source/portal))
- continue
- var/datum/fish_source/portal/preset_portal = GLOB.preset_fish_sources[portal_type]
- fish_table |= preset_portal.fish_table
-
- ///We don't serve duds.
- fish_table -= FISHING_DUD
-
- for(var/reward_path in fish_table)
- fish_table[reward_path] = rand(1, 4)
-
-///Difficulty has to be calculated before the rest, because of how it influences jump chances
-/datum/fish_source/portal/random/calculate_difficulty(datum/fishing_challenge/challenge, result, obj/item/fishing_rod/rod, mob/fisherman)
- . = ..()
- . += rand(-10, 15)
-
-///In the spirit of randomness, we skew a few values here and there
-/datum/fish_source/portal/random/pre_challenge_started(obj/item/fishing_rod/rod, mob/user, datum/fishing_challenge/challenge)
- challenge.bait_bounce_mult = max(challenge.bait_bounce_mult + rand(-3, 3) * 0.1, 0.1)
- challenge.completion_loss = max(challenge.completion_loss + rand(-2, 2), 0)
- challenge.completion_gain = max(challenge.completion_gain + rand(-1, 1), 2)
- challenge.mover.short_jump_velocity_limit += rand(-100, 100)
- challenge.mover.long_jump_velocity_limit += rand(-100, 100)
- var/static/list/active_effects = bitfield_to_list(FISHING_MINIGAME_ACTIVE_EFFECTS)
- for(var/effect in active_effects)
- if(prob(30))
- challenge.special_effects |= effect
- RegisterSignal(challenge, COMSIG_FISHING_CHALLENGE_MOVER_INITIALIZED, PROC_REF(randomize_mover_velocity))
-
-/datum/fish_source/portal/random/proc/randomize_mover_velocity(datum/source, datum/fish_movement/mover)
- SIGNAL_HANDLER
- mover.short_jump_velocity_limit += rand(-100, 100)
- mover.long_jump_velocity_limit += rand(-100, 100)
-
-///Cherry on top, fish caught from the randomizer portal also have (almost completely) random traits
-/datum/fish_source/portal/random/spawn_reward(reward_path, atom/spawn_location, atom/fishing_spot, obj/item/fishing_rod/used_rod)
- if(!ispath(reward_path, /obj/item/fish))
- return ..()
-
- var/static/list/weighted_traits
- if(!weighted_traits)
- weighted_traits = list()
- for(var/trait_type as anything in GLOB.fish_traits)
- var/datum/fish_trait/trait = GLOB.fish_traits[trait_type]
- weighted_traits[trait.type] = round(trait.inheritability**2/100)
-
- var/obj/item/fish/caught_fish = new reward_path(spawn_location, FALSE)
- var/list/new_traits = list()
- for(var/iteration in 1 to rand(1, 4))
- new_traits |= pick_weight(weighted_traits)
- caught_fish.inherit_traits(new_traits)
- caught_fish.randomize_size_and_weight(deviation = 0.3)
- return caught_fish
-
-
-/datum/fish_source/chasm
- catalog_description = "Chasm depths"
- background = "background_chasm"
- radial_state = "ground_hole"
- overlay_state = "portal_chasm"
- fish_table = list(
- //FISHING_DUD = 5, BUBBERSTATION CHANGE: NO DUDS. HOLY SHIT.
- /obj/item/fish/chasm_crab = 15,
- /datum/chasm_detritus = 30,
- )
- fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 15
- fish_source_flags = FISH_SOURCE_FLAG_EXPLOSIVE_NONE
-
-/datum/fish_source/chasm/on_start_fishing(obj/item/fishing_rod/rod, mob/fisherman, atom/parent)
- . = ..()
- if(istype(rod.hook, /obj/item/fishing_hook/rescue))
- to_chat(fisherman, span_notice("The rescue hook falls straight down the chasm! Hopefully it catches a corpse."))
- return
- to_chat(fisherman, span_danger("Your fishing hook makes a soft 'thud' noise as it gets stuck on the wall of the chasm. It doesn't look like it's going to catch much of anything, except maybe some detritus."))
-
-/datum/fish_source/chasm/roll_reward(obj/item/fishing_rod/rod, mob/fisherman)
- var/rolled_reward = ..()
-
- if(!rod.hook || !ispath(rolled_reward, /datum/chasm_detritus))
- return rolled_reward
-
- return rod.hook.chasm_detritus_type
-
-/datum/fish_source/lavaland
- catalog_description = "Lava vents"
- background = "background_lavaland"
- radial_state = "lava"
- overlay_state = "portal_lava"
- fish_table = list(
- // FISHING_DUD = 5, BUBBERSTATION CHANGE: NO DUDS. HOLY SHIT.
- /obj/item/stack/ore/slag = 20,
- /obj/item/fish/lavaloop = 15,
- /obj/structure/closet/crate/necropolis/tendril = 1,
- /obj/effect/mob_spawn/corpse/human/charredskeleton = 1
- )
- fish_counts = list(
- /obj/structure/closet/crate/necropolis/tendril = 1
- )
- fish_count_regen = list(
- /obj/structure/closet/crate/necropolis/tendril = 27 MINUTES,
- )
- fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 20
- fish_source_flags = FISH_SOURCE_FLAG_EXPLOSIVE_MALUS
-
-/datum/fish_source/lavaland/reason_we_cant_fish(obj/item/fishing_rod/rod, mob/fisherman, atom/parent)
- . = ..()
- if(!HAS_TRAIT(rod, TRAIT_ROD_LAVA_USABLE))
- return "You'll need reinforced fishing line to fish in there."
-
-/datum/fish_source/lavaland/icemoon
- background = "background_plasma"
- catalog_description = "Liquid plasma vents"
- radial_state = "plasma"
- fish_table = list(
- // FISHING_DUD = 5, BUBBERSTATION CHANGE: NO DUDS. HOLY SHIT.
- /obj/item/fish/chasm_crab/ice = 30,
- /obj/item/fish/lavaloop/plasma_river = 30,
- /obj/item/coin/plasma = 6,
- /obj/item/stack/ore/plasma = 6,
- /obj/effect/decal/remains/plasma = 2,
- /obj/item/stack/sheet/mineral/runite = 2,
- /obj/item/stack/sheet/mineral/adamantine = 2,
- /mob/living/basic/mining/lobstrosity = 1,
- /mob/living/basic/mining/lobstrosity/juvenile = 1,
- )
- fish_counts = list(
- /obj/item/stack/sheet/mineral/adamantine = 3,
- /obj/item/stack/sheet/mineral/runite = 2,
- )
- fish_count_regen = list(
- /obj/item/stack/sheet/mineral/adamantine = 8 MINUTES,
- /obj/item/stack/sheet/mineral/runite = 10 MINUTES,
- )
- overlay_state = "portal_plasma"
-
-/datum/fish_source/moisture_trap
- background = "background_dank"
- catalog_description = "Moisture trap basins"
- radial_state = "garbage"
- overlay_state = "portal_river" // placeholder
- fish_table = list(
- // FISHING_DUD = 20, BUBBERSTATION CHANGE: NO DUDS. HOLY SHIT.
- /obj/item/fish/ratfish = 10,
- /obj/item/fish/slimefish = 4,
- )
- fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 20
-
-/datum/fish_source/toilet
- background = "background_dank"
- catalog_description = "Station toilets"
- radial_state = "toilet"
- duds = list("ewww... nothing", "it was nothing", "it was toilet paper", "it was flushed away", "the hook is empty", "where's the damn money?!")
- overlay_state = "portal_river" // placeholder
- fish_table = list(
- // FISHING_DUD = 18, BUBBERSTATION CHANGE: NO DUDS. HOLY SHIT.
- /obj/item/fish/sludgefish = 18,
- /obj/item/fish/slimefish = 4,
- /obj/item/storage/wallet/money = 2,
- /obj/item/survivalcapsule/fishing = 1,
- )
- fish_counts = list(
- /obj/item/storage/wallet/money = 2,
- /obj/item/survivalcapsule/fishing = 1,
- )
- fishing_difficulty = FISHING_EASY_DIFFICULTY + 10
-
-/datum/fish_source/holographic
- catalog_description = "Holographic water"
- fish_table = list(
- /obj/item/fish/holo = 10,
- /obj/item/fish/holo/crab = 10,
- /obj/item/fish/holo/puffer = 10,
- /obj/item/fish/holo/angel = 10,
- /obj/item/fish/holo/clown = 10,
- /obj/item/fish/holo/checkered = 5,
- /obj/item/fish/holo/halffish = 5,
- )
- fishing_difficulty = FISHING_EASY_DIFFICULTY + 10
- fish_source_flags = FISH_SOURCE_FLAG_NO_BLUESPACE_ROD
-
-/datum/fish_source/holographic/on_fishing_spot_init(datum/component/fishing_spot/spot)
- ADD_TRAIT(spot.parent, TRAIT_UNLINKABLE_FISHING_SPOT, REF(src)) //You would have to be inside the holodeck anyway...
-
-/datum/fish_source/holographic/on_fishing_spot_del(datum/component/fishing_spot/spot)
- REMOVE_TRAIT(spot.parent, TRAIT_UNLINKABLE_FISHING_SPOT, REF(src))
-
-/datum/fish_source/holographic/generate_wiki_contents(datum/autowiki/fish_sources/wiki)
- var/obj/item/fish/prototype = /obj/item/fish/holo/checkered
- return LIST_VALUE_WRAP_LISTS(list(
- FISH_SOURCE_AUTOWIKI_NAME = "Holographic Fish",
- FISH_SOURCE_AUTOWIKI_ICON = FISH_AUTOWIKI_FILENAME(prototype),
- FISH_SOURCE_AUTOWIKI_WEIGHT = 100,
- FISH_SOURCE_AUTOWIKI_NOTES = "Holographic fish disappears outside the Holodeck",
- ))
-
-/datum/fish_source/holographic/reason_we_cant_fish(obj/item/fishing_rod/rod, mob/fisherman, atom/parent)
- . = ..()
- if(!istype(get_area(fisherman), /area/station/holodeck))
- return "You need to be inside the Holodeck to catch holographic fish."
-
-/datum/fish_source/holographic/pre_challenge_started(obj/item/fishing_rod/rod, mob/user, datum/fishing_challenge/challenge)
- RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(check_area))
-
-/datum/fish_source/holographic/proc/check_area(mob/user)
- SIGNAL_HANDLER
- if(!istype(get_area(user), /area/station/holodeck))
- interrupt_challenge("exited holodeck")
-
-/datum/fish_source/holographic/on_challenge_completed(datum/fishing_challenge/source, mob/user, success)
- . = ..()
- UnregisterSignal(user, COMSIG_MOVABLE_MOVED)
-
-/datum/fish_source/oil_well
- background = "background_oil_well"
- catalog_description = "Oil wells"
- radial_state = "oil"
- overlay_state = "portal_chasm" //close enough to pitch black
- fish_table = list(
- // FISHING_DUD = 5, BUBBERSTATION CHANGE: NO DUDS. HOLY SHIT.
- /obj/item/fish/boned = 10,
- /obj/item/stack/sheet/bone = 2,
- /obj/item/clothing/gloves/bracer = 2,
- /obj/effect/decal/remains/human = 2,
- /obj/item/fish/mastodon = 1,
- /obj/item/fishing_rod/telescopic/master = 1,
- )
- fish_counts = list(
- /obj/item/clothing/gloves/bracer = 1,
- /obj/effect/decal/remains/human = 1,
- /obj/item/fish/mastodon = 1,
- /obj/item/fishing_rod/telescopic/master = 1,
- )
- fish_count_regen = list(
- /obj/item/fish/mastodon = 8 MINUTES,
- )
- fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 25
-
-/datum/fish_source/hydro_tray
- background = "background_tray"
- catalog_description = "Hydroponics trays"
- radial_state = "hydro"
- overlay_state = "portal_tray"
- fish_table = list(
- FISHING_DUD = 25,
- /obj/item/food/grown/grass = 25,
- FISHING_RANDOM_SEED = 16,
- /obj/item/seeds/grass = 6,
- /obj/item/seeds/random = 1,
- /mob/living/basic/frog = 1,
- /mob/living/basic/axolotl = 1,
- /mob/living/basic/turtle = 2,
- )
- fish_counts = list(
- /obj/item/food/grown/grass = 10,
- /obj/item/seeds/grass = 4,
- FISHING_RANDOM_SEED = 4,
- /obj/item/seeds/random = 1,
- /mob/living/basic/frog = 1,
- /mob/living/basic/axolotl = 1,
- )
- fishing_difficulty = FISHING_EASY_DIFFICULTY + 5
-
-/datum/fish_source/hydro_tray/generate_wiki_contents(datum/autowiki/fish_sources/wiki)
- var/list/data = list()
- var/total_weight = 0
- var/critter_weight = 0
- var/seed_weight = 0
- var/other_weight = 0
- var/dud_weight = fish_table[FISHING_DUD]
- for(var/content in fish_table)
- var/weight = fish_table[content]
- total_weight += weight
- if(ispath(content, /mob/living))
- critter_weight += weight
- else if(ispath(content, /obj/item/food/grown) || ispath(content, /obj/item/seeds) || content == FISHING_RANDOM_SEED)
- seed_weight += weight
- else if(content != FISHING_DUD)
- other_weight += weight
-
- data += LIST_VALUE_WRAP_LISTS(list(
- FISH_SOURCE_AUTOWIKI_NAME = FISH_SOURCE_AUTOWIKI_DUD,
- FISH_SOURCE_AUTOWIKI_DUD = "",
- FISH_SOURCE_AUTOWIKI_WEIGHT = PERCENT(dud_weight/total_weight),
- FISH_SOURCE_AUTOWIKI_WEIGHT_SUFFIX = "WITHOUT A BAIT",
- FISH_SOURCE_AUTOWIKI_NOTES = "",
- ))
-
- data += LIST_VALUE_WRAP_LISTS(list(
- FISH_SOURCE_AUTOWIKI_NAME = "Critter",
- FISH_SOURCE_AUTOWIKI_DUD = "",
- FISH_SOURCE_AUTOWIKI_WEIGHT = PERCENT(critter_weight/total_weight),
- FISH_SOURCE_AUTOWIKI_NOTES = "A small creature, usually a frog or an axolotl",
- ))
-
- if(other_weight)
- data += LIST_VALUE_WRAP_LISTS(list(
- FISH_SOURCE_AUTOWIKI_NAME = "Other Stuff",
- FISH_SOURCE_AUTOWIKI_DUD = "",
- FISH_SOURCE_AUTOWIKI_WEIGHT = PERCENT(other_weight/total_weight),
- FISH_SOURCE_AUTOWIKI_NOTES = "Other stuff, who knows...",
- ))
-
- return data
-
-/datum/fish_source/hydro_tray/reason_we_cant_fish(obj/item/fishing_rod/rod, mob/fisherman, atom/parent)
- if(!istype(parent, /obj/machinery/hydroponics/constructable))
- return ..()
-
- var/obj/machinery/hydroponics/constructable/basin = parent
- if(basin.waterlevel <= 0)
- return "There's no water in [parent] to fish in."
- if(basin.myseed)
- return "There's a plant growing in [parent]."
-
- return ..()
-
-/datum/fish_source/hydro_tray/spawn_reward_from_explosion(atom/location, severity)
- if(!istype(location, /obj/machinery/hydroponics/constructable))
- return ..()
-
- var/obj/machinery/hydroponics/constructable/basin = location
- if(basin.myseed || basin.waterlevel <= 0)
- return
- return ..()
-
-/datum/fish_source/hydro_tray/spawn_reward(reward_path, atom/spawn_location, atom/fishing_spot, obj/item/fishing_rod/used_rod)
- if(reward_path != FISHING_RANDOM_SEED)
- var/mob/living/created_reward = ..()
- if(istype(created_reward))
- created_reward.name = "small [created_reward.name]"
- created_reward.update_transform(0.75)
- return created_reward
-
- var/static/list/seeds_to_draw_from
- if(isnull(seeds_to_draw_from))
- seeds_to_draw_from = subtypesof(/obj/item/seeds)
- // These two are already covered innately
- seeds_to_draw_from -= /obj/item/seeds/random
- seeds_to_draw_from -= /obj/item/seeds/grass
- // -1 yield are unharvestable plants so we don't care
- // 20 rarirty is where most of the wacky plants are so let's ignore them
- for(var/obj/item/seeds/seed_path as anything in seeds_to_draw_from)
- if(initial(seed_path.yield) == -1 || initial(seed_path.rarity) >= PLANT_MODERATELY_RARE)
- seeds_to_draw_from -= seed_path
-
- var/picked_path = pick(seeds_to_draw_from)
- return new picked_path(spawn_location)
-
-/datum/fish_source/carp_rift
- background = "background_carp_rift"
- catalog_description = "Space Dragon Rifts"
- radial_state = "carp"
- overlay_state = "portal_rift"
- fish_table = list(
- FISHING_DUD = 3,
- /obj/item/fish/baby_carp = 5,
- /mob/living/basic/carp = 1,
- /mob/living/basic/carp/passive = 1,
- /mob/living/basic/carp/mega = 1,
- /obj/item/clothing/head/fedora/carpskin = 1,
- /obj/item/toy/plush/carpplushie = 1,
- /obj/item/toy/plush/carpplushie/dehy_carp/peaceful = 1,
- /obj/item/knife/carp = 1,
- )
- fish_counts = list(
- /mob/living/basic/carp/mega = 2,
- )
- fish_count_regen = list(
- /mob/living/basic/carp/mega = 9 MINUTES,
- )
- fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 28
-
-/datum/fish_source/carp_rift
- catalog_description = "Space Dragon Rifts"
- radial_state = "carp"
- fish_table = list(
- FISHING_DUD = 3,
- /obj/item/fish/baby_carp = 5,
- /mob/living/basic/carp = 1,
- /mob/living/basic/carp/passive = 1,
- /mob/living/basic/carp/mega = 1,
- /obj/item/clothing/head/fedora/carpskin = 1,
- /obj/item/toy/plush/carpplushie = 1,
- /obj/item/toy/plush/carpplushie/dehy_carp/peaceful = 1,
- /obj/item/knife/carp = 1,
- )
- fish_counts = list(
- /mob/living/basic/carp/mega = 2,
- )
- fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 18
-
-/datum/fish_source/deepfryer
- background = "background_lavaland"
- catalog_description = "Deep Fryers"
- radial_state = "fryer"
- overlay_state = "portal_fry" // literally resprited lava. better than nothing
- fish_table = list(
- /obj/item/food/badrecipe = 15,
- /obj/item/food/nugget = 5,
- /obj/item/fish/fryish = 40,
- /obj/item/fish/fryish/fritterish = 4,
- /obj/item/fish/fryish/nessie = 1,
- )
- fish_counts = list(
- /obj/item/fish/fryish = 10,
- /obj/item/fish/fryish/fritterish = 4,
- /obj/item/fish/fryish/nessie = 1,
- )
- fish_count_regen = list(
- /obj/item/fish/fryish = 2 MINUTES,
- /obj/item/fish/fryish/fritterish = 6 MINUTES,
- /obj/item/fish/fryish/nessie = 22 MINUTES,
- )
- fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 23
-
-/datum/fish_source/surgery
- catalog_description = "Surgery"
- radial_state = "innards"
- overlay_state = "portal_syndicate" //Didn't feel like spriting a new overlay. It's just all red anyway.
- background = "background_lavaland" //Kinda red.
- fish_table = list(FISHING_RANDOM_ORGAN = 10)
- //This should get you below zero difficulty and skip the minigame phase, unless you're wearing something that counteracts this.
- fishing_difficulty = -10
- //The range for waiting is also a bit narrower, so it cannot take as few as 3 seconds or as many as 25 to snatch an organ.
- wait_time_range = list(6 SECONDS, 12 SECONDS)
-
-/datum/fish_source/surgery/spawn_reward(reward_path, atom/spawn_location, atom/fishing_spot, obj/item/fishing_rod/used_rod)
- if(istype(fishing_spot, /obj/machinery/fishing_portal_generator))
- var/obj/machinery/fishing_portal_generator/portal = fishing_spot
- fishing_spot = portal.current_linked_atom
- if(!iscarbon(fishing_spot))
- var/random_type = pick(subtypesof(/obj/item/organ) - GLOB.prototype_organs)
- return new random_type(spawn_location)
-
- var/mob/living/carbon/carbon = fishing_spot
- var/list/possible_organs = list()
- for(var/datum/surgery/organ_manipulation/operation in carbon.surgeries)
- var/datum/surgery_step/manipulate_organs/manip_step = GLOB.surgery_steps[operation.steps[operation.status]]
- if(!istype(manip_step))
- continue
- for(var/obj/item/organ/organ in operation.operated_bodypart)
- if(organ.organ_flags & ORGAN_UNREMOVABLE || !manip_step.can_use_organ(organ))
- continue
- possible_organs |= organ
-
- if(!length(possible_organs))
- return null
- var/obj/item/organ/chosen = pick(possible_organs)
- chosen.Remove(chosen.owner)
- chosen.forceMove(spawn_location)
- return chosen
-
-/datum/fish_source/surgery/generate_wiki_contents(datum/autowiki/fish_sources/wiki)
- var/list/data = list()
-
- data += LIST_VALUE_WRAP_LISTS(list(
- FISH_SOURCE_AUTOWIKI_NAME = "Organs",
- FISH_SOURCE_AUTOWIKI_DUD = "",
- FISH_SOURCE_AUTOWIKI_WEIGHT = 100,
- FISH_SOURCE_AUTOWIKI_NOTES = "A random organ from an ongoing organ manipulation surgery.",
- ))
-
- return data
-
-#define RANDOM_AQUARIUM_FISH "random_aquarium_fish"
-
-/datum/fish_source/aquarium
- catalog_description = "Aquariums"
- radial_state = "fish_tank"
- fish_table = list(
- FISHING_DUD = 10,
- )
- fish_source_flags = FISH_SOURCE_FLAG_NO_BLUESPACE_ROD|FISH_SOURCE_FLAG_IGNORE_HIDDEN_ON_CATALOG|FISH_SOURCE_FLAG_EXPLOSIVE_NONE
- fishing_difficulty = FISHING_EASY_DIFFICULTY + 5
-
-#undef RANDOM_AQUARIUM_FISH
-
-/datum/fish_source/aquarium/get_fish_table(atom/location, from_explosion = FALSE)
- if(istype(location, /obj/machinery/fishing_portal_generator))
- var/obj/machinery/fishing_portal_generator/portal = location
- location = portal.current_linked_atom
- var/list/table = list()
- for(var/obj/item/fish/fish in location)
- if(fish.status == FISH_DEAD) //dead fish cannot be caught
- continue
- table[fish] = 10
- if(!length(table))
- return fish_table.Copy()
- return table
-
-/datum/fish_source/aquarium/generate_wiki_contents(datum/autowiki/fish_sources/wiki)
- var/list/data = list()
-
- data += LIST_VALUE_WRAP_LISTS(list(
- FISH_SOURCE_AUTOWIKI_NAME = "Fish",
- FISH_SOURCE_AUTOWIKI_DUD = "",
- FISH_SOURCE_AUTOWIKI_WEIGHT = 100,
- FISH_SOURCE_AUTOWIKI_NOTES = "Any fish currently inside the aquarium, be they alive or dead.",
- ))
-
- return data
-
-/datum/fish_source/hot_spring
- catalog_description = "Hot Springs"
- radial_state = "onsen"
- overlay_state = "portal_ocean"
- fish_table = list(
- FISHING_DUD = 20,
- /obj/item/fish/bumpy = 10,
- /obj/item/fish/sacabambaspis = 10,
- /mob/living/basic/frog = 2,
- /obj/item/fishing_rod/telescopic/master = 1,
- )
- fish_counts = list(
- /obj/item/fish/sacabambaspis = 5,
- /obj/item/fishing_rod/telescopic/master = 2,
- )
- fish_count_regen = list(
- /obj/item/fish/sacabambaspis = 4 MINUTES,
- )
- fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 30
- fish_source_flags = FISH_SOURCE_FLAG_EXPLOSIVE_MALUS
-
-/datum/fish_source/tizira
- catalog_description = "Tiziran Sea"
- radial_state = "planet"
- overlay_state = "portal_beach"
- fish_table = list(
- FISHING_DUD = 10,
- /obj/item/fish/needlefish = 5,
- /obj/item/fish/armorfish = 5,
- /obj/item/fish/gunner_jellyfish = 4,
- /obj/item/fish/moonfish/dwarf = 2,
- /obj/item/fish/moonfish = 2,
- )
- fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 20
- fish_source_flags = FISH_SOURCE_FLAG_EXPLOSIVE_MALUS
-
-/datum/fish_source/vending
- background = "background_chasm"
- catalog_description = "Vending Machines"
- radial_state = "vending"
- overlay_state = "portal_randomizer"
- fish_table = list(
- FISHING_DUD = 10,
- )
- fish_source_flags = FISH_SOURCE_FLAG_NO_BLUESPACE_ROD|FISH_SOURCE_FLAG_EXPLOSIVE_NONE
- fishing_difficulty = FISHING_EASY_DIFFICULTY //with some equipment and just enough dosh, you should be able to skip the minigame
-
-/datum/fish_source/vending/generate_wiki_contents(datum/autowiki/fish_sources/wiki)
- var/list/data = list()
-
- data += LIST_VALUE_WRAP_LISTS(list(
- FISH_SOURCE_AUTOWIKI_NAME = "Vending Products",
- FISH_SOURCE_AUTOWIKI_DUD = "",
- FISH_SOURCE_AUTOWIKI_WEIGHT = 100,
- FISH_SOURCE_AUTOWIKI_NOTES = "Use chips, bills or coins as bait to get a semi-random vending product, depending on both its and the bait's monetary values",
- ))
-
- return data
-
-/datum/fish_source/vending/get_modified_fish_table(obj/item/fishing_rod/rod, mob/fisherman, atom/location)
- if(istype(location, /obj/machinery/fishing_portal_generator))
- var/obj/machinery/fishing_portal_generator/portal = location
- location = portal.current_linked_atom
- if(!istype(location, /obj/machinery/vending))
- return list()
-
- return get_vending_table(rod, fisherman, location)
-
-/datum/fish_source/vending/proc/get_vending_table(obj/item/fishing_rod/rod, mob/fisherman, obj/machinery/vending/location)
- var/list/table = list()
- ///Create a list of products, ordered by price from highest to lowest
- var/list/products = location.product_records + location.coin_records + location.hidden_records
- sortTim(products, GLOBAL_PROC_REF(cmp_vending_prices))
-
- var/bait_value = rod.bait?.get_item_credit_value() || 1
-
- var/highest_record_price = 0
- for(var/datum/data/vending_product/product_record as anything in products)
- if(product_record.amount <= 0)
- products -= product_record
- table[FISHING_DUD] += PAYCHECK_LOWER //it gets harder the emptier the machine is
- continue
- if(!highest_record_price)
- highest_record_price = product_record.price
- var/high = max(highest_record_price, bait_value)
- var/low = min(highest_record_price, bait_value)
-
- //the smaller the difference between product price and bait value, the more likely you're to get it.
- table[product_record] = low/high * 1000 //multiply the value by 1000 for accuracy. pick_weight() doesn't work with zero decimals yet.
-
- add_risks(table, bait_value, highest_record_price, length(products) * 0.5)
- return table
-
-/datum/fish_source/vending/proc/add_risks(list/table, bait_value, highest_price, malus_multiplier)
- ///Using more than the money needed to buy the most expensive item (why would you do it?!) will remove the dud chance.
- if(bait_value > highest_price)
- table -= FISHING_DUD
- else
- //Makes using 1 cred chips with the minigame skip (negative fishing difficulty) a bit less cheesy.
- var/malus = min(PAYCHECK_LOWER - bait_value, highest_price)
- if(malus > 0)
- table[FISHING_DUD] += malus * malus_multiplier
- table[FISHING_VENDING_CHUCK] += malus * malus_multiplier
-
-#define FISHING_PRODUCT_DIFFICULTY_MULT 1.6
-
-/datum/fish_source/vending/calculate_difficulty(datum/fishing_challenge/challenge, result, obj/item/fishing_rod/rod, mob/fisherman)
- //Using less than a minimum paycheck is going to make the challenge a tad harder.
- var/bait_value = rod.bait?.get_item_credit_value()
- var/base_diff = PAYCHECK_LOWER - bait_value
- return ..() + get_product_difficulty(base_diff, result) * FISHING_PRODUCT_DIFFICULTY_MULT
-
-/datum/fish_source/vending/proc/get_product_difficulty(diff, datum/result)
- if(istype(result, /datum/data/vending_product))
- var/datum/data/vending_product/product = result
- diff = min(diff, product.price) // low priced items are easier to catch anyway
- return diff
-
-#undef FISHING_PRODUCT_DIFFICULTY_MULT
-
-/datum/fish_source/vending/dispense_reward(reward_path, mob/fisherman, atom/fishing_spot, obj/item/fishing_rod/rod)
- var/obj/machinery/vending/vending = fishing_spot
- if(istype(fishing_spot, /obj/machinery/fishing_portal_generator))
- var/obj/machinery/fishing_portal_generator/portal = fishing_spot
- vending = portal.current_linked_atom
-
- if(reward_path == FISHING_VENDING_CHUCK)
- if(fishing_spot != vending) //fishing portals
- vending.forceMove(get_turf(fishing_spot))
- vending.tilt(fisherman, range = 4)
- return null //Don't spawn a reward at all
-
- var/atom/movable/reward = ..()
- if(reward)
- var/creds_value = rod.bait?.get_item_credit_value()
- if(creds_value)
- vending.credits_contained += round(creds_value * VENDING_CREDITS_COLLECTION_AMOUNT)
- qdel(rod.bait)
- return reward
-
-/datum/fish_source/vending/spawn_reward(reward_path, atom/spawn_location, obj/machinery/vending/fishing_spot, obj/item/fishing_rod/used_rod)
- if(istype(fishing_spot, /obj/machinery/fishing_portal_generator))
- var/obj/machinery/fishing_portal_generator/portal = fishing_spot
- fishing_spot = portal.current_linked_atom
- if(!istype(fishing_spot))
- return null
- return spawn_vending_reward(reward_path, spawn_location, fishing_spot)
-
-/datum/fish_source/vending/proc/spawn_vending_reward(reward_path, atom/spawn_location, obj/machinery/vending/fishing_spot)
- var/datum/data/vending_product/product_record = reward_path
- if(!istype(product_record) || product_record.amount <= 0)
- return null
- return fishing_spot.dispense(product_record, spawn_location)
-
-/datum/fish_source/vending/pre_challenge_started(obj/item/fishing_rod/rod, mob/user, datum/fishing_challenge/challenge)
- RegisterSignal(rod, COMSIG_FISHING_ROD_CAUGHT_FISH, PROC_REF(on_reward))
-
-/datum/fish_source/vending/on_challenge_completed(mob/user, datum/fishing_challenge/challenge, success)
- . = ..()
- UnregisterSignal(challenge.used_rod, COMSIG_FISHING_ROD_CAUGHT_FISH)
-
-/datum/fish_source/vending/proc/on_reward(obj/item/fishing_rod/rod, atom/movable/reward, mob/user)
- SIGNAL_HANDLER
- if(reward && !QDELETED(rod.bait) && rod.bait.get_item_credit_value()) //you pay for what you get
- qdel(rod.bait) // fishing_rod.Exited() will handle clearing the hard ref.
-
-///subtype of fish_source/vending for custom vending machines
-/datum/fish_source/vending/custom
- catalog_description = null //no duplicate entries on autowiki or catalog
-
-/datum/fish_source/vending/custom/get_vending_table(obj/item/fishing_rod/rod, mob/fisherman, obj/machinery/vending/location)
- var/list/table = list()
- ///Create a list of products, ordered by price from highest to lowest
- var/list/products = location.vending_machine_input.Copy()
- sortTim(products, GLOBAL_PROC_REF(cmp_item_vending_prices))
-
- var/bait_value = rod.bait?.get_item_credit_value() || 1
-
- var/highest_record_price = 0
- for(var/obj/item/stocked as anything in products)
- if(location.vending_machine_input[stocked] <= 0)
- products -= stocked
- table[FISHING_DUD] += PAYCHECK_LOWER //it gets harder the emptier the machine is
- continue
- if(!highest_record_price)
- highest_record_price = stocked.custom_price
- var/high = max(highest_record_price, bait_value)
- var/low = min(highest_record_price, bait_value)
-
- //the smaller the difference between product price and bait value, the more likely you're to get it.
- table[stocked] = low/high * 1000 //multiply the value by 1000 for accuracy. pick_weight() doesn't work with zero decimals yet.
-
- add_risks(table, bait_value, highest_record_price, length(products) * 0.5)
- return table
-
-/datum/fish_source/vending/custom/get_product_difficulty(diff, datum/result)
- if(isitem(result))
- var/obj/item/product = result
- diff = min(diff, product.custom_price)
- return diff
-
-/datum/fish_source/vending/custom/spawn_vending_reward(obj/item/reward, atom/spawn_location, obj/machinery/vending/fishing_spot)
- if(!isitem(reward))
- return null
- reward.forceMove(spawn_location)
- return reward
-
-/datum/fish_source/dimensional_rift
- background = "background_mansus"
- catalog_description = null // it's a secret (sorta, I know you're reading this)
- radial_state = "cursed" // placeholder
- overlay_state = "portal_mansus"
- fish_table = list(
- FISHING_INFLUENCE = 6,
- FISHING_RANDOM_ARM = 3,
- /obj/item/fish/starfish/chrystarfish = 7,
- /obj/item/fish/dolphish = 7,
- /obj/item/fish/flumpulus = 7,
- /obj/item/fish/gullion = 7,
- /obj/item/fish/mossglob = 3,
- /obj/item/fish/babbelfish = 1,
- /mob/living/basic/heretic_summon/fire_shark/wild = 3,
- /obj/item/eldritch_potion/crucible_soul = 1,
- /obj/item/eldritch_potion/duskndawn = 1,
- /obj/item/eldritch_potion/wounded = 1,
- /obj/item/reagent_containers/cup/beaker/eldritch = 2,
- )
- fish_counts = list(
- /obj/item/fish/mossglob = 3,
- /obj/item/fish/babbelfish = 1,
- /mob/living/basic/heretic_summon/fire_shark/wild = 3,
- /obj/item/eldritch_potion/crucible_soul = 1,
- /obj/item/eldritch_potion/duskndawn = 1,
- /obj/item/eldritch_potion/wounded = 1,
- /obj/item/reagent_containers/cup/beaker/eldritch = 2,
- )
- fish_count_regen = list(
- /obj/item/fish/mossglob = 3 MINUTES,
- /obj/item/fish/babbelfish = 5 MINUTES,
- /mob/living/basic/heretic_summon/fire_shark/wild = 6 MINUTES,
- /obj/item/eldritch_potion/crucible_soul = 5 MINUTES,
- /obj/item/eldritch_potion/duskndawn = 5 MINUTES,
- /obj/item/eldritch_potion/wounded = 5 MINUTES,
- /obj/item/reagent_containers/cup/beaker/eldritch = 2.5 MINUTES,
- )
- fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 35
- fish_source_flags = FISH_SOURCE_FLAG_EXPLOSIVE_NONE
-
-/**
- * You can fish up random arms, but you can also fish up arms (or heads, from TK) that were eaten at some point by a rift.
- * No need to check for what the location is, just get its limbs from its contents. It should always be a visible heretic rift. Should.
- */
-/datum/fish_source/dimensional_rift/get_fish_table(atom/location, from_explosion = FALSE)
- . = ..()
- if(istype(location, /obj/machinery/fishing_portal_generator))
- var/obj/machinery/fishing_portal_generator/portal = location
- location = portal.current_linked_atom
-
- for(var/obj/item/eaten_thing in location.get_all_contents())
- .[eaten_thing] = 6
-
-/datum/fish_source/dimensional_rift/on_challenge_completed(mob/user, datum/fishing_challenge/challenge, success)
- . = ..()
-
- if(!success)
- if(IS_HERETIC(user))
- return
- if(!user.get_active_hand())
- return influence_fished(user, challenge)
- on_epic_fail(user, challenge, success)
- return
-
-
- if(challenge.reward_path == FISHING_INFLUENCE)
- influence_fished(user, challenge)
- return
-
- return
-
-/**
- * Override for influences and arms.
- */
-/datum/fish_source/dimensional_rift/spawn_reward(reward_path, atom/spawn_location, atom/fishing_spot)
- switch(reward_path)
- if(FISHING_INFLUENCE)
- return
- if(FISHING_RANDOM_ARM)
- return arm_fished(spawn_location)
- return ..()
-
-/**
- * This happens when a non-heretic fails the minigame. Their arm is ripped straight off and thrown into the rift.
- */
-/datum/fish_source/dimensional_rift/proc/on_epic_fail(mob/user, datum/fishing_challenge/challenge, success)
- challenge.location.visible_message(span_danger("[challenge.location]'s tendrils lash out and pull on [user]'s [user.get_active_hand()], ripping it clean off and throwing it towards itself!"))
- var/obj/item/bodypart/random_arm = user.get_active_hand()
- random_arm.dismember(BRUTE, FALSE)
- random_arm.forceMove(user.drop_location())
- random_arm.throw_at(challenge.location, 7, 1, null, TRUE)
- // Abstract items shouldn't be thrown in!
- if(!(challenge.used_rod.item_flags & ABSTRACT))
- challenge.used_rod.forceMove(user.drop_location())
- challenge.used_rod.throw_at(challenge.location, 7, 1, null, TRUE)
- addtimer(CALLBACK(src, PROC_REF(check_item_location), challenge.location, random_arm, challenge.used_rod), 1 SECONDS)
-
-/datum/fish_source/dimensional_rift/proc/check_item_location(atom/location, obj/item/bodypart/random_arm, obj/item/used_rod)
- for(var/obj/item/thingy in get_turf(location))
- // If it's not in the list and it's not what we know as the used rod, skip.
- // This lets fishing gloves be dragged in as well. I mean honestly if you try fishing in here with those you should just Fucking Die but that's for later.
- if(!is_type_in_list(thingy, list(/obj/item/bodypart, /obj/item/fishing_rod)) && (thingy != used_rod))
- continue
- thingy.forceMove(location)
- location.visible_message(span_danger("Tendrils lash out from [location] and greedily drag [thingy] inwards. You're probably never seeing [thingy] again."))
-
-/datum/fish_source/dimensional_rift/proc/arm_fished(atom/spawn_location)
- var/obj/item/bodypart/arm/random_arm = pick(subtypesof(/obj/item/bodypart/arm))
- random_arm = new random_arm(spawn_location)
- spawn_location.visible_message(span_notice("A [random_arm] is snatched up from beneath the eldritch depths of [spawn_location]!"))
- return random_arm
-
-/datum/fish_source/dimensional_rift/proc/influence_fished(mob/user, datum/fishing_challenge/challenge)
- if(challenge.reward_path != FISHING_INFLUENCE)
- return
- var/mob/living/carbon/human/human_user
- if(ishuman(user))
- human_user = user
-
- user.visible_message(span_danger("[user] reels [user.p_their()] [challenge.used_rod] in, catching a glimpse into the world beyond!"), span_notice("You catch.. a glimpse into the workings of the Mansus itself!"))
- // Heretics that fish in the rift gain knowledge.
- if(IS_HERETIC(user))
- human_user?.add_mood_event("rift fishing", /datum/mood_event/rift_fishing)
- var/obj/effect/heretic_influence/fishfluence = challenge.location
- // But only if it's an open rift
- if(!istype(fishfluence))
- to_chat(user, span_notice("You glimpse something fairly uninteresting."))
- return
- fishfluence.after_drain(user)
- var/datum/antagonist/heretic/heretic_datum = GET_HERETIC(user)
- if(heretic_datum)
- heretic_datum.knowledge_points++
- to_chat(user, "[span_hear("You hear a whisper...")] [span_hypnophrase("THE HIGHER I RISE, THE MORE I FISH.")]")
- // They can also gain an extra influence point if they infused their rod.
- if(HAS_TRAIT(challenge.used_rod, TRAIT_ROD_MANSUS_INFUSED))
- heretic_datum.knowledge_points++
- to_chat(user, span_boldnotice("Your infused rod improves your knowledge gain!"))
- return
-
- // Non-heretics instead go crazy
- human_user?.adjustOrganLoss(ORGAN_SLOT_BRAIN, 10, 190)
- human_user?.add_mood_event("gates_of_mansus", /datum/mood_event/gates_of_mansus)
- human_user?.do_jitter_animation(50)
- // Hand fires at them from the location
- fire_curse_hand(user, get_turf(challenge.location))
diff --git a/code/modules/fishing/sources/subtypes/fishing_portal_machine.dm b/code/modules/fishing/sources/subtypes/fishing_portal_machine.dm
new file mode 100644
index 00000000000..f2db96d77d0
--- /dev/null
+++ b/code/modules/fishing/sources/subtypes/fishing_portal_machine.dm
@@ -0,0 +1,218 @@
+//This file contains sources that accessed or unlocked for the fishing portal generator
+
+/datum/fish_source/portal
+ fish_table = list(
+ FISHING_DUD = 7,
+ /obj/item/fish/goldfish = 10,
+ /obj/item/fish/guppy = 10,
+ /obj/item/fish/angelfish = 10,
+ /obj/item/fish/perch = 5,
+ /obj/item/fish/goldfish/three_eyes = 3,
+ /obj/item/fish/plasmatetra = 3,
+ )
+ catalog_description = "Aquarium dimension (Fishing portal generator)"
+ radial_state = "fish_tank"
+ associated_safe_turfs = list(/turf/open/water)
+ safe_turfs_blacklist = list(/turf/open/water/hot_spring, /turf/open/water/beach)
+ ///The name of this option shown in the radial menu on the fishing portal generator
+ var/radial_name = "Aquarium"
+
+/datum/fish_source/portal/beach
+ fish_table = list(
+ FISHING_DUD = 7,
+ /obj/effect/spawner/message_in_a_bottle = 3,
+ /obj/item/fish/clownfish = 10,
+ /obj/item/fish/pufferfish = 10,
+ /obj/item/fish/cardinal = 10,
+ /obj/item/fish/greenchromis = 10,
+ /obj/item/fish/squid = 8,
+ /obj/item/fish/plaice = 8,
+ /obj/item/survivalcapsule/fishing = 1,
+ )
+ fish_counts = list(
+ /obj/item/survivalcapsule/fishing = 1,
+ )
+ catalog_description = "Beach dimension (Fishing portal generator)"
+ radial_name = "Beach"
+ radial_state = "palm_beach"
+ overlay_state = "portal_beach"
+ associated_safe_turfs = list(/turf/open/water/beach)
+
+/datum/fish_source/portal/beach/on_fishing_spot_init(datum/component/fishing_spot/spot)
+ ADD_TRAIT(spot.parent, TRAIT_MESSAGE_IN_A_BOTTLE_LOCATION, INNATE_TRAIT)
+
+/datum/fish_source/portal/beach/on_fishing_spot_del(datum/component/fishing_spot/spot)
+ REMOVE_TRAIT(spot.parent, TRAIT_MESSAGE_IN_A_BOTTLE_LOCATION, INNATE_TRAIT)
+
+/datum/fish_source/portal/chasm
+ background = "background_chasm"
+ fish_table = list(
+ FISHING_DUD = 5,
+ /obj/item/fish/chasm_crab = 10,
+ /obj/item/fish/boned = 5,
+ /obj/item/stack/sheet/bone = 5,
+ )
+ catalog_description = "Chasm dimension (Fishing portal generator)"
+ fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 20
+ radial_name = "Chasm"
+ overlay_state = "portal_chasm"
+ radial_state = "ground_hole"
+
+/datum/fish_source/portal/ocean
+ fish_table = list(
+ FISHING_DUD = 3,
+ /obj/effect/spawner/message_in_a_bottle = 2,
+ /obj/item/fish/lanternfish = 5,
+ /obj/item/fish/firefish = 5,
+ /obj/item/fish/gunner_jellyfish = 5,
+ /obj/item/fish/moonfish/dwarf = 4,
+ /obj/item/fish/needlefish = 5,
+ /obj/item/fish/armorfish = 5,
+ /obj/item/fish/zipzap = 5,
+ /obj/item/fish/stingray = 4,
+ /obj/item/fish/monkfish = 4,
+ /obj/item/fish/swordfish = 3,
+ /obj/item/fish/moonfish = 1,
+ )
+ fish_counts = list(
+ /obj/item/fish/swordfish = 2,
+ )
+ fish_count_regen = list(
+ /obj/item/fish/swordfish = 5 MINUTES,
+ )
+ catalog_description = "Ocean dimension (Fishing portal generator)"
+ fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 20
+ radial_name = "Ocean"
+ overlay_state = "portal_ocean"
+ radial_state = "seaboat"
+ associated_safe_turfs = list(/turf/open/water/beach)
+
+/datum/fish_source/portal/ocean/on_fishing_spot_init(datum/component/fishing_spot/spot)
+ ADD_TRAIT(spot.parent, TRAIT_MESSAGE_IN_A_BOTTLE_LOCATION, INNATE_TRAIT)
+
+/datum/fish_source/portal/ocean/on_fishing_spot_del(datum/component/fishing_spot/spot)
+ REMOVE_TRAIT(spot.parent, TRAIT_MESSAGE_IN_A_BOTTLE_LOCATION, INNATE_TRAIT)
+
+/datum/fish_source/portal/hyperspace
+ background = "background_space"
+ fish_table = list(
+ FISHING_DUD = 5,
+ /obj/item/fish/starfish = 6,
+ /obj/item/fish/baby_carp = 6,
+ /obj/item/stack/ore/bluespace_crystal = 2,
+ /mob/living/basic/carp = 2,
+ )
+ fish_counts = list(
+ /obj/item/stack/ore/bluespace_crystal = 10,
+ )
+ catalog_description = "Hyperspace dimension (Fishing portal generator)"
+ fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 20
+ radial_name = "Hyperspace"
+ overlay_state = "portal_hyperspace"
+ radial_state = "space_rocket"
+ associated_safe_turfs = list(/turf/open/space)
+
+///Unlocked by emagging the fishing portal generator with an emag.
+/datum/fish_source/portal/syndicate
+ background = "background_lavaland"
+ fish_table = list(
+ FISHING_DUD = 5,
+ /obj/item/fish/donkfish = 5,
+ /obj/item/fish/emulsijack = 5,
+ /obj/item/fish/jumpercable = 5,
+ /obj/item/fish/chainsawfish = 2,
+ /obj/item/fish/pike/armored = 2,
+ )
+ fish_counts = list(
+ /obj/item/fish/chainsawfish = 1,
+ /obj/item/fish/pike/armored = 1,
+ )
+ fish_count_regen = list(
+ /obj/item/fish/chainsawfish = 7 MINUTES,
+ /obj/item/fish/pike/armored = 7 MINUTES,
+ )
+ catalog_description = "Syndicate dimension (Fishing portal generator)"
+ radial_name = "Syndicate"
+ fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 25
+ overlay_state = "portal_syndicate"
+ radial_state = "syndi_snake"
+ associated_safe_turfs = list(/turf/open/water)
+ safe_turfs_blacklist = list(/turf/open/water/hot_spring, /turf/open/water/beach)
+
+/**
+ * A special portal fish source which fish table is populated on init with the contents of all
+ * portal fish sources, except for FISHING_DUD, and a couple more caveats.
+ */
+/datum/fish_source/portal/random
+ fish_table = null //It's populated the first time the source is loaded on a fishing portal generator.
+ catalog_description = null // it'd make a bad entry in the catalog.
+ radial_name = "Randomizer"
+ overlay_state = "portal_randomizer"
+ radial_state = "misaligned_question_mark"
+ fish_source_flags = FISH_SOURCE_FLAG_NO_BLUESPACE_ROD
+ var/static/list/all_portal_fish_sources_at_once
+
+///Generate the fish table if we don't have one already.
+/datum/fish_source/portal/random/on_fishing_spot_init(datum/component/fishing_spot/spot)
+ if(fish_table)
+ return
+
+ ///rewards not found in other fishing portals
+ fish_table = list(
+ /obj/item/fish/holo/checkered = 1,
+ )
+
+ for(var/portal_type in GLOB.preset_fish_sources)
+ if(portal_type == type || !ispath(portal_type, /datum/fish_source/portal))
+ continue
+ var/datum/fish_source/portal/preset_portal = GLOB.preset_fish_sources[portal_type]
+ fish_table |= preset_portal.fish_table
+
+ ///We don't serve duds.
+ fish_table -= FISHING_DUD
+
+ for(var/reward_path in fish_table)
+ fish_table[reward_path] = rand(1, 4)
+
+///Difficulty has to be calculated before the rest, because of how it influences jump chances
+/datum/fish_source/portal/random/calculate_difficulty(datum/fishing_challenge/challenge, result, obj/item/fishing_rod/rod, mob/fisherman)
+ . = ..()
+ . += rand(-10, 15)
+
+///In the spirit of randomness, we skew a few values here and there
+/datum/fish_source/portal/random/pre_challenge_started(obj/item/fishing_rod/rod, mob/user, datum/fishing_challenge/challenge)
+ challenge.bait_bounce_mult = max(challenge.bait_bounce_mult + rand(-3, 3) * 0.1, 0.1)
+ challenge.completion_loss = max(challenge.completion_loss + rand(-2, 2), 0)
+ challenge.completion_gain = max(challenge.completion_gain + rand(-1, 1), 2)
+ challenge.mover.short_jump_velocity_limit += rand(-100, 100)
+ challenge.mover.long_jump_velocity_limit += rand(-100, 100)
+ var/static/list/active_effects = bitfield_to_list(FISHING_MINIGAME_ACTIVE_EFFECTS)
+ for(var/effect in active_effects)
+ if(prob(30))
+ challenge.special_effects |= effect
+ RegisterSignal(challenge, COMSIG_FISHING_CHALLENGE_MOVER_INITIALIZED, PROC_REF(randomize_mover_velocity))
+
+/datum/fish_source/portal/random/proc/randomize_mover_velocity(datum/source, datum/fish_movement/mover)
+ SIGNAL_HANDLER
+ mover.short_jump_velocity_limit += rand(-100, 100)
+ mover.long_jump_velocity_limit += rand(-100, 100)
+
+///Cherry on top, fish caught from the randomizer portal also have (almost completely) random traits
+/datum/fish_source/portal/random/spawn_reward(reward_path, atom/spawn_location, atom/fishing_spot, obj/item/fishing_rod/used_rod)
+ if(!ispath(reward_path, /obj/item/fish))
+ return ..()
+
+ var/static/list/weighted_traits
+ if(!weighted_traits)
+ weighted_traits = list()
+ for(var/trait_type as anything in GLOB.fish_traits)
+ var/datum/fish_trait/trait = GLOB.fish_traits[trait_type]
+ weighted_traits[trait.type] = round(trait.inheritability**2/100)
+
+ var/obj/item/fish/caught_fish = new reward_path(spawn_location, FALSE)
+ var/list/new_traits = list()
+ for(var/iteration in 1 to rand(1, 4))
+ new_traits |= pick_weight(weighted_traits)
+ caught_fish.inherit_traits(new_traits)
+ caught_fish.randomize_size_and_weight(deviation = 0.3)
+ return caught_fish
diff --git a/code/modules/fishing/sources/subtypes/mining_ruins.dm b/code/modules/fishing/sources/subtypes/mining_ruins.dm
new file mode 100644
index 00000000000..6ae88b259d8
--- /dev/null
+++ b/code/modules/fishing/sources/subtypes/mining_ruins.dm
@@ -0,0 +1,125 @@
+//Fish sources that're usually found in ruins or on mining z-levels should go here
+
+/datum/fish_source/cursed_spring
+ catalog_description = null //it's a secret (sorta, I know you're reading this)
+ radial_state = "cursed"
+ fish_table = list(
+ FISHING_DUD = 2,
+ /obj/item/fish/soul = 3,
+ /obj/item/fish/skin_crab = 3,
+ /obj/item/fishing_rod/telescopic/master = 1,
+ )
+ fish_counts = list(
+ /obj/item/fishing_rod/telescopic/master = 1,
+ )
+ fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 35
+ fish_source_flags = FISH_SOURCE_FLAG_EXPLOSIVE_MALUS
+ associated_safe_turfs = list(/turf/open/water/hot_spring)
+
+/datum/fish_source/chasm
+ catalog_description = "Chasm depths"
+ background = "background_chasm"
+ radial_state = "ground_hole"
+ overlay_state = "portal_chasm"
+ fish_table = list(
+ FISHING_DUD = 5,
+ /obj/item/fish/chasm_crab = 15,
+ /datum/chasm_detritus = 30,
+ )
+ fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 15
+ fish_source_flags = FISH_SOURCE_FLAG_EXPLOSIVE_NONE
+
+/datum/fish_source/chasm/on_start_fishing(obj/item/fishing_rod/rod, mob/fisherman, atom/parent)
+ . = ..()
+ if(istype(rod.hook, /obj/item/fishing_hook/rescue))
+ to_chat(fisherman, span_notice("The rescue hook falls straight down the chasm! Hopefully it catches a corpse."))
+ return
+ to_chat(fisherman, span_danger("Your fishing hook makes a soft 'thud' noise as it gets stuck on the wall of the chasm. It doesn't look like it's going to catch much of anything, except maybe some detritus."))
+
+/datum/fish_source/chasm/roll_reward(obj/item/fishing_rod/rod, mob/fisherman)
+ var/rolled_reward = ..()
+
+ if(!rod.hook || !ispath(rolled_reward, /datum/chasm_detritus))
+ return rolled_reward
+
+ return rod.hook.chasm_detritus_type
+
+/datum/fish_source/lavaland
+ catalog_description = "Lava vents"
+ background = "background_lavaland"
+ radial_state = "lava"
+ overlay_state = "portal_lava"
+ fish_table = list(
+ FISHING_DUD = 5,
+ /obj/item/stack/ore/slag = 20,
+ /obj/item/fish/lavaloop = 15,
+ /obj/structure/closet/crate/necropolis/tendril = 1,
+ /obj/effect/mob_spawn/corpse/human/charredskeleton = 1
+ )
+ fish_counts = list(
+ /obj/structure/closet/crate/necropolis/tendril = 1
+ )
+ fish_count_regen = list(
+ /obj/structure/closet/crate/necropolis/tendril = 27 MINUTES,
+ )
+ fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 20
+ fish_source_flags = FISH_SOURCE_FLAG_EXPLOSIVE_MALUS
+ associated_safe_turfs = list(/turf/open/lava)
+ safe_turfs_blacklist = list(/turf/open/lava/plasma)
+
+/datum/fish_source/lavaland/reason_we_cant_fish(obj/item/fishing_rod/rod, mob/fisherman, atom/parent)
+ . = ..()
+ if(!HAS_TRAIT(rod, TRAIT_ROD_LAVA_USABLE))
+ return "You'll need reinforced fishing line to fish in there."
+
+/datum/fish_source/lavaland/icemoon
+ background = "background_plasma"
+ catalog_description = "Liquid plasma vents"
+ radial_state = "plasma"
+ fish_table = list(
+ FISHING_DUD = 5,
+ /obj/item/fish/chasm_crab/ice = 30,
+ /obj/item/fish/lavaloop/plasma_river = 30,
+ /obj/item/coin/plasma = 6,
+ /obj/item/stack/ore/plasma = 6,
+ /obj/effect/decal/remains/plasma = 2,
+ /obj/item/stack/sheet/mineral/runite = 2,
+ /obj/item/stack/sheet/mineral/adamantine = 2,
+ /mob/living/basic/mining/lobstrosity = 1,
+ /mob/living/basic/mining/lobstrosity/juvenile = 1,
+ )
+ fish_counts = list(
+ /obj/item/stack/sheet/mineral/adamantine = 3,
+ /obj/item/stack/sheet/mineral/runite = 2,
+ )
+ fish_count_regen = list(
+ /obj/item/stack/sheet/mineral/adamantine = 8 MINUTES,
+ /obj/item/stack/sheet/mineral/runite = 10 MINUTES,
+ )
+ overlay_state = "portal_plasma"
+ associated_safe_turfs = list(/turf/open/lava/plasma)
+
+/datum/fish_source/oil_well
+ background = "background_oil_well"
+ catalog_description = "Oil wells"
+ radial_state = "oil"
+ overlay_state = "portal_chasm" //close enough to pitch black
+ fish_table = list(
+ FISHING_DUD = 5,
+ /obj/item/fish/boned = 10,
+ /obj/item/stack/sheet/bone = 2,
+ /obj/item/clothing/gloves/bracer = 2,
+ /obj/effect/decal/remains/human = 2,
+ /obj/item/fish/mastodon = 1,
+ /obj/item/fishing_rod/telescopic/master = 1,
+ )
+ fish_counts = list(
+ /obj/item/clothing/gloves/bracer = 1,
+ /obj/effect/decal/remains/human = 1,
+ /obj/item/fish/mastodon = 1,
+ /obj/item/fishing_rod/telescopic/master = 1,
+ )
+ fish_count_regen = list(
+ /obj/item/fish/mastodon = 8 MINUTES,
+ )
+ fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 25
diff --git a/code/modules/fishing/sources/subtypes/rifts.dm b/code/modules/fishing/sources/subtypes/rifts.dm
new file mode 100644
index 00000000000..b9d4a7f39e1
--- /dev/null
+++ b/code/modules/fishing/sources/subtypes/rifts.dm
@@ -0,0 +1,173 @@
+//Fish sources that're usually related to rifts or anomalies go here.
+
+/datum/fish_source/carp_rift
+ background = "background_carp_rift"
+ catalog_description = "Space Dragon Rifts"
+ radial_state = "carp"
+ overlay_state = "portal_rift"
+ fish_table = list(
+ FISHING_DUD = 3,
+ /obj/item/fish/baby_carp = 5,
+ /mob/living/basic/carp = 1,
+ /mob/living/basic/carp/passive = 1,
+ /mob/living/basic/carp/mega = 1,
+ /obj/item/clothing/head/fedora/carpskin = 1,
+ /obj/item/toy/plush/carpplushie = 1,
+ /obj/item/toy/plush/carpplushie/dehy_carp/peaceful = 1,
+ /obj/item/knife/carp = 1,
+ )
+ fish_counts = list(
+ /mob/living/basic/carp/mega = 2,
+ )
+ fish_count_regen = list(
+ /mob/living/basic/carp/mega = 9 MINUTES,
+ )
+ fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 28
+ associated_safe_turfs = list(/turf/open/space)
+
+/datum/fish_source/dimensional_rift
+ background = "background_mansus"
+ catalog_description = null // it's a secret (sorta, I know you're reading this)
+ radial_state = "cursed" // placeholder
+ overlay_state = "portal_mansus"
+ fish_table = list(
+ FISHING_INFLUENCE = 6,
+ FISHING_RANDOM_ARM = 3,
+ /obj/item/fish/starfish/chrystarfish = 7,
+ /obj/item/fish/dolphish = 7,
+ /obj/item/fish/flumpulus = 7,
+ /obj/item/fish/gullion = 7,
+ /obj/item/fish/mossglob = 3,
+ /obj/item/fish/babbelfish = 1,
+ /mob/living/basic/heretic_summon/fire_shark/wild = 3,
+ /obj/item/eldritch_potion/crucible_soul = 1,
+ /obj/item/eldritch_potion/duskndawn = 1,
+ /obj/item/eldritch_potion/wounded = 1,
+ /obj/item/reagent_containers/cup/beaker/eldritch = 2,
+ )
+ fish_counts = list(
+ /obj/item/fish/mossglob = 3,
+ /obj/item/fish/babbelfish = 1,
+ /mob/living/basic/heretic_summon/fire_shark/wild = 3,
+ /obj/item/eldritch_potion/crucible_soul = 1,
+ /obj/item/eldritch_potion/duskndawn = 1,
+ /obj/item/eldritch_potion/wounded = 1,
+ /obj/item/reagent_containers/cup/beaker/eldritch = 2,
+ )
+ fish_count_regen = list(
+ /obj/item/fish/mossglob = 3 MINUTES,
+ /obj/item/fish/babbelfish = 5 MINUTES,
+ /mob/living/basic/heretic_summon/fire_shark/wild = 6 MINUTES,
+ /obj/item/eldritch_potion/crucible_soul = 5 MINUTES,
+ /obj/item/eldritch_potion/duskndawn = 5 MINUTES,
+ /obj/item/eldritch_potion/wounded = 5 MINUTES,
+ /obj/item/reagent_containers/cup/beaker/eldritch = 2.5 MINUTES,
+ )
+ fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 35
+ fish_source_flags = FISH_SOURCE_FLAG_EXPLOSIVE_NONE
+
+/**
+ * You can fish up random arms, but you can also fish up arms (or heads, from TK) that were eaten at some point by a rift.
+ * No need to check for what the location is, just get its limbs from its contents. It should always be a visible heretic rift. Should.
+ */
+/datum/fish_source/dimensional_rift/get_fish_table(atom/location, from_explosion = FALSE)
+ . = ..()
+ if(istype(location, /obj/machinery/fishing_portal_generator))
+ var/obj/machinery/fishing_portal_generator/portal = location
+ location = portal.current_linked_atom
+
+ for(var/obj/item/eaten_thing in location.get_all_contents())
+ .[eaten_thing] = 6
+
+/datum/fish_source/dimensional_rift/on_challenge_completed(mob/user, datum/fishing_challenge/challenge, success)
+ . = ..()
+
+ if(!success)
+ if(IS_HERETIC(user))
+ return
+ if(!user.get_active_hand())
+ return influence_fished(user, challenge)
+ on_epic_fail(user, challenge, success)
+ return
+
+
+ if(challenge.reward_path == FISHING_INFLUENCE)
+ influence_fished(user, challenge)
+ return
+
+ return
+
+/**
+ * Override for influences and arms.
+ */
+/datum/fish_source/dimensional_rift/spawn_reward(reward_path, atom/spawn_location, atom/fishing_spot)
+ switch(reward_path)
+ if(FISHING_INFLUENCE)
+ return
+ if(FISHING_RANDOM_ARM)
+ return arm_fished(spawn_location)
+ return ..()
+
+/**
+ * This happens when a non-heretic fails the minigame. Their arm is ripped straight off and thrown into the rift.
+ */
+/datum/fish_source/dimensional_rift/proc/on_epic_fail(mob/user, datum/fishing_challenge/challenge, success)
+ challenge.location.visible_message(span_danger("[challenge.location]'s tendrils lash out and pull on [user]'s [user.get_active_hand()], ripping it clean off and throwing it towards itself!"))
+ var/obj/item/bodypart/random_arm = user.get_active_hand()
+ random_arm.dismember(BRUTE, FALSE)
+ random_arm.forceMove(user.drop_location())
+ random_arm.throw_at(challenge.location, 7, 1, null, TRUE)
+ // Abstract items shouldn't be thrown in!
+ if(!(challenge.used_rod.item_flags & ABSTRACT))
+ challenge.used_rod.forceMove(user.drop_location())
+ challenge.used_rod.throw_at(challenge.location, 7, 1, null, TRUE)
+ addtimer(CALLBACK(src, PROC_REF(check_item_location), challenge.location, random_arm, challenge.used_rod), 1 SECONDS)
+
+/datum/fish_source/dimensional_rift/proc/check_item_location(atom/location, obj/item/bodypart/random_arm, obj/item/used_rod)
+ for(var/obj/item/thingy in get_turf(location))
+ // If it's not in the list and it's not what we know as the used rod, skip.
+ // This lets fishing gloves be dragged in as well. I mean honestly if you try fishing in here with those you should just Fucking Die but that's for later.
+ if(!is_type_in_list(thingy, list(/obj/item/bodypart, /obj/item/fishing_rod)) && (thingy != used_rod))
+ continue
+ thingy.forceMove(location)
+ location.visible_message(span_danger("Tendrils lash out from [location] and greedily drag [thingy] inwards. You're probably never seeing [thingy] again."))
+
+/datum/fish_source/dimensional_rift/proc/arm_fished(atom/spawn_location)
+ var/obj/item/bodypart/arm/random_arm = pick(subtypesof(/obj/item/bodypart/arm))
+ random_arm = new random_arm(spawn_location)
+ spawn_location.visible_message(span_notice("A [random_arm] is snatched up from beneath the eldritch depths of [spawn_location]!"))
+ return random_arm
+
+/datum/fish_source/dimensional_rift/proc/influence_fished(mob/user, datum/fishing_challenge/challenge)
+ if(challenge.reward_path != FISHING_INFLUENCE)
+ return
+ var/mob/living/carbon/human/human_user
+ if(ishuman(user))
+ human_user = user
+
+ user.visible_message(span_danger("[user] reels [user.p_their()] [challenge.used_rod] in, catching a glimpse into the world beyond!"), span_notice("You catch.. a glimpse into the workings of the Mansus itself!"))
+ // Heretics that fish in the rift gain knowledge.
+ if(IS_HERETIC(user))
+ human_user?.add_mood_event("rift fishing", /datum/mood_event/rift_fishing)
+ var/obj/effect/heretic_influence/fishfluence = challenge.location
+ // But only if it's an open rift
+ if(!istype(fishfluence))
+ to_chat(user, span_notice("You glimpse something fairly uninteresting."))
+ return
+ fishfluence.after_drain(user)
+ var/datum/antagonist/heretic/heretic_datum = GET_HERETIC(user)
+ if(heretic_datum)
+ heretic_datum.knowledge_points++
+ to_chat(user, "[span_hear("You hear a whisper...")] [span_hypnophrase("THE HIGHER I RISE, THE MORE I FISH.")]")
+ // They can also gain an extra influence point if they infused their rod.
+ if(HAS_TRAIT(challenge.used_rod, TRAIT_ROD_MANSUS_INFUSED))
+ heretic_datum.knowledge_points++
+ to_chat(user, span_boldnotice("Your infused rod improves your knowledge gain!"))
+ return
+
+ // Non-heretics instead go crazy
+ human_user?.adjustOrganLoss(ORGAN_SLOT_BRAIN, 10, 190)
+ human_user?.add_mood_event("gates_of_mansus", /datum/mood_event/gates_of_mansus)
+ human_user?.do_jitter_animation(50)
+ // Hand fires at them from the location
+ fire_curse_hand(user, get_turf(challenge.location))
diff --git a/code/modules/fishing/sources/subtypes/structures.dm b/code/modules/fishing/sources/subtypes/structures.dm
new file mode 100644
index 00000000000..3d9f11e3c35
--- /dev/null
+++ b/code/modules/fishing/sources/subtypes/structures.dm
@@ -0,0 +1,423 @@
+//Fish sources that're usually associated with structures or machinery.
+
+/datum/fish_source/moisture_trap
+ background = "background_dank"
+ catalog_description = "Moisture trap basins"
+ radial_state = "garbage"
+ overlay_state = "portal_river" // placeholder
+ fish_table = list(
+ FISHING_DUD = 20,
+ /obj/item/fish/ratfish = 10,
+ /obj/item/fish/slimefish = 4,
+ )
+ fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 20
+
+/datum/fish_source/toilet
+ background = "background_dank"
+ catalog_description = "Station toilets"
+ radial_state = "toilet"
+ duds = list("ewww... nothing", "it was nothing", "it was toilet paper", "it was flushed away", "the hook is empty", "where's the damn money?!")
+ overlay_state = "portal_river" // placeholder
+ fish_table = list(
+ FISHING_DUD = 18,
+ /obj/item/fish/sludgefish = 18,
+ /obj/item/fish/slimefish = 4,
+ /obj/item/storage/wallet/money = 2,
+ /obj/item/survivalcapsule/fishing = 1,
+ )
+ fish_counts = list(
+ /obj/item/storage/wallet/money = 2,
+ /obj/item/survivalcapsule/fishing = 1,
+ )
+ fishing_difficulty = FISHING_EASY_DIFFICULTY + 10
+
+/datum/fish_source/holographic
+ catalog_description = "Holographic water"
+ fish_table = list(
+ /obj/item/fish/holo = 10,
+ /obj/item/fish/holo/crab = 10,
+ /obj/item/fish/holo/puffer = 10,
+ /obj/item/fish/holo/angel = 10,
+ /obj/item/fish/holo/clown = 10,
+ /obj/item/fish/holo/checkered = 5,
+ /obj/item/fish/holo/halffish = 5,
+ )
+ fishing_difficulty = FISHING_EASY_DIFFICULTY + 10
+ fish_source_flags = FISH_SOURCE_FLAG_NO_BLUESPACE_ROD
+ associated_safe_turfs = list(/turf/open/floor/holofloor/beach/water)
+
+/datum/fish_source/holographic/on_fishing_spot_init(datum/component/fishing_spot/spot)
+ ADD_TRAIT(spot.parent, TRAIT_UNLINKABLE_FISHING_SPOT, REF(src)) //You would have to be inside the holodeck anyway...
+
+/datum/fish_source/holographic/on_fishing_spot_del(datum/component/fishing_spot/spot)
+ REMOVE_TRAIT(spot.parent, TRAIT_UNLINKABLE_FISHING_SPOT, REF(src))
+
+/datum/fish_source/holographic/generate_wiki_contents(datum/autowiki/fish_sources/wiki)
+ var/obj/item/fish/prototype = /obj/item/fish/holo/checkered
+ return LIST_VALUE_WRAP_LISTS(list(
+ FISH_SOURCE_AUTOWIKI_NAME = "Holographic Fish",
+ FISH_SOURCE_AUTOWIKI_ICON = FISH_AUTOWIKI_FILENAME(prototype),
+ FISH_SOURCE_AUTOWIKI_WEIGHT = 100,
+ FISH_SOURCE_AUTOWIKI_NOTES = "Holographic fish disappears outside the Holodeck",
+ ))
+
+/datum/fish_source/holographic/reason_we_cant_fish(obj/item/fishing_rod/rod, mob/fisherman, atom/parent)
+ . = ..()
+ if(!istype(get_area(fisherman), /area/station/holodeck))
+ return "You need to be inside the Holodeck to catch holographic fish."
+
+/datum/fish_source/holographic/pre_challenge_started(obj/item/fishing_rod/rod, mob/user, datum/fishing_challenge/challenge)
+ RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(check_area))
+
+/datum/fish_source/holographic/proc/check_area(mob/user)
+ SIGNAL_HANDLER
+ if(!istype(get_area(user), /area/station/holodeck))
+ interrupt_challenge("exited holodeck")
+
+/datum/fish_source/holographic/on_challenge_completed(datum/fishing_challenge/source, mob/user, success)
+ . = ..()
+ UnregisterSignal(user, COMSIG_MOVABLE_MOVED)
+
+/datum/fish_source/hydro_tray
+ background = "background_tray"
+ catalog_description = "Hydroponics trays"
+ radial_state = "hydro"
+ overlay_state = "portal_tray"
+ fish_table = list(
+ FISHING_DUD = 25,
+ /obj/item/food/grown/grass = 25,
+ FISHING_RANDOM_SEED = 16,
+ /obj/item/seeds/grass = 6,
+ /obj/item/seeds/random = 1,
+ /mob/living/basic/frog = 1,
+ /mob/living/basic/axolotl = 1,
+ /mob/living/basic/turtle = 2,
+ )
+ fish_counts = list(
+ /obj/item/food/grown/grass = 10,
+ /obj/item/seeds/grass = 4,
+ FISHING_RANDOM_SEED = 4,
+ /obj/item/seeds/random = 1,
+ /mob/living/basic/frog = 1,
+ /mob/living/basic/axolotl = 1,
+ )
+ fishing_difficulty = FISHING_EASY_DIFFICULTY + 5
+
+/datum/fish_source/hydro_tray/generate_wiki_contents(datum/autowiki/fish_sources/wiki)
+ var/list/data = list()
+ var/total_weight = 0
+ var/critter_weight = 0
+ var/seed_weight = 0
+ var/other_weight = 0
+ var/dud_weight = fish_table[FISHING_DUD]
+ for(var/content in fish_table)
+ var/weight = fish_table[content]
+ total_weight += weight
+ if(ispath(content, /mob/living))
+ critter_weight += weight
+ else if(ispath(content, /obj/item/food/grown) || ispath(content, /obj/item/seeds) || content == FISHING_RANDOM_SEED)
+ seed_weight += weight
+ else if(content != FISHING_DUD)
+ other_weight += weight
+
+ data += LIST_VALUE_WRAP_LISTS(list(
+ FISH_SOURCE_AUTOWIKI_NAME = FISH_SOURCE_AUTOWIKI_DUD,
+ FISH_SOURCE_AUTOWIKI_DUD = "",
+ FISH_SOURCE_AUTOWIKI_WEIGHT = PERCENT(dud_weight/total_weight),
+ FISH_SOURCE_AUTOWIKI_WEIGHT_SUFFIX = "WITHOUT A BAIT",
+ FISH_SOURCE_AUTOWIKI_NOTES = "",
+ ))
+
+ data += LIST_VALUE_WRAP_LISTS(list(
+ FISH_SOURCE_AUTOWIKI_NAME = "Critter",
+ FISH_SOURCE_AUTOWIKI_DUD = "",
+ FISH_SOURCE_AUTOWIKI_WEIGHT = PERCENT(critter_weight/total_weight),
+ FISH_SOURCE_AUTOWIKI_NOTES = "A small creature, usually a frog or an axolotl",
+ ))
+
+ if(other_weight)
+ data += LIST_VALUE_WRAP_LISTS(list(
+ FISH_SOURCE_AUTOWIKI_NAME = "Other Stuff",
+ FISH_SOURCE_AUTOWIKI_DUD = "",
+ FISH_SOURCE_AUTOWIKI_WEIGHT = PERCENT(other_weight/total_weight),
+ FISH_SOURCE_AUTOWIKI_NOTES = "Other stuff, who knows...",
+ ))
+
+ return data
+
+/datum/fish_source/hydro_tray/reason_we_cant_fish(obj/item/fishing_rod/rod, mob/fisherman, atom/parent)
+ if(!istype(parent, /obj/machinery/hydroponics/constructable))
+ return ..()
+
+ var/obj/machinery/hydroponics/constructable/basin = parent
+ if(basin.waterlevel <= 0)
+ return "There's no water in [parent] to fish in."
+ if(basin.myseed)
+ return "There's a plant growing in [parent]."
+
+ return ..()
+
+/datum/fish_source/hydro_tray/spawn_reward_from_explosion(atom/location, severity)
+ if(!istype(location, /obj/machinery/hydroponics/constructable))
+ return ..()
+
+ var/obj/machinery/hydroponics/constructable/basin = location
+ if(basin.myseed || basin.waterlevel <= 0)
+ return
+ return ..()
+
+/datum/fish_source/hydro_tray/spawn_reward(reward_path, atom/spawn_location, atom/fishing_spot, obj/item/fishing_rod/used_rod)
+ if(reward_path != FISHING_RANDOM_SEED)
+ var/mob/living/created_reward = ..()
+ if(istype(created_reward))
+ created_reward.name = "small [created_reward.name]"
+ created_reward.update_transform(0.75)
+ return created_reward
+
+ var/static/list/seeds_to_draw_from
+ if(isnull(seeds_to_draw_from))
+ seeds_to_draw_from = subtypesof(/obj/item/seeds)
+ // These two are already covered innately
+ seeds_to_draw_from -= /obj/item/seeds/random
+ seeds_to_draw_from -= /obj/item/seeds/grass
+ // -1 yield are unharvestable plants so we don't care
+ // 20 rarirty is where most of the wacky plants are so let's ignore them
+ for(var/obj/item/seeds/seed_path as anything in seeds_to_draw_from)
+ if(initial(seed_path.yield) == -1 || initial(seed_path.rarity) >= PLANT_MODERATELY_RARE)
+ seeds_to_draw_from -= seed_path
+
+ var/picked_path = pick(seeds_to_draw_from)
+ return new picked_path(spawn_location)
+
+/datum/fish_source/deepfryer
+ background = "background_lavaland"
+ catalog_description = "Deep Fryers"
+ radial_state = "fryer"
+ overlay_state = "portal_fry" // literally resprited lava. better than nothing
+ fish_table = list(
+ /obj/item/food/badrecipe = 15,
+ /obj/item/food/nugget = 5,
+ /obj/item/fish/fryish = 40,
+ /obj/item/fish/fryish/fritterish = 4,
+ /obj/item/fish/fryish/nessie = 1,
+ )
+ fish_counts = list(
+ /obj/item/fish/fryish = 10,
+ /obj/item/fish/fryish/fritterish = 4,
+ /obj/item/fish/fryish/nessie = 1,
+ )
+ fish_count_regen = list(
+ /obj/item/fish/fryish = 2 MINUTES,
+ /obj/item/fish/fryish/fritterish = 6 MINUTES,
+ /obj/item/fish/fryish/nessie = 22 MINUTES,
+ )
+ fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 23
+
+#define RANDOM_AQUARIUM_FISH "random_aquarium_fish"
+
+/datum/fish_source/aquarium
+ catalog_description = "Aquariums"
+ radial_state = "fish_tank"
+ fish_table = list(
+ FISHING_DUD = 10,
+ )
+ fish_source_flags = FISH_SOURCE_FLAG_NO_BLUESPACE_ROD|FISH_SOURCE_FLAG_IGNORE_HIDDEN_ON_CATALOG|FISH_SOURCE_FLAG_EXPLOSIVE_NONE
+ fishing_difficulty = FISHING_EASY_DIFFICULTY + 5
+
+#undef RANDOM_AQUARIUM_FISH
+
+/datum/fish_source/aquarium/get_fish_table(atom/location, from_explosion = FALSE)
+ if(istype(location, /obj/machinery/fishing_portal_generator))
+ var/obj/machinery/fishing_portal_generator/portal = location
+ location = portal.current_linked_atom
+ var/list/table = list()
+ for(var/obj/item/fish/fish in location)
+ if(fish.status == FISH_DEAD) //dead fish cannot be caught
+ continue
+ table[fish] = 10
+ if(!length(table))
+ return fish_table.Copy()
+ return table
+
+/datum/fish_source/aquarium/generate_wiki_contents(datum/autowiki/fish_sources/wiki)
+ var/list/data = list()
+
+ data += LIST_VALUE_WRAP_LISTS(list(
+ FISH_SOURCE_AUTOWIKI_NAME = "Fish",
+ FISH_SOURCE_AUTOWIKI_DUD = "",
+ FISH_SOURCE_AUTOWIKI_WEIGHT = 100,
+ FISH_SOURCE_AUTOWIKI_NOTES = "Any fish currently inside the aquarium, be they alive or dead.",
+ ))
+
+ return data
+
+/datum/fish_source/vending
+ background = "background_chasm"
+ catalog_description = "Vending Machines"
+ radial_state = "vending"
+ overlay_state = "portal_randomizer"
+ fish_table = list(
+ FISHING_DUD = 10,
+ )
+ fish_source_flags = FISH_SOURCE_FLAG_NO_BLUESPACE_ROD|FISH_SOURCE_FLAG_EXPLOSIVE_NONE
+ fishing_difficulty = FISHING_EASY_DIFFICULTY //with some equipment and just enough dosh, you should be able to skip the minigame
+
+/datum/fish_source/vending/generate_wiki_contents(datum/autowiki/fish_sources/wiki)
+ var/list/data = list()
+
+ data += LIST_VALUE_WRAP_LISTS(list(
+ FISH_SOURCE_AUTOWIKI_NAME = "Vending Products",
+ FISH_SOURCE_AUTOWIKI_DUD = "",
+ FISH_SOURCE_AUTOWIKI_WEIGHT = 100,
+ FISH_SOURCE_AUTOWIKI_NOTES = "Use chips, bills or coins as bait to get a semi-random vending product, depending on both its and the bait's monetary values",
+ ))
+
+ return data
+
+/datum/fish_source/vending/get_modified_fish_table(obj/item/fishing_rod/rod, mob/fisherman, atom/location)
+ if(istype(location, /obj/machinery/fishing_portal_generator))
+ var/obj/machinery/fishing_portal_generator/portal = location
+ location = portal.current_linked_atom
+ if(!istype(location, /obj/machinery/vending))
+ return list()
+
+ return get_vending_table(rod, fisherman, location)
+
+/datum/fish_source/vending/proc/get_vending_table(obj/item/fishing_rod/rod, mob/fisherman, obj/machinery/vending/location)
+ var/list/table = list()
+ ///Create a list of products, ordered by price from highest to lowest
+ var/list/products = location.product_records + location.coin_records + location.hidden_records
+ sortTim(products, GLOBAL_PROC_REF(cmp_vending_prices))
+
+ var/bait_value = rod.bait?.get_item_credit_value() || 1
+
+ var/highest_record_price = 0
+ for(var/datum/data/vending_product/product_record as anything in products)
+ if(product_record.amount <= 0)
+ products -= product_record
+ table[FISHING_DUD] += PAYCHECK_LOWER //it gets harder the emptier the machine is
+ continue
+ if(!highest_record_price)
+ highest_record_price = product_record.price
+ var/high = max(highest_record_price, bait_value)
+ var/low = min(highest_record_price, bait_value)
+
+ //the smaller the difference between product price and bait value, the more likely you're to get it.
+ table[product_record] = low/high * 1000 //multiply the value by 1000 for accuracy. pick_weight() doesn't work with zero decimals yet.
+
+ add_risks(table, bait_value, highest_record_price, length(products) * 0.5)
+ return table
+
+/datum/fish_source/vending/proc/add_risks(list/table, bait_value, highest_price, malus_multiplier)
+ ///Using more than the money needed to buy the most expensive item (why would you do it?!) will remove the dud chance.
+ if(bait_value > highest_price)
+ table -= FISHING_DUD
+ else
+ //Makes using 1 cred chips with the minigame skip (negative fishing difficulty) a bit less cheesy.
+ var/malus = min(PAYCHECK_LOWER - bait_value, highest_price)
+ if(malus > 0)
+ table[FISHING_DUD] += malus * malus_multiplier
+ table[FISHING_VENDING_CHUCK] += malus * malus_multiplier
+
+#define FISHING_PRODUCT_DIFFICULTY_MULT 1.6
+
+/datum/fish_source/vending/calculate_difficulty(datum/fishing_challenge/challenge, result, obj/item/fishing_rod/rod, mob/fisherman)
+ //Using less than a minimum paycheck is going to make the challenge a tad harder.
+ var/bait_value = rod.bait?.get_item_credit_value()
+ var/base_diff = PAYCHECK_LOWER - bait_value
+ return ..() + get_product_difficulty(base_diff, result) * FISHING_PRODUCT_DIFFICULTY_MULT
+
+/datum/fish_source/vending/proc/get_product_difficulty(diff, datum/result)
+ if(istype(result, /datum/data/vending_product))
+ var/datum/data/vending_product/product = result
+ diff = min(diff, product.price) // low priced items are easier to catch anyway
+ return diff
+
+#undef FISHING_PRODUCT_DIFFICULTY_MULT
+
+/datum/fish_source/vending/dispense_reward(reward_path, mob/fisherman, atom/fishing_spot, obj/item/fishing_rod/rod)
+ var/obj/machinery/vending/vending = fishing_spot
+ if(istype(fishing_spot, /obj/machinery/fishing_portal_generator))
+ var/obj/machinery/fishing_portal_generator/portal = fishing_spot
+ vending = portal.current_linked_atom
+
+ if(reward_path == FISHING_VENDING_CHUCK)
+ if(fishing_spot != vending) //fishing portals
+ vending.forceMove(get_turf(fishing_spot))
+ vending.tilt(fisherman, range = 4)
+ return null //Don't spawn a reward at all
+
+ var/atom/movable/reward = ..()
+ if(reward)
+ var/creds_value = rod.bait?.get_item_credit_value()
+ if(creds_value)
+ vending.credits_contained += round(creds_value * VENDING_CREDITS_COLLECTION_AMOUNT)
+ qdel(rod.bait)
+ return reward
+
+/datum/fish_source/vending/spawn_reward(reward_path, atom/spawn_location, obj/machinery/vending/fishing_spot, obj/item/fishing_rod/used_rod)
+ if(istype(fishing_spot, /obj/machinery/fishing_portal_generator))
+ var/obj/machinery/fishing_portal_generator/portal = fishing_spot
+ fishing_spot = portal.current_linked_atom
+ if(!istype(fishing_spot))
+ return null
+ return spawn_vending_reward(reward_path, spawn_location, fishing_spot)
+
+/datum/fish_source/vending/proc/spawn_vending_reward(reward_path, atom/spawn_location, obj/machinery/vending/fishing_spot)
+ var/datum/data/vending_product/product_record = reward_path
+ if(!istype(product_record) || product_record.amount <= 0)
+ return null
+ return fishing_spot.dispense(product_record, spawn_location)
+
+/datum/fish_source/vending/pre_challenge_started(obj/item/fishing_rod/rod, mob/user, datum/fishing_challenge/challenge)
+ RegisterSignal(rod, COMSIG_FISHING_ROD_CAUGHT_FISH, PROC_REF(on_reward))
+
+/datum/fish_source/vending/on_challenge_completed(mob/user, datum/fishing_challenge/challenge, success)
+ . = ..()
+ UnregisterSignal(challenge.used_rod, COMSIG_FISHING_ROD_CAUGHT_FISH)
+
+/datum/fish_source/vending/proc/on_reward(obj/item/fishing_rod/rod, atom/movable/reward, mob/user)
+ SIGNAL_HANDLER
+ if(reward && !QDELETED(rod.bait) && rod.bait.get_item_credit_value()) //you pay for what you get
+ qdel(rod.bait) // fishing_rod.Exited() will handle clearing the hard ref.
+
+///subtype of fish_source/vending for custom vending machines
+/datum/fish_source/vending/custom
+ catalog_description = null //no duplicate entries on autowiki or catalog
+
+/datum/fish_source/vending/custom/get_vending_table(obj/item/fishing_rod/rod, mob/fisherman, obj/machinery/vending/location)
+ var/list/table = list()
+ ///Create a list of products, ordered by price from highest to lowest
+ var/list/products = location.vending_machine_input.Copy()
+ sortTim(products, GLOBAL_PROC_REF(cmp_item_vending_prices))
+
+ var/bait_value = rod.bait?.get_item_credit_value() || 1
+
+ var/highest_record_price = 0
+ for(var/obj/item/stocked as anything in products)
+ if(location.vending_machine_input[stocked] <= 0)
+ products -= stocked
+ table[FISHING_DUD] += PAYCHECK_LOWER //it gets harder the emptier the machine is
+ continue
+ if(!highest_record_price)
+ highest_record_price = stocked.custom_price
+ var/high = max(highest_record_price, bait_value)
+ var/low = min(highest_record_price, bait_value)
+
+ //the smaller the difference between product price and bait value, the more likely you're to get it.
+ table[stocked] = low/high * 1000 //multiply the value by 1000 for accuracy. pick_weight() doesn't work with zero decimals yet.
+
+ add_risks(table, bait_value, highest_record_price, length(products) * 0.5)
+ return table
+
+/datum/fish_source/vending/custom/get_product_difficulty(diff, datum/result)
+ if(isitem(result))
+ var/obj/item/product = result
+ diff = min(diff, product.custom_price)
+ return diff
+
+/datum/fish_source/vending/custom/spawn_vending_reward(obj/item/reward, atom/spawn_location, obj/machinery/vending/fishing_spot)
+ if(!isitem(reward))
+ return null
+ reward.forceMove(spawn_location)
+ return reward
diff --git a/code/modules/fishing/sources/subtypes/surgery.dm b/code/modules/fishing/sources/subtypes/surgery.dm
new file mode 100644
index 00000000000..3beaa1d2fd9
--- /dev/null
+++ b/code/modules/fishing/sources/subtypes/surgery.dm
@@ -0,0 +1,50 @@
+//Quirky fish source for surgery, an overcomplicated joke.
+
+/datum/fish_source/surgery
+ catalog_description = "Surgery"
+ radial_state = "innards"
+ overlay_state = "portal_syndicate" //Didn't feel like spriting a new overlay. It's just all red anyway.
+ background = "background_lavaland" //Kinda red.
+ fish_table = list(FISHING_RANDOM_ORGAN = 10)
+ //This should get you below zero difficulty and skip the minigame phase, unless you're wearing something that counteracts this.
+ fishing_difficulty = -10
+ //The range for waiting is also a bit narrower, so it cannot take as few as 3 seconds or as many as 25 to snatch an organ.
+ wait_time_range = list(6 SECONDS, 12 SECONDS)
+
+/datum/fish_source/surgery/spawn_reward(reward_path, atom/spawn_location, atom/fishing_spot, obj/item/fishing_rod/used_rod)
+ if(istype(fishing_spot, /obj/machinery/fishing_portal_generator))
+ var/obj/machinery/fishing_portal_generator/portal = fishing_spot
+ fishing_spot = portal.current_linked_atom
+ if(!iscarbon(fishing_spot))
+ var/random_type = pick(subtypesof(/obj/item/organ) - GLOB.prototype_organs)
+ return new random_type(spawn_location)
+
+ var/mob/living/carbon/carbon = fishing_spot
+ var/list/possible_organs = list()
+ for(var/datum/surgery/organ_manipulation/operation in carbon.surgeries)
+ var/datum/surgery_step/manipulate_organs/manip_step = GLOB.surgery_steps[operation.steps[operation.status]]
+ if(!istype(manip_step))
+ continue
+ for(var/obj/item/organ/organ in operation.operated_bodypart)
+ if(organ.organ_flags & ORGAN_UNREMOVABLE || !manip_step.can_use_organ(organ))
+ continue
+ possible_organs |= organ
+
+ if(!length(possible_organs))
+ return null
+ var/obj/item/organ/chosen = pick(possible_organs)
+ chosen.Remove(chosen.owner)
+ chosen.forceMove(spawn_location)
+ return chosen
+
+/datum/fish_source/surgery/generate_wiki_contents(datum/autowiki/fish_sources/wiki)
+ var/list/data = list()
+
+ data += LIST_VALUE_WRAP_LISTS(list(
+ FISH_SOURCE_AUTOWIKI_NAME = "Organs",
+ FISH_SOURCE_AUTOWIKI_DUD = "",
+ FISH_SOURCE_AUTOWIKI_WEIGHT = 100,
+ FISH_SOURCE_AUTOWIKI_NOTES = "A random organ from an ongoing organ manipulation surgery.",
+ ))
+
+ return data
diff --git a/code/modules/fishing/sources/subtypes/turfs.dm b/code/modules/fishing/sources/subtypes/turfs.dm
new file mode 100644
index 00000000000..9d58be8dba7
--- /dev/null
+++ b/code/modules/fishing/sources/subtypes/turfs.dm
@@ -0,0 +1,138 @@
+//Generic fish sources that're usually associated with non-mining turfs
+
+/datum/fish_source/ocean
+ radial_state = "seaboat"
+ overlay_state = "portal_ocean"
+ fish_table = list(
+ FISHING_DUD = 10,
+ /obj/effect/spawner/message_in_a_bottle = 4,
+ /obj/item/coin/gold = 6,
+ /obj/item/fish/clownfish = 11,
+ /obj/item/fish/pufferfish = 11,
+ /obj/item/fish/cardinal = 11,
+ /obj/item/fish/greenchromis = 11,
+ /obj/item/fish/squid = 11,
+ /obj/item/fish/stingray = 8,
+ /obj/item/fish/plaice = 8,
+ /obj/item/fish/monkfish = 5,
+ /obj/item/fish/lanternfish = 7,
+ /obj/item/fish/zipzap = 7,
+ /obj/item/fish/clownfish/lube = 5,
+ /obj/item/fish/swordfish = 5,
+ /obj/structure/mystery_box/fishing = 2,
+ )
+ fish_counts = list(
+ /obj/item/fish/clownfish/lube = 2,
+ /obj/item/fish/swordfish = 2,
+ /obj/structure/mystery_box/fishing = 1,
+ )
+ fish_count_regen = list(
+ /obj/item/fish/clownfish/lube = 3 MINUTES,
+ /obj/item/fish/swordfish = 5 MINUTES,
+ /obj/structure/mystery_box/fishing = 32 MINUTES,
+ )
+ fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 15
+ fish_source_flags = FISH_SOURCE_FLAG_EXPLOSIVE_MALUS
+ associated_safe_turfs = list(/turf/open/water/beach)
+
+/datum/fish_source/ocean/beach
+ catalog_description = "Beach shore water"
+ radial_state = "palm_beach"
+ overlay_state = "portal_beach"
+ associated_safe_turfs = list(/turf/open/water/beach)
+
+/datum/fish_source/ice_fishing
+ background = "background_ice"
+ catalog_description = "Ice-covered water"
+ radial_state = "ice"
+ overlay_state = "portal_ocean"
+ fish_table = list(
+ FISHING_DUD = 4,
+ /obj/item/fish/arctic_char = 5,
+ /obj/item/fish/sockeye_salmon = 5,
+ /obj/item/fish/chasm_crab/ice = 2,
+ /obj/item/fish/boned = 1,
+ )
+ fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 30
+ associated_safe_turfs = list(/turf/open/water)
+ safe_turfs_blacklist = list(/turf/open/water/hot_spring, /turf/open/water/beach)
+
+/datum/fish_source/river
+ catalog_description = "River water"
+ radial_state = "river"
+ overlay_state = "portal_river"
+ fish_table = list(
+ FISHING_DUD = 4,
+ /obj/item/fish/goldfish = 5,
+ /obj/item/fish/guppy = 5,
+ /obj/item/fish/plasmatetra = 4,
+ /obj/item/fish/perch = 4,
+ /obj/item/fish/angelfish = 4,
+ /obj/item/fish/catfish = 4,
+ /obj/item/fish/slimefish = 2,
+ /obj/item/fish/sockeye_salmon = 1,
+ /obj/item/fish/arctic_char = 1,
+ /obj/item/fish/pike = 1,
+ /obj/item/fish/goldfish/three_eyes = 1,
+ )
+ fish_counts = list(
+ /obj/item/fish/pike = 3,
+ )
+ fish_count_regen = list(
+ /obj/item/fish/pike = 4 MINUTES,
+ )
+ fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 15
+ fish_source_flags = FISH_SOURCE_FLAG_EXPLOSIVE_MALUS
+ associated_safe_turfs = list(/turf/open/water)
+ safe_turfs_blacklist = list(/turf/open/water/hot_spring, /turf/open/water/beach)
+
+/datum/fish_source/sand
+ catalog_description = "Sand"
+ radial_state = "palm_beach"
+ fish_table = list(
+ FISHING_DUD = 8,
+ /obj/item/fish/sand_crab = 10,
+ /obj/item/fish/sand_surfer = 10,
+ /obj/item/fish/bumpy = 10,
+ /obj/item/coin/gold = 3,
+ )
+ fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 30
+ fish_source_flags = FISH_SOURCE_FLAG_EXPLOSIVE_MALUS
+
+/datum/fish_source/hot_spring
+ catalog_description = "Hot Springs"
+ radial_state = "onsen"
+ overlay_state = "portal_ocean"
+ fish_table = list(
+ FISHING_DUD = 20,
+ /obj/item/fish/bumpy = 10,
+ /obj/item/fish/sacabambaspis = 10,
+ /mob/living/basic/frog = 2,
+ /obj/item/fishing_rod/telescopic/master = 1,
+ )
+ fish_counts = list(
+ /obj/item/fish/sacabambaspis = 5,
+ /obj/item/fishing_rod/telescopic/master = 2,
+ )
+ fish_count_regen = list(
+ /obj/item/fish/sacabambaspis = 4 MINUTES,
+ )
+ fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 30
+ fish_source_flags = FISH_SOURCE_FLAG_EXPLOSIVE_MALUS
+ associated_safe_turfs = list(/turf/open/water/hot_spring)
+
+/datum/fish_source/tizira
+ catalog_description = "Tiziran Sea"
+ radial_state = "planet"
+ overlay_state = "portal_beach"
+ fish_table = list(
+ FISHING_DUD = 10,
+ /obj/item/fish/needlefish = 5,
+ /obj/item/fish/armorfish = 5,
+ /obj/item/fish/gunner_jellyfish = 4,
+ /obj/item/fish/moonfish/dwarf = 2,
+ /obj/item/fish/moonfish = 2,
+ )
+ fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 20
+ fish_source_flags = FISH_SOURCE_FLAG_EXPLOSIVE_MALUS
+ associated_safe_turfs = list(/turf/open/water/beach/tizira)
diff --git a/code/modules/flufftext/Dreaming.dm b/code/modules/flufftext/dreaming.dm
similarity index 98%
rename from code/modules/flufftext/Dreaming.dm
rename to code/modules/flufftext/dreaming.dm
index c38108dac14..a813c8d9652 100644
--- a/code/modules/flufftext/Dreaming.dm
+++ b/code/modules/flufftext/dreaming.dm
@@ -23,7 +23,7 @@
set waitfor = FALSE
var/datum/dream/chosen_dream
- if (IS_HERETIC(src) && !("mansus_dream_fatigue" in src.mob_mood.mood_events) && GLOB.reality_smash_track.smashes.len)
+ if (IS_HERETIC(src) && !mob_mood.get_mood_event("mansus_dream_fatigue") && GLOB.reality_smash_track.smashes.len)
chosen_dream = new /datum/dream/heretic(pick(GLOB.reality_smash_track.smashes))
else
chosen_dream = pick_weight(GLOB.dreams)
diff --git a/code/modules/food_and_drinks/machinery/coffeemaker.dm b/code/modules/food_and_drinks/machinery/coffeemaker.dm
index d7f3dd516ca..00cc0656aa1 100644
--- a/code/modules/food_and_drinks/machinery/coffeemaker.dm
+++ b/code/modules/food_and_drinks/machinery/coffeemaker.dm
@@ -525,13 +525,13 @@
/obj/machinery/coffeemaker/impressa/Destroy()
QDEL_NULL(coffeepot)
- QDEL_NULL(coffee)
+ QDEL_LIST(coffee)
return ..()
/obj/machinery/coffeemaker/impressa/examine(mob/user)
. = ..()
if(coffee)
- . += span_notice("The internal grinder contains [coffee.len] scoop\s of coffee beans")
+ . += span_notice("The internal grinder contains [length(coffee)] scoop\s of coffee beans")
/obj/machinery/coffeemaker/impressa/update_overlays()
. = ..()
diff --git a/code/modules/food_and_drinks/machinery/deep_fryer.dm b/code/modules/food_and_drinks/machinery/deep_fryer.dm
index 91d6512c6ab..b3c24da94a4 100644
--- a/code/modules/food_and_drinks/machinery/deep_fryer.dm
+++ b/code/modules/food_and_drinks/machinery/deep_fryer.dm
@@ -104,7 +104,7 @@ GLOBAL_LIST_INIT(oilfry_blacklisted_items, typecacheof(list(
/obj/machinery/deepfryer/attackby(obj/item/weapon, mob/user, params)
// Dissolving pills into the frier
- if(istype(weapon, /obj/item/reagent_containers/pill))
+ if(istype(weapon, /obj/item/reagent_containers/applicator/pill))
if(!reagents.total_volume)
to_chat(user, span_warning("There's nothing to dissolve [weapon] in!"))
return
diff --git a/code/modules/food_and_drinks/machinery/microwave.dm b/code/modules/food_and_drinks/machinery/microwave.dm
index 53725dad385..b6695af59a5 100644
--- a/code/modules/food_and_drinks/machinery/microwave.dm
+++ b/code/modules/food_and_drinks/machinery/microwave.dm
@@ -233,8 +233,8 @@
MICROWAVE_INGREDIENT_OVERLAY_SIZE / icon_dimensions["height"],
)
- ingredient_overlay.pixel_x = ingredient_shifts_x[(ingredient_count % ingredient_shifts_x.len) + 1]
- ingredient_overlay.pixel_y = ingredient_shifts_y[(ingredient_count % ingredient_shifts_y.len) + 1]
+ ingredient_overlay.pixel_w = ingredient_shifts_x[(ingredient_count % ingredient_shifts_x.len) + 1]
+ ingredient_overlay.pixel_z = ingredient_shifts_y[(ingredient_count % ingredient_shifts_y.len) + 1]
ingredient_overlay.layer = FLOAT_LAYER
ingredient_overlay.plane = FLOAT_PLANE
ingredient_overlay.blend_mode = BLEND_INSET_OVERLAY
diff --git a/code/modules/food_and_drinks/machinery/oven.dm b/code/modules/food_and_drinks/machinery/oven.dm
index e9af9338000..16b11191c58 100644
--- a/code/modules/food_and_drinks/machinery/oven.dm
+++ b/code/modules/food_and_drinks/machinery/oven.dm
@@ -61,7 +61,7 @@
. = ..()
if(open)
var/mutable_appearance/door_overlay = mutable_appearance(icon, "[base_icon_state]_lid_open")
- door_overlay.pixel_y = OVEN_LID_Y_OFFSET
+ door_overlay.pixel_z = OVEN_LID_Y_OFFSET
. += door_overlay
else
. += mutable_appearance(icon, "[base_icon_state]_lid_closed")
diff --git a/code/modules/food_and_drinks/machinery/smartfridge.dm b/code/modules/food_and_drinks/machinery/smartfridge.dm
index 28ba612165b..331a2f4faa9 100644
--- a/code/modules/food_and_drinks/machinery/smartfridge.dm
+++ b/code/modules/food_and_drinks/machinery/smartfridge.dm
@@ -32,8 +32,7 @@
var/welded_down = FALSE
/// The sound of item retrieval
var/vend_sound = 'sound/machines/machine_vend.ogg'
- /// Whether the UI should be set to list view by default
- var/default_list_view = FALSE
+ layout_prefs_used = /datum/preference/choiced/tgui_layout/smartfridge
/obj/machinery/smartfridge/Initialize(mapload)
. = ..()
@@ -385,7 +384,6 @@
.["contents"] = sort_list(listofitems)
.["name"] = name
.["isdryer"] = FALSE
- .["default_list_view"] = default_list_view
/obj/machinery/smartfridge/Exited(atom/movable/gone, direction) // Update the UIs in case something inside is removed
. = ..()
@@ -729,7 +727,6 @@
desc = "A refrigerated storage unit for medicine storage."
base_build_path = /obj/machinery/smartfridge/chemistry
contents_overlay_icon = "chem"
- default_list_view = TRUE
/obj/machinery/smartfridge/chemistry/accept_check(obj/item/weapon)
// not an item or reagent container
@@ -737,7 +734,7 @@
return FALSE
// empty pill prank ok
- if(istype(weapon, /obj/item/reagent_containers/pill))
+ if(istype(weapon, /obj/item/reagent_containers/applicator))
return TRUE
//check each pill in the pill bottle
@@ -768,8 +765,8 @@
/obj/machinery/smartfridge/chemistry/preloaded
initial_contents = list(
- /obj/item/reagent_containers/pill/epinephrine = 12,
- /obj/item/reagent_containers/pill/multiver = 5,
+ /obj/item/reagent_containers/applicator/pill/epinephrine = 12,
+ /obj/item/reagent_containers/applicator/pill/multiver = 5,
/obj/item/reagent_containers/cup/bottle/epinephrine = 1,
/obj/item/reagent_containers/cup/bottle/multiver = 1)
@@ -781,7 +778,6 @@
desc = "A refrigerated storage unit for volatile sample storage."
base_build_path = /obj/machinery/smartfridge/chemistry/virology
contents_overlay_icon = "viro"
- default_list_view = TRUE
/obj/machinery/smartfridge/chemistry/virology/preloaded
initial_contents = list(
diff --git a/code/modules/food_and_drinks/pizzabox.dm b/code/modules/food_and_drinks/pizzabox.dm
index 5a138c4c69d..ab5ba2f32f1 100644
--- a/code/modules/food_and_drinks/pizzabox.dm
+++ b/code/modules/food_and_drinks/pizzabox.dm
@@ -100,11 +100,11 @@
var/mutable_appearance/pizza_overlay = mutable_appearance(pizza.icon, pizza.icon_state)
if(pizza.slices_left != initial(pizza.slices_left))
pizza_overlay.add_filter("pizzaslices", 1, pizza.get_slices_filter())
- pizza_overlay.pixel_y = -2
+ pizza_overlay.pixel_z = -2
. += pizza_overlay
if(bomb)
var/mutable_appearance/bomb_overlay = mutable_appearance(bomb.icon, bomb.icon_state, layer = layer + 0.01)
- bomb_overlay.pixel_y = 8
+ bomb_overlay.pixel_z = 8
. += bomb_overlay
return
@@ -113,13 +113,13 @@
box_offset += 3
var/obj/item/pizzabox/box = stacked_box
var/mutable_appearance/box_overlay = mutable_appearance(box.icon, box.icon_state, layer = layer + (box_offset * 0.01))
- box_overlay.pixel_y = box_offset
+ box_overlay.pixel_z = box_offset
. += box_overlay
var/obj/item/pizzabox/box = LAZYLEN(length(boxes)) ? boxes[length(boxes)] : src
if(box.boxtag != "")
var/mutable_appearance/tag_overlay = mutable_appearance(icon, "pizzabox_tag", layer = layer + (box_offset * 0.02))
- tag_overlay.pixel_y = box_offset
+ tag_overlay.pixel_z = box_offset
. += tag_overlay
/obj/item/pizzabox/worn_overlays(mutable_appearance/standing, isinhands, icon_file)
@@ -130,7 +130,7 @@
for(var/V in boxes) //add EXTRA BOX per box
var/mutable_appearance/M = mutable_appearance(icon_file, inhand_icon_state)
- M.pixel_y = current_offset
+ M.pixel_z = current_offset
current_offset += 2
. += M
diff --git a/code/modules/food_and_drinks/recipes/food_mixtures.dm b/code/modules/food_and_drinks/recipes/food_mixtures.dm
index 4c2c80b3dfe..f5a742688bb 100644
--- a/code/modules/food_and_drinks/recipes/food_mixtures.dm
+++ b/code/modules/food_and_drinks/recipes/food_mixtures.dm
@@ -1,6 +1,10 @@
/datum/crafting_recipe/food
mass_craftable = TRUE
crafting_flags = parent_type::crafting_flags | CRAFT_TRANSFERS_REAGENTS | CRAFT_CLEARS_REAGENTS
+ ///The food types that are added to the result when the recipe is completed
+ var/added_foodtypes = NONE
+ ///The food types that are removed to the result when the recipe is completed
+ var/removed_foodtypes = NONE
/datum/crafting_recipe/food/on_craft_completion(mob/user, atom/result)
SHOULD_CALL_PARENT(TRUE)
@@ -12,6 +16,31 @@
. = ..()
parts |= reqs
+ //rarely, but a few cooking recipes (cake cat & co) don't result food items.
+ if(!PERFORM_ALL_TESTS(focus_only/check_foodtypes) || non_craftable || !ispath(result, /obj/item/food))
+ return
+
+ // Food made from these recipes should inherit the food types of the food ingredients used in it
+ // 'added_foodtypes' and 'added_foodtypes' exist to add and remove (un)desiderable types
+ // If the food types of the result don't match when spawned compared to when crafted (with base ingredients), throw a warning.
+ var/made_with_food = FALSE
+ var/actual_foodtypes = added_foodtypes
+ for(var/req_path in reqs)
+ if(!ispath(req_path, /obj/item/food))
+ continue
+ var/obj/item/food/ingredient = req_path
+ made_with_food = TRUE
+ actual_foodtypes |= initial(ingredient.foodtypes)
+ if(!made_with_food)
+ return
+ actual_foodtypes &= ~removed_foodtypes
+ var/obj/item/food/result_path = result
+ var/result_foodtypes = initial(result_path.foodtypes)
+ if(result_foodtypes != actual_foodtypes)
+ var/text_flags = jointext(bitfield_to_list(result_foodtypes, FOOD_FLAGS),"|")
+ var/text_craft_flags = jointext(bitfield_to_list(actual_foodtypes, FOOD_FLAGS),"|")
+ stack_trace("the foodtypes of [result_path] are [text_flags] when spawned but [text_craft_flags] when crafted.")
+
/datum/crafting_recipe/food/crafting_ui_data()
var/list/data = list()
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm
index d0517272d77..c09767282c3 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm
@@ -40,6 +40,7 @@
/obj/item/food/sausage = 2,
)
result = /obj/item/food/bread/sausage
+ removed_foodtypes = BREAKFAST
category = CAT_BREAD
/datum/crafting_recipe/food/banananutbread
@@ -51,6 +52,7 @@
/obj/item/food/grown/banana = 1
)
result = /obj/item/food/bread/banana
+ removed_foodtypes = BREAKFAST
category = CAT_BREAD
/datum/crafting_recipe/food/tofubread
@@ -101,6 +103,7 @@
/obj/item/food/butterslice = 1
)
result = /obj/item/food/butterbiscuit
+ added_foodtypes = BREAKFAST
category = CAT_BREAD
/datum/crafting_recipe/food/butterdog
@@ -117,7 +120,7 @@
time = 40
reqs = list(/datum/reagent/consumable/salt = 1,
/datum/reagent/consumable/blackpepper = 1,
- /obj/item/food/pastrybase = 2
+ /obj/item/food/doughslice = 2,
)
result = /obj/item/food/baguette
category = CAT_BREAD
@@ -174,6 +177,7 @@
/obj/item/food/breadslice/plain = 1
)
result = /obj/item/food/jelliedtoast/slime
+ added_foodtypes = TOXIC | BREAKFAST
category = CAT_BREAD
/datum/crafting_recipe/food/jelliedyoast
@@ -183,6 +187,7 @@
/obj/item/food/breadslice/plain = 1
)
result = /obj/item/food/jelliedtoast/cherry
+ added_foodtypes = FRUIT | SUGAR | BREAKFAST
category = CAT_BREAD
/datum/crafting_recipe/food/butteredtoast
@@ -192,6 +197,7 @@
/obj/item/food/butterslice = 1
)
result = /obj/item/food/butteredtoast
+ added_foodtypes = BREAKFAST
category = CAT_BREAD
/datum/crafting_recipe/food/twobread
@@ -210,6 +216,8 @@
/obj/item/food/grown/mushroom/amanita = 1
)
result = /obj/item/food/breadslice/moldy
+ removed_foodtypes = VEGETABLES|GRAIN
+ added_foodtypes = GROSS
category = CAT_BREAD
/datum/crafting_recipe/food/breadcat
@@ -233,4 +241,5 @@
/datum/reagent/consumable/milk = 5
)
result = /obj/item/food/raw_frenchtoast
+ added_foodtypes = BREAKFAST
category = CAT_BREAD
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm
index 2953f8408ac..9f857a73a9b 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm
@@ -43,6 +43,7 @@
/obj/item/food/bun = 1
)
result = /obj/item/food/burger/appendix
+ added_foodtypes = MEAT | GORE
category = CAT_BURGER
/datum/crafting_recipe/food/brainburger
@@ -52,6 +53,7 @@
/obj/item/food/bun = 1
)
result = /obj/item/food/burger/brain
+ added_foodtypes = MEAT | GORE
category = CAT_BURGER
/datum/crafting_recipe/food/xenoburger
@@ -233,6 +235,7 @@
)
result = /obj/item/food/burger/superbite
+ removed_foodtypes = BREAKFAST
category = CAT_BURGER
/datum/crafting_recipe/food/slimeburger
@@ -242,6 +245,7 @@
/obj/item/food/bun = 1
)
result = /obj/item/food/burger/jelly/slime
+ added_foodtypes = TOXIC
category = CAT_BURGER
/datum/crafting_recipe/food/jellyburger
@@ -251,6 +255,7 @@
/obj/item/food/bun = 1
)
result = /obj/item/food/burger/jelly/cherry
+ added_foodtypes = FRUIT
category = CAT_BURGER
/datum/crafting_recipe/food/fivealarmburger
@@ -279,6 +284,7 @@
/obj/item/food/bun = 1
)
result = /obj/item/food/burger/baseball
+ added_foodtypes = GROSS
category = CAT_BURGER
/datum/crafting_recipe/food/baconburger
@@ -289,6 +295,7 @@
)
result = /obj/item/food/burger/baconburger
+ removed_foodtypes = BREAKFAST
category = CAT_BURGER
/datum/crafting_recipe/food/empoweredburger
@@ -299,6 +306,7 @@
)
result = /obj/item/food/burger/empoweredburger
+ added_foodtypes = TOXIC
category = CAT_BURGER
/datum/crafting_recipe/food/catburger
@@ -310,6 +318,7 @@
/obj/item/organ/tail/cat = 1,
)
result = /obj/item/food/burger/catburger
+ added_foodtypes = GORE
category = CAT_BURGER
/datum/crafting_recipe/food/crabburger
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm
index 86956ba861c..de8a2f4e57d 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm
@@ -75,6 +75,7 @@
/datum/reagent/consumable/caramel = 2
)
result = /obj/item/food/cake/birthday
+ added_foodtypes = JUNKFOOD
category = CAT_CAKE
/datum/crafting_recipe/food/energycake
@@ -94,6 +95,7 @@
/obj/item/food/cake/plain = 1
)
result = /obj/item/food/cake/brain
+ added_foodtypes = MEAT | GORE
category = CAT_CAKE
/datum/crafting_recipe/food/slimecake
@@ -129,6 +131,7 @@
/obj/item/food/cake/plain = 4
)
result = /obj/item/food/cake/pound_cake
+ added_foodtypes = JUNKFOOD
category = CAT_CAKE
/datum/crafting_recipe/food/hardwarecake
@@ -139,6 +142,7 @@
/datum/reagent/toxin/acid = 5
)
result = /obj/item/food/cake/hardware_cake
+ added_foodtypes = GROSS
category = CAT_CAKE
/datum/crafting_recipe/food/berry_chocolate_cake
@@ -149,6 +153,7 @@
/obj/item/food/grown/berries = 5
)
result = /obj/item/food/cake/berry_chocolate_cake
+ removed_foodtypes = JUNKFOOD
category = CAT_CAKE
/datum/crafting_recipe/food/pavlovacream
@@ -160,6 +165,7 @@
/obj/item/food/grown/berries = 5
)
result = /obj/item/food/cake/pavlova
+ added_foodtypes = SUGAR|DAIRY
category = CAT_CAKE
/datum/crafting_recipe/food/pavlovakorta
@@ -171,6 +177,7 @@
/obj/item/food/grown/berries = 5
)
result = /obj/item/food/cake/pavlova/nuts
+ added_foodtypes = SUGAR|NUTS
category = CAT_CAKE
/datum/crafting_recipe/food/berry_vanilla_cake
@@ -212,6 +219,7 @@
/datum/reagent/consumable/berryjuice = 5
)
result = /obj/item/food/cake/trumpet
+ added_foodtypes = FRUIT
category = CAT_CAKE
@@ -238,6 +246,7 @@
/datum/reagent/consumable/ethanol/rum = 5
)
result = /obj/item/food/cake/fruit
+ removed_foodtypes = JUNKFOOD
category = CAT_CAKE
/datum/crafting_recipe/food/plumcake
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm
index 7b8c071b3a5..c2de18daf0e 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm
@@ -19,6 +19,8 @@
/obj/item/food/cheese/wedge = 2
)
result = /obj/item/food/omelette
+ added_foodtypes = BREAKFAST
+ removed_foodtypes = RAW
category = CAT_EGG
/datum/crafting_recipe/food/chocolateegg
@@ -28,6 +30,7 @@
/obj/item/food/chocolatebar = 1
)
result = /obj/item/food/chocolateegg
+ removed_foodtypes = MEAT|BREAKFAST //This recipe is very wrong, please change it ffs
category = CAT_EGG
/datum/crafting_recipe/food/eggsbenedict
@@ -50,6 +53,7 @@
/obj/item/food/grown/corn = 1
)
result = /obj/item/food/salad/eggbowl
+ removed_foodtypes = BREAKFAST
category = CAT_EGG
/datum/crafting_recipe/food/wrap
@@ -59,6 +63,7 @@
/obj/item/food/grown/cabbage = 1,
)
result = /obj/item/food/eggwrap
+ removed_foodtypes = BREAKFAST
category = CAT_EGG
/datum/crafting_recipe/food/chawanmushi
@@ -70,5 +75,6 @@
/obj/item/food/grown/mushroom/chanterelle = 1
)
result = /obj/item/food/chawanmushi
+ removed_foodtypes = BREAKFAST
category = CAT_EGG
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm
index 0e71758b063..8ac20e53398 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm
@@ -32,6 +32,7 @@
/obj/item/food/icecream = 1
)
result = /obj/item/food/spacefreezy
+ added_foodtypes = FRUIT
category = CAT_ICE
/datum/crafting_recipe/food/sundae
@@ -67,6 +68,7 @@
/obj/item/food/icecream = 1
)
result = /obj/item/food/cornuto
+ removed_foodtypes = JUNKFOOD
category = CAT_ICE
//////////////////////////SNOW CONES///////////////////////
@@ -295,6 +297,8 @@
/datum/reagent/consumable/sugar = 2
)
result = /obj/item/food/popsicle/jumbo
+ added_foodtypes = DAIRY
+ removed_foodtypes = JUNKFOOD
category = CAT_ICE
/datum/crafting_recipe/food/licorice_creamsicle
@@ -320,4 +324,5 @@
/datum/reagent/consumable/sugar = 2
)
result = /obj/item/food/popsicle/meatsicle
+ added_foodtypes = SUGAR
category = CAT_ICE
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_lizard.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_lizard.dm
index d9f9cd16fe9..8b7a523f78e 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_lizard.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_lizard.dm
@@ -17,6 +17,7 @@
/datum/reagent/consumable/blackpepper = 5
)
result = /obj/item/food/raw_headcheese
+ added_foodtypes = GORE
category = CAT_LIZARD
/datum/crafting_recipe/food/shredded_lungs
@@ -33,6 +34,7 @@
)
result = /obj/item/food/shredded_lungs
+ added_foodtypes = MEAT|GORE
category = CAT_LIZARD
/datum/crafting_recipe/food/tsatsikh
@@ -56,6 +58,7 @@
/obj/item/food/grown/onion = 1
)
result = /obj/item/food/liver_pate
+ removed_foodtypes = RAW
category = CAT_LIZARD
/datum/crafting_recipe/food/moonfish_caviar
@@ -78,6 +81,7 @@
/obj/item/reagent_containers/cup/bowl = 1,
)
result = /obj/item/food/lizard_escargot
+ removed_foodtypes = GORE
category = CAT_LIZARD
/datum/crafting_recipe/food/fried_blood_sausage
@@ -88,6 +92,8 @@
/datum/reagent/water = 5
)
result = /obj/item/food/fried_blood_sausage
+ added_foodtypes = FRIED|NUTS
+ removed_foodtypes = RAW
category = CAT_LIZARD
/datum/crafting_recipe/food/lizard_fries
@@ -110,6 +116,7 @@
/datum/reagent/consumable/salt = 3
)
result = /obj/item/food/brain_pate
+ added_foodtypes = MEAT|GORE
category = CAT_LIZARD
/datum/crafting_recipe/food/crispy_headcheese
@@ -175,22 +182,12 @@
/obj/item/food/meat/steak = 1,
/obj/item/food/bbqribs = 1
)
+ removed_foodtypes = SUGAR
result = /obj/item/food/lizard_surf_n_turf
category = CAT_LIZARD
/datum/crafting_recipe/food/rootdough
- name = "Rootdough"
- reqs = list(
- /obj/item/food/grown/potato = 2,
- /obj/item/food/egg = 1,
- /datum/reagent/consumable/korta_flour = 5,
- /datum/reagent/water = 10
- )
- result = /obj/item/food/rootdough
- category = CAT_LIZARD
-
-/datum/crafting_recipe/food/rootdough2
- name = "Rootdough"
+ name = "Rootdough (Without Eggs)"
reqs = list(
/obj/item/food/grown/potato = 2,
/datum/reagent/consumable/soymilk = 15,
@@ -198,8 +195,20 @@
/datum/reagent/water = 10
)
result = /obj/item/food/rootdough
+ added_foodtypes = NUTS
category = CAT_LIZARD
+/datum/crafting_recipe/food/rootdough/with_eggs
+ name = "Rootdough (With Eggs)"
+ reqs = list(
+ /obj/item/food/grown/potato = 2,
+ /obj/item/food/egg = 1,
+ /datum/reagent/consumable/korta_flour = 5,
+ /datum/reagent/water = 10
+ )
+ result = /obj/item/food/rootdough/egg
+ removed_foodtypes = RAW
+
/datum/crafting_recipe/food/snail_nizaya
name = "Desert snail nizaya"
reqs = list(
@@ -209,6 +218,7 @@
/datum/reagent/consumable/ethanol/wine = 5
)
result = /obj/item/food/spaghetti/snail_nizaya
+ removed_foodtypes = GORE
category = CAT_LIZARD
/datum/crafting_recipe/food/garlic_nizaya
@@ -233,6 +243,7 @@
/datum/reagent/consumable/korta_nectar = 5
)
result = /obj/item/food/spaghetti/demit_nizaya
+ added_foodtypes = SUGAR
category = CAT_LIZARD
/datum/crafting_recipe/food/mushroom_nizaya
@@ -308,6 +319,7 @@
/obj/item/organ/liver = 1
)
result = /obj/item/food/pizza/flatbread/zmorgast
+ removed_foodtypes = RAW
category = CAT_LIZARD
/datum/crafting_recipe/food/fish_flatbread
@@ -339,6 +351,7 @@
/datum/reagent/consumable/korta_milk = 5
)
result = /obj/item/food/pizza/flatbread/nutty
+ removed_foodtypes = VEGETABLES //This is so nuts
category = CAT_LIZARD
/datum/crafting_recipe/food/emperor_roll
@@ -371,6 +384,8 @@
/datum/reagent/consumable/vinegar = 2
)
result = /obj/item/food/black_eggs
+ added_foodtypes = GORE|BREAKFAST
+ removed_foodtypes = RAW
category = CAT_LIZARD
/datum/crafting_recipe/food/patzikula
@@ -382,18 +397,21 @@
/obj/item/food/egg = 2
)
result = /obj/item/food/patzikula
+ removed_foodtypes = RAW
+ added_foodtypes = BREAKFAST
category = CAT_LIZARD
/datum/crafting_recipe/food/korta_brittle
name = "Korta brittle slab"
reqs = list(
/obj/item/food/grown/korta_nut = 2,
- /obj/item/food/butterslice = 1,
/datum/reagent/consumable/korta_nectar = 5,
/datum/reagent/consumable/sugar = 5,
+ /datum/reagent/consumable/nutriment/fat/oil = 3,
/datum/reagent/consumable/salt = 2
)
result = /obj/item/food/cake/korta_brittle
+ added_foodtypes = SUGAR
category = CAT_LIZARD
/datum/crafting_recipe/food/korta_ice
@@ -405,6 +423,7 @@
/obj/item/food/grown/berries = 1
)
result = /obj/item/food/snowcones/korta_ice
+ added_foodtypes = SUGAR|NUTS
category = CAT_LIZARD
/datum/crafting_recipe/food/candied_mushrooms
@@ -416,6 +435,7 @@
/datum/reagent/consumable/salt = 1
)
result = /obj/item/food/kebab/candied_mushrooms
+ added_foodtypes = SUGAR
category = CAT_LIZARD
/datum/crafting_recipe/food/sauerkraut
@@ -434,6 +454,7 @@
/datum/reagent/consumable/korta_flour = 5
)
result = /obj/item/food/lizard_dumplings
+ added_foodtypes = NUTS
category = CAT_LIZARD
/datum/crafting_recipe/food/steeped_mushrooms
@@ -453,6 +474,7 @@
/datum/reagent/consumable/cherryjelly = 5
)
result = /obj/item/food/rootbread_peanut_butter_jelly
+ added_foodtypes = FRUIT
category = CAT_LIZARD
/datum/crafting_recipe/food/rootbreadpbb
@@ -463,6 +485,7 @@
/obj/item/food/grown/banana = 1
)
result = /obj/item/food/rootbread_peanut_butter_banana
+ added_foodtypes = FRUIT
category = CAT_LIZARD
// Soups
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_martian.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_martian.dm
index a0f60b19221..d903a2c5700 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_martian.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_martian.dm
@@ -48,6 +48,7 @@
/obj/item/reagent_containers/cup/bowl = 1,
)
result = /obj/item/food/sambal
+ added_foodtypes = SEAFOOD //Until we have easy to get shrimp to add to the recipe
category = CAT_MARTIAN
/datum/crafting_recipe/food/katsu_fillet
@@ -57,6 +58,8 @@
/obj/item/food/breadslice/reispan = 1,
)
result = /obj/item/food/katsu_fillet
+ removed_foodtypes = RAW
+ added_foodtypes = FRIED
category = CAT_MARTIAN
/datum/crafting_recipe/food/rice_dough
@@ -83,6 +86,7 @@
/obj/item/reagent_containers/cup/bowl = 1,
)
result = /obj/item/food/salad/hurricane_rice
+ removed_foodtypes = RAW|BREAKFAST
category = CAT_MARTIAN
/datum/crafting_recipe/food/ikareis
@@ -97,6 +101,7 @@
/obj/item/reagent_containers/cup/bowl = 1,
)
result = /obj/item/food/salad/ikareis
+ removed_foodtypes = BREAKFAST
category = CAT_MARTIAN
/datum/crafting_recipe/food/hawaiian_fried_rice
@@ -111,6 +116,7 @@
/obj/item/reagent_containers/cup/bowl = 1,
)
result = /obj/item/food/salad/hawaiian_fried_rice
+ removed_foodtypes = BREAKFAST
category = CAT_MARTIAN
/datum/crafting_recipe/food/ketchup_fried_rice
@@ -126,6 +132,7 @@
/obj/item/reagent_containers/cup/bowl = 1,
)
result = /obj/item/food/salad/ketchup_fried_rice
+ removed_foodtypes = BREAKFAST
category = CAT_MARTIAN
/datum/crafting_recipe/food/mediterranean_fried_rice
@@ -140,6 +147,7 @@
/obj/item/reagent_containers/cup/bowl = 1,
)
result = /obj/item/food/salad/mediterranean_fried_rice
+ removed_foodtypes = BREAKFAST
category = CAT_MARTIAN
/datum/crafting_recipe/food/egg_fried_rice
@@ -151,6 +159,7 @@
/obj/item/reagent_containers/cup/bowl = 1,
)
result = /obj/item/food/salad/egg_fried_rice
+ removed_foodtypes = BREAKFAST|RAW
category = CAT_MARTIAN
/datum/crafting_recipe/food/bibimbap
@@ -165,6 +174,7 @@
/obj/item/reagent_containers/cup/bowl = 1,
)
result = /obj/item/food/salad/bibimbap
+ removed_foodtypes = RAW|BREAKFAST
category = CAT_MARTIAN
/datum/crafting_recipe/food/bulgogi_noodles
@@ -208,6 +218,7 @@
/obj/item/reagent_containers/cup/bowl = 1,
)
result = /obj/item/food/salad/martian_fried_noodles
+ removed_foodtypes = RAW
category = CAT_MARTIAN
/datum/crafting_recipe/food/simple_fried_noodles
@@ -238,6 +249,7 @@
/obj/item/reagent_containers/cup/bowl = 1,
)
result = /obj/item/food/salad/setagaya_curry
+ removed_foodtypes = RAW|JUNKFOOD|BREAKFAST
category = CAT_MARTIAN
/datum/crafting_recipe/food/big_blue_burger
@@ -252,6 +264,7 @@
/datum/reagent/consumable/nutriment/soup/teriyaki = 4,
)
result = /obj/item/food/burger/big_blue
+ removed_foodtypes = BREAKFAST
category = CAT_MARTIAN
/datum/crafting_recipe/food/chappy_patty
@@ -264,6 +277,7 @@
/datum/reagent/consumable/ketchup = 3,
)
result = /obj/item/food/burger/chappy
+ removed_foodtypes = BREAKFAST
category = CAT_MARTIAN
/datum/crafting_recipe/food/king_katsu_sandwich
@@ -277,6 +291,7 @@
/obj/item/food/grown/tomato = 1,
)
result = /obj/item/food/king_katsu_sandwich
+ removed_foodtypes = BREAKFAST
category = CAT_MARTIAN
/datum/crafting_recipe/food/marte_cubano_sandwich
@@ -288,6 +303,7 @@
/obj/item/food/cheese/wedge = 1,
)
result = /obj/item/food/marte_cubano_sandwich
+ removed_foodtypes = BREAKFAST
category = CAT_MARTIAN
/datum/crafting_recipe/food/little_shiro_sandwich
@@ -301,6 +317,7 @@
/obj/item/food/grown/herbs = 1,
)
result = /obj/item/food/little_shiro_sandwich
+ removed_foodtypes = BREAKFAST
category = CAT_MARTIAN
/datum/crafting_recipe/food/croque_martienne
@@ -336,6 +353,7 @@
/datum/reagent/consumable/worcestershire = 3,
)
result = /obj/item/food/takoyaki
+ added_foodtypes = GRAIN|FRIED
category = CAT_MARTIAN
/datum/crafting_recipe/food/russian_takoyaki
@@ -347,6 +365,7 @@
/datum/reagent/consumable/capsaicin = 3,
)
result = /obj/item/food/takoyaki/russian
+ added_foodtypes = GRAIN|FRIED
category = CAT_MARTIAN
/datum/crafting_recipe/food/tacoyaki
@@ -359,6 +378,7 @@
/obj/item/food/cheese/wedge = 1,
)
result = /obj/item/food/takoyaki/taco
+ added_foodtypes = GRAIN|FRIED|SEAFOOD
category = CAT_MARTIAN
/datum/crafting_recipe/food/okonomiyaki
@@ -371,6 +391,7 @@
/obj/item/food/grown/potato/sweet = 1,
)
result = /obj/item/food/okonomiyaki
+ added_foodtypes = GRAIN|FRIED|SEAFOOD
category = CAT_MARTIAN
/datum/crafting_recipe/food/brat_kimchi
@@ -381,6 +402,7 @@
/datum/reagent/consumable/sugar = 3,
)
result = /obj/item/food/brat_kimchi
+ removed_foodtypes = BREAKFAST
category = CAT_MARTIAN
/datum/crafting_recipe/food/tonkatsuwurst
@@ -392,6 +414,7 @@
/datum/reagent/consumable/red_bay = 2,
)
result = /obj/item/food/tonkatsuwurst
+ removed_foodtypes = BREAKFAST
category = CAT_MARTIAN
/datum/crafting_recipe/food/ti_hoeh_koe
@@ -403,6 +426,8 @@
/datum/reagent/blood = 5,
)
result = /obj/item/food/kebab/ti_hoeh_koe
+ removed_foodtypes = JUNKFOOD|VEGETABLES|BREAKFAST
+ added_foodtypes = MEAT|FRIED
category = CAT_MARTIAN
/datum/crafting_recipe/food/kitzushi
@@ -414,6 +439,8 @@
/obj/item/food/grown/chili = 1,
)
result = /obj/item/food/kitzushi
+ removed_foodtypes = BREAKFAST
+ added_foodtypes = FRIED
category = CAT_MARTIAN
/datum/crafting_recipe/food/epok_epok
@@ -426,6 +453,8 @@
/datum/reagent/consumable/curry_powder = 3,
)
result = /obj/item/food/epok_epok
+ removed_foodtypes = BREAKFAST
+ added_foodtypes = FRIED
category = CAT_MARTIAN
/datum/crafting_recipe/food/roti_john
@@ -439,6 +468,8 @@
/datum/reagent/consumable/mayonnaise = 3,
)
result = /obj/item/food/roti_john
+ added_foodtypes = BREAKFAST
+ removed_foodtypes = RAW
category = CAT_MARTIAN
/datum/crafting_recipe/food/izakaya_fries
@@ -473,6 +504,7 @@
/datum/reagent/consumable/gravy = 5,
)
result = /obj/item/food/loco_moco
+ removed_foodtypes = BREAKFAST
category = CAT_MARTIAN
/datum/crafting_recipe/food/wild_duck_fries
@@ -516,6 +548,7 @@
/obj/item/food/breadslice/reispan = 1,
)
result = /obj/item/food/steak_croquette
+ added_foodtypes = FRIED
category = CAT_MARTIAN
/datum/crafting_recipe/food/chapsilog
@@ -539,6 +572,8 @@
/obj/item/food/onion_slice = 1,
)
result = /obj/item/food/chap_hash
+ removed_foodtypes = RAW
+ added_foodtypes = BREAKFAST
category = CAT_MARTIAN
/datum/crafting_recipe/food/agedashi_tofu
@@ -550,6 +585,7 @@
/obj/item/reagent_containers/cup/bowl = 1,
)
result = /obj/item/food/salad/agedashi_tofu
+ added_foodtypes = SEAFOOD
category = CAT_MARTIAN
/datum/crafting_recipe/food/po_kok_gai
@@ -562,6 +598,8 @@
/obj/item/reagent_containers/cup/bowl = 1,
)
result = /obj/item/food/salad/po_kok_gai
+ added_foodtypes = FRUIT
+ removed_foodtypes = RAW|BREAKFAST
category = CAT_MARTIAN
/datum/crafting_recipe/food/huoxing_tofu
@@ -574,6 +612,7 @@
/obj/item/reagent_containers/cup/bowl = 1,
)
result = /obj/item/food/salad/huoxing_tofu
+ removed_foodtypes = RAW
category = CAT_MARTIAN
/datum/crafting_recipe/food/feizhou_ji
@@ -585,6 +624,7 @@
/datum/reagent/consumable/vinegar = 5,
)
result = /obj/item/food/feizhou_ji
+ removed_foodtypes = RAW
category = CAT_MARTIAN
/datum/crafting_recipe/food/galinha_de_cabidela
@@ -597,6 +637,7 @@
/obj/item/reagent_containers/cup/bowl = 1,
)
result = /obj/item/food/salad/galinha_de_cabidela
+ removed_foodtypes = RAW
category = CAT_MARTIAN
/datum/crafting_recipe/food/katsu_curry
@@ -608,6 +649,7 @@
/obj/item/reagent_containers/cup/bowl = 1,
)
result = /obj/item/food/salad/katsu_curry
+ removed_foodtypes = BREAKFAST
category = CAT_MARTIAN
/datum/crafting_recipe/food/beef_bowl
@@ -620,6 +662,8 @@
/obj/item/reagent_containers/cup/bowl = 1,
)
result = /obj/item/food/salad/beef_bowl
+ removed_foodtypes = BREAKFAST
+ added_foodtypes = SEAFOOD
category = CAT_MARTIAN
/datum/crafting_recipe/food/salt_chilli_bowl
@@ -634,6 +678,7 @@
/obj/item/reagent_containers/cup/bowl = 1,
)
result = /obj/item/food/salad/salt_chilli_bowl
+ removed_foodtypes = BREAKFAST
category = CAT_MARTIAN
/datum/crafting_recipe/food/kansai_bowl
@@ -647,6 +692,7 @@
/obj/item/reagent_containers/cup/bowl = 1,
)
result = /obj/item/food/salad/kansai_bowl
+ removed_foodtypes = BREAKFAST
category = CAT_MARTIAN
/datum/crafting_recipe/food/eigamudo_curry
@@ -660,6 +706,8 @@
/obj/item/reagent_containers/cup/bowl = 1,
)
result = /obj/item/food/salad/eigamudo_curry
+ removed_foodtypes = BREAKFAST
+ added_foodtypes = GROSS|TOXIC
category = CAT_MARTIAN
/datum/crafting_recipe/food/cilbir
@@ -672,6 +720,7 @@
/datum/reagent/consumable/nutriment/fat/oil/olive = 2,
)
result = /obj/item/food/cilbir
+ added_foodtypes = DAIRY
category = CAT_MARTIAN
/datum/crafting_recipe/food/peking_duck_crepes
@@ -683,6 +732,7 @@
/datum/reagent/consumable/ethanol/cognac = 2,
)
result = /obj/item/food/peking_duck_crepes
+ removed_foodtypes = BREAKFAST
category = CAT_MARTIAN
/datum/crafting_recipe/food/vulgaris_spekkoek
@@ -716,6 +766,7 @@
/datum/reagent/consumable/sugar = 2,
)
result = /obj/item/food/pastel_de_nata
+ removed_foodtypes = MEAT|RAW
category = CAT_MARTIAN
/datum/crafting_recipe/food/boh_loh_yah
@@ -726,6 +777,7 @@
/datum/reagent/consumable/sugar = 5,
)
result = /obj/item/food/boh_loh_yah
+ added_foodtypes = PINEAPPLE // someone thought it's funny to give it this foodtype smh
category = CAT_MARTIAN
/datum/crafting_recipe/food/banana_fritter
@@ -735,6 +787,7 @@
/datum/reagent/consumable/martian_batter = 2
)
result = /obj/item/food/banana_fritter
+ added_foodtypes = GRAIN|FRIED|SEAFOOD
category = CAT_MARTIAN
/datum/crafting_recipe/food/pineapple_fritter
@@ -744,6 +797,7 @@
/datum/reagent/consumable/martian_batter = 2
)
result = /obj/item/food/pineapple_fritter
+ added_foodtypes = GRAIN|FRIED|SEAFOOD
category = CAT_MARTIAN
/datum/crafting_recipe/food/kasei_dango
@@ -756,6 +810,7 @@
/datum/reagent/consumable/grenadine = 2,
)
result = /obj/item/food/kebab/kasei_dango
+ added_foodtypes = GRAIN
category = CAT_MARTIAN
/datum/crafting_recipe/food/pb_ice_cream_mochi
@@ -767,6 +822,7 @@
/obj/item/food/icecream = 1,
)
result = /obj/item/food/pb_ice_cream_mochi
+ added_foodtypes = NUTS
category = CAT_MARTIAN
/datum/crafting_recipe/food/frozen_pineapple_pop
@@ -777,6 +833,7 @@
/obj/item/popsicle_stick = 1,
)
result = /obj/item/food/popsicle/pineapple_pop
+ removed_foodtypes = JUNKFOOD
category = CAT_MARTIAN
/datum/crafting_recipe/food/sea_salt_pop
@@ -799,6 +856,7 @@
/obj/item/popsicle_stick = 1,
)
result = /obj/item/food/popsicle/topsicle
+ added_foodtypes = SUGAR|FRUIT
category = CAT_MARTIAN
/datum/crafting_recipe/food/banana_topsicle
@@ -810,9 +868,10 @@
/obj/item/popsicle_stick = 1,
)
result = /obj/item/food/popsicle/topsicle/banana
+ added_foodtypes = SUGAR|FRUIT
category = CAT_MARTIAN
-/datum/crafting_recipe/food/berry_topsicle
+/datum/crafting_recipe/food/pineapple_topsicle
name = "Pineapple topsicle"
reqs = list(
/obj/item/food/tofu = 1,
@@ -821,6 +880,7 @@
/obj/item/popsicle_stick = 1,
)
result = /obj/item/food/popsicle/topsicle/pineapple
+ added_foodtypes = SUGAR|FRUIT|PINEAPPLE
category = CAT_MARTIAN
/datum/crafting_recipe/food/plasma_dog_supreme
@@ -842,6 +902,7 @@
/datum/reagent/consumable/red_bay = 1,
)
result = /obj/item/food/frickles
+ added_foodtypes = GRAIN|FRIED|SEAFOOD
category = CAT_MARTIAN
/datum/crafting_recipe/food/raw_ballpark_pretzel
@@ -851,6 +912,7 @@
/datum/reagent/consumable/salt = 2,
)
result = /obj/item/food/raw_ballpark_pretzel
+ added_foodtypes = RAW
category = CAT_MARTIAN
/datum/crafting_recipe/food/raw_ballpark_tsukune
@@ -873,6 +935,7 @@
/obj/item/reagent_containers/cup/bowl = 1,
)
result = /obj/item/food/salad/sprout_bowl
+ removed_foodtypes = BREAKFAST
category = CAT_MARTIAN
// Soups
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm
index 9244f4c54f3..ffefd116ba2 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm
@@ -60,6 +60,7 @@
/obj/item/food/meat/cutlet/spider = 2
)
result = /obj/item/food/spidereggsham
+ removed_foodtypes = TOXIC
category = CAT_MEAT
////////////////////////////////////////////////MISC RECIPE's////////////////////////////////////////////////
@@ -71,6 +72,7 @@
/obj/item/seeds/plump = 1
)
result = /obj/item/food/tempehstarter
+ added_foodtypes = GROSS
category = CAT_MEAT
/datum/crafting_recipe/food/cornedbeef
@@ -91,6 +93,7 @@
)
tool_paths = list(/obj/item/lighter)
result = /obj/item/food/bearsteak
+ added_foodtypes = ALCOHOL
category = CAT_MEAT
/datum/crafting_recipe/food/stewedsoymeat
@@ -177,6 +180,7 @@
/obj/item/food/meat/cutlet = 2
)
result = /obj/item/food/salad/ricepork
+ removed_foodtypes = BREAKFAST
category = CAT_MEAT
/datum/crafting_recipe/food/ribs
@@ -187,6 +191,7 @@
/obj/item/stack/rods = 2
)
result = /obj/item/food/bbqribs
+ added_foodtypes = SUGAR
category = CAT_MEAT
/datum/crafting_recipe/food/meatclown
@@ -219,6 +224,7 @@
/obj/item/food/meat/cutlet = 1
)
result = /obj/item/food/salad/gumbo
+ removed_foodtypes = BREAKFAST
category = CAT_MEAT
@@ -230,6 +236,8 @@
/datum/reagent/consumable/corn_starch = 5,
)
result = /obj/item/food/fried_chicken
+ removed_foodtypes = RAW
+ added_foodtypes = FRIED
category = CAT_MEAT
/datum/crafting_recipe/food/beef_stroganoff
@@ -246,6 +254,7 @@
/obj/item/reagent_containers/cup/bowl = 1,
)
result = /obj/item/food/beef_stroganoff
+ added_foodtypes = DAIRY
category = CAT_MEAT
/datum/crafting_recipe/food/beef_wellington
@@ -261,6 +270,7 @@
/datum/reagent/consumable/blackpepper = 2
)
result = /obj/item/food/beef_wellington
+ removed_foodtypes = BREAKFAST
category = CAT_MEAT
/datum/crafting_recipe/food/korta_wellington
@@ -276,6 +286,7 @@
/datum/reagent/consumable/blackpepper = 2
)
result = /obj/item/food/korta_wellington
+ removed_foodtypes = BREAKFAST
category = CAT_MEAT
/datum/crafting_recipe/food/full_roast
@@ -294,6 +305,7 @@
/datum/reagent/consumable/blackpepper = 2
)
result = /obj/item/food/roast_dinner
+ added_foodtypes = GRAIN
category = CAT_MEAT
/datum/crafting_recipe/food/full_roast_lizzy
@@ -313,6 +325,7 @@
/datum/reagent/consumable/blackpepper = 2
)
result = /obj/item/food/roast_dinner_lizzy
+ added_foodtypes = NUTS
category = CAT_MEAT
/datum/crafting_recipe/food/full_roast_tofu
@@ -331,6 +344,7 @@
/datum/reagent/consumable/blackpepper = 2
)
result = /obj/item/food/roast_dinner_tofu
+ added_foodtypes = GRAIN
category = CAT_MEAT
/datum/crafting_recipe/food/full_english
@@ -354,6 +368,8 @@
/datum/reagent/consumable/nutriment/vitamin = 5,
)
result = /obj/item/food/canned/envirochow
+ removed_foodtypes = RAW|GORE
+ added_foodtypes = GROSS
category = CAT_MEAT
/datum/crafting_recipe/food/meatloaf
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_mexican.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_mexican.dm
index 3dbd7093a74..2991d9d5c11 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_mexican.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_mexican.dm
@@ -49,6 +49,7 @@
/obj/item/food/tortilla = 1
)
result = /obj/item/food/nachos
+ added_foodtypes = FRIED
category = CAT_MEXICAN
/datum/crafting_recipe/food/cheesynachos
@@ -59,6 +60,7 @@
/obj/item/food/tortilla = 1
)
result = /obj/item/food/cheesynachos
+ added_foodtypes = FRIED
category = CAT_MEXICAN
/datum/crafting_recipe/food/cubannachos
@@ -69,6 +71,7 @@
/obj/item/food/tortilla = 1
)
result = /obj/item/food/cubannachos
+ added_foodtypes = FRIED
category = CAT_MEXICAN
/datum/crafting_recipe/food/taco
@@ -124,6 +127,7 @@
/obj/item/reagent_containers/cup/bowl = 1,
)
result = /obj/item/food/chipsandsalsa
+ removed_foodtypes = JUNKFOOD
category = CAT_MEXICAN
/datum/crafting_recipe/food/classic_chimichanga
@@ -135,6 +139,7 @@
/obj/item/food/grown/onion = 1,
)
result = /obj/item/food/classic_chimichanga
+ added_foodtypes = FRIED
category = CAT_MEXICAN
/datum/crafting_recipe/food/vegetarian_chimichanga
@@ -146,6 +151,7 @@
/obj/item/food/grown/chili = 1,
)
result = /obj/item/food/vegetarian_chimichanga
+ added_foodtypes = FRIED
category = CAT_MEXICAN
/datum/crafting_recipe/food/classic_hard_shell_taco
@@ -178,6 +184,7 @@
/obj/item/food/grown/onion = 1,
)
result = /obj/item/food/refried_beans
+ added_foodtypes = FRIED
category = CAT_MEXICAN
/datum/crafting_recipe/food/spanish_rice
@@ -190,6 +197,7 @@
/datum/reagent/consumable/blackpepper = 1,
)
result = /obj/item/food/spanish_rice
+ removed_foodtypes = BREAKFAST
category = CAT_MEXICAN
/datum/crafting_recipe/food/pineapple_salsa
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm
index 9e145500a17..e2c09cfe02c 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm
@@ -10,6 +10,7 @@
/obj/item/food/grown/apple = 1
)
result = /obj/item/food/candiedapple
+ added_foodtypes = JUNKFOOD|SUGAR
category = CAT_MISCFOOD
/datum/crafting_recipe/food/spiderlollipop
@@ -20,6 +21,8 @@
/obj/item/food/spiderling = 1
)
result = /obj/item/food/spiderlollipop
+ added_foodtypes = JUNKFOOD|SUGAR
+ removed_foodtypes = TOXIC
category = CAT_MISCFOOD
/datum/crafting_recipe/food/chococoin
@@ -66,6 +69,7 @@
/datum/reagent/consumable/gravy = 3
)
result = /obj/item/food/poutine
+ added_foodtypes = MEAT
category = CAT_MISCFOOD
/datum/crafting_recipe/food/beans
@@ -95,6 +99,7 @@
)
parts = list(/obj/item/reagent_containers/cup/glass/bottle/vodka = 1)
result = /obj/item/food/melonkeg
+ added_foodtypes = ALCOHOL
category = CAT_MISCFOOD
/datum/crafting_recipe/food/honeybar
@@ -104,6 +109,7 @@
/datum/reagent/consumable/honey = 5
)
result = /obj/item/food/honeybar
+ added_foodtypes = SUGAR
category = CAT_MISCFOOD
/datum/crafting_recipe/food/powercrepe
@@ -117,6 +123,7 @@
/obj/item/melee/sabre = 1
)
result = /obj/item/food/powercrepe
+ added_foodtypes = FRUIT|SUGAR
category = CAT_MISCFOOD
/datum/crafting_recipe/food/branrequests
@@ -126,6 +133,8 @@
/obj/item/food/no_raisin = 1,
)
result = /obj/item/food/branrequests
+ removed_foodtypes = JUNKFOOD
+ added_foodtypes = BREAKFAST
category = CAT_MISCFOOD
/datum/crafting_recipe/food/ricepudding
@@ -137,6 +146,8 @@
/obj/item/food/boiledrice = 1
)
result = /obj/item/food/salad/ricepudding
+ added_foodtypes = DAIRY|SUGAR
+ removed_foodtypes = BREAKFAST
category = CAT_MISCFOOD
/datum/crafting_recipe/food/risotto
@@ -149,6 +160,7 @@
/obj/item/food/grown/mushroom/chanterelle = 1
)
result = /obj/item/food/salad/risotto
+ removed_foodtypes = BREAKFAST
category = CAT_MISCFOOD
/datum/crafting_recipe/food/butterbear //ITS ALIVEEEEEE!
@@ -173,6 +185,7 @@
/obj/item/food/meat/slab/rawcrab = 1
)
result = /obj/item/food/crab_rangoon
+ removed_foodtypes = RAW
category = CAT_SEAFOOD
/datum/crafting_recipe/food/royalcheese
@@ -228,6 +241,7 @@
/obj/item/food/butterslice = 1
)
result = /obj/item/food/bechamel_sauce
+ added_foodtypes = GRAIN
category = CAT_MISCFOOD
/datum/crafting_recipe/food/pierogi
@@ -249,6 +263,7 @@
/obj/item/food/grown/tomato = 1,
)
result = /obj/item/food/stuffed_cabbage
+ removed_foodtypes = BREAKFAST
category = CAT_MISCFOOD
/datum/crafting_recipe/food/granola_bar
@@ -260,6 +275,7 @@
/obj/item/food/no_raisin = 1,
)
result = /obj/item/food/granola_bar
+ removed_foodtypes = JUNKFOOD
category = CAT_MISCFOOD
/datum/crafting_recipe/food/onigiri
@@ -269,6 +285,7 @@
/obj/item/food/seaweedsheet = 1,
)
result = /obj/item/food/onigiri
+ removed_foodtypes = BREAKFAST
category = CAT_MISCFOOD
/datum/crafting_recipe/food/mashed_potatoes
@@ -289,6 +306,7 @@
/datum/reagent/consumable/salt = 2,
)
result = /obj/item/food/pacoca
+ added_foodtypes = SUGAR
category = CAT_MISCFOOD
/datum/crafting_recipe/food/springroll
@@ -301,6 +319,7 @@
/datum/reagent/water = 10,
)
result = /obj/item/food/springroll
+ added_foodtypes = GRAIN
category = CAT_MISCFOOD
/datum/crafting_recipe/food/caramel_popcorn
@@ -310,6 +329,7 @@
/datum/reagent/consumable/caramel = 3,
)
result = /obj/item/food/popcorn/caramel
+ added_foodtypes = SUGAR
category = CAT_MISCFOOD
/datum/crafting_recipe/food/salty_popcorn
@@ -339,6 +359,7 @@
/obj/item/food/grown/mushroom/amanita = 3
)
result = /obj/item/food/bowled/amanitajelly
+ added_foodtypes = TOXIC
category = CAT_MISCFOOD
/datum/crafting_recipe/food/buttered_baked_potato
@@ -359,6 +380,7 @@
/obj/item/food/grown/cabbage = 1,
)
result = /obj/item/food/loaded_baked_potato
+ removed_foodtypes = BREAKFAST
category = CAT_MISCFOOD
/datum/crafting_recipe/food/cheese_pierogi
@@ -415,6 +437,7 @@
/datum/reagent/consumable/peanut_butter = 2,
)
result = /obj/item/food/bonbon/peanut_butter_cup
+ added_foodtypes = NUTS
category = CAT_MISCFOOD
/datum/crafting_recipe/pickles_jar
@@ -494,6 +517,7 @@
/datum/reagent/water = 2,
)
result = /obj/item/food/candied_pineapple
+ added_foodtypes = SUGAR
category = CAT_MISCFOOD
/datum/crafting_recipe/food/tzatziki_sauce
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_moth.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_moth.dm
index aeb27f026b2..2597a70d501 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_moth.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_moth.dm
@@ -53,6 +53,7 @@
/obj/item/food/onion_slice = 1
)
result = /obj/item/food/squeaking_stir_fry
+ removed_foodtypes = BREAKFAST
category = CAT_MOTH
/datum/crafting_recipe/food/sweet_chili_cabbage_wrap
@@ -96,6 +97,7 @@
/obj/item/food/cheese/firm_cheese_slice = 1
)
result = /obj/item/food/raw_green_lasagne
+ added_foodtypes = RAW
category = CAT_MOTH
/datum/crafting_recipe/food/raw_baked_rice
@@ -107,6 +109,8 @@
/obj/item/food/grown/potato = 2,
)
result = /obj/item/food/raw_baked_rice
+ removed_foodtypes = BREAKFAST
+ added_foodtypes = RAW
category = CAT_MOTH
/datum/crafting_recipe/food/buttered_baked_corn
@@ -146,9 +150,9 @@
reqs = list(
/obj/item/food/cheese/mozzarella = 1,
/obj/item/food/breadslice/plain = 2,
- /obj/item/food/tomato_sauce = 1
)
result = /obj/item/food/mozzarella_sticks
+ added_foodtypes = FRIED
category = CAT_MOTH
/datum/crafting_recipe/food/raw_stuffed_peppers
@@ -181,6 +185,8 @@
/datum/reagent/consumable/cornmeal_batter = 5
)
result = /obj/item/food/mac_balls
+ removed_foodtypes = JUNKFOOD
+ added_foodtypes = FRIED
category = CAT_MOTH
/datum/crafting_recipe/food/hua_mulan_congee
@@ -192,6 +198,8 @@
/obj/item/reagent_containers/cup/bowl = 1,
)
result = /obj/item/food/bowled/hua_mulan_congee
+ removed_foodtypes = BREAKFAST
+ added_foodtypes = GRAIN
category = CAT_MOTH
/datum/crafting_recipe/food/fried_eggplant_polenta
@@ -244,6 +252,7 @@
/obj/item/reagent_containers/cup/bowl = 1,
)
result = /obj/item/food/salad/cotton_salad
+ added_foodtypes = CLOTH
category = CAT_MOTH
/datum/crafting_recipe/food/moth_kachumbari
@@ -269,6 +278,7 @@
/obj/item/food/grown/herbs = 1
)
result = /obj/item/food/raw_mothic_margherita
+ added_foodtypes = RAW
category = CAT_PIZZA
/datum/crafting_recipe/food/raw_mothic_firecracker
@@ -280,6 +290,7 @@
/obj/item/food/grown/ghost_chili = 1
)
result = /obj/item/food/raw_mothic_firecracker
+ added_foodtypes = RAW
category = CAT_PIZZA
/datum/crafting_recipe/food/raw_mothic_five_cheese
@@ -293,6 +304,7 @@
/obj/item/food/cheese/cheese_curds = 1
)
result = /obj/item/food/raw_mothic_five_cheese
+ added_foodtypes = RAW
category = CAT_PIZZA
/datum/crafting_recipe/food/raw_mothic_white_pie
@@ -305,6 +317,7 @@
/obj/item/food/grown/herbs = 1
)
result = /obj/item/food/raw_mothic_white_pie
+ added_foodtypes = RAW
category = CAT_PIZZA
/datum/crafting_recipe/food/raw_mothic_pesto
@@ -315,6 +328,7 @@
/obj/item/food/cheese/mozzarella = 1
)
result = /obj/item/food/raw_mothic_pesto
+ added_foodtypes = RAW
category = CAT_PIZZA
/datum/crafting_recipe/food/raw_mothic_garlic
@@ -325,6 +339,7 @@
/obj/item/food/grown/herbs = 1
)
result = /obj/item/food/raw_mothic_garlic
+ added_foodtypes = RAW
category = CAT_PIZZA
/datum/crafting_recipe/food/moth_cheese_cakes
@@ -337,6 +352,8 @@
/datum/reagent/consumable/honey = 5
)
result = /obj/item/food/moth_cheese_cakes
+ added_foodtypes = GRAIN|FRIED
+ removed_foodtypes = JUNKFOOD
category = CAT_MOTH
/datum/crafting_recipe/food/mothmallow
@@ -348,6 +365,7 @@
/datum/reagent/consumable/ethanol/rum = 5
)
result = /obj/item/food/cake/mothmallow
+ added_foodtypes = SUGAR
category = CAT_MOTH
/datum/crafting_recipe/food/moffin
@@ -358,6 +376,7 @@
/obj/item/stack/sheet/cloth = 1,
)
result = /obj/item/food/muffin/moffin
+ added_foodtypes = CLOTH|SUGAR|BREAKFAST
category = CAT_MOTH
// Soups
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm
index 130fcb57b69..75f52d816c3 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm
@@ -11,6 +11,8 @@
/obj/item/food/pastrybase = 1
)
result = /obj/item/food/donut/plain
+ added_foodtypes = JUNKFOOD|SUGAR|BREAKFAST|FRIED
+ removed_foodtypes = RAW
category = CAT_PASTRY
// It is so stupid that we have to do this but because food crafting clears all reagents that got added during init,
@@ -29,6 +31,7 @@
/datum/reagent/consumable/capsaicin = 5,
/obj/item/food/pastrybase = 1
)
+ added_foodtypes = JUNKFOOD|BREAKFAST|FRIED
result = /obj/item/food/donut/chaos
/datum/crafting_recipe/food/donut/meat
@@ -38,6 +41,7 @@
/obj/item/food/meat/rawcutlet = 1,
/obj/item/food/pastrybase = 1
)
+ added_foodtypes = JUNKFOOD|BREAKFAST|FRIED|GORE
result = /obj/item/food/donut/meat
/datum/crafting_recipe/food/donut/jelly
@@ -46,6 +50,7 @@
/datum/reagent/consumable/berryjuice = 5,
/obj/item/food/pastrybase = 1
)
+ added_foodtypes = parent_type::added_foodtypes|FRUIT
result = /obj/item/food/donut/jelly/plain
/datum/crafting_recipe/food/donut/slimejelly
@@ -54,6 +59,7 @@
/datum/reagent/toxin/slimejelly = 5,
/obj/item/food/pastrybase = 1
)
+ added_foodtypes = parent_type::added_foodtypes|TOXIC
result = /obj/item/food/donut/jelly/slimejelly/plain
@@ -63,6 +69,7 @@
/datum/reagent/consumable/berryjuice = 3,
/obj/item/food/donut/plain = 1
)
+ added_foodtypes = parent_type::added_foodtypes|FRUIT
result = /obj/item/food/donut/berry
/datum/crafting_recipe/food/donut/trumpet
@@ -80,6 +87,7 @@
/datum/reagent/consumable/applejuice = 3,
/obj/item/food/donut/plain = 1
)
+ added_foodtypes = parent_type::added_foodtypes|FRUIT
result = /obj/item/food/donut/apple
/datum/crafting_recipe/food/donut/caramel
@@ -104,6 +112,7 @@
/datum/reagent/consumable/blumpkinjuice = 3,
/obj/item/food/donut/plain = 1
)
+ added_foodtypes = VEGETABLES
result = /obj/item/food/donut/blumpkin
/datum/crafting_recipe/food/donut/bungo
@@ -179,6 +188,7 @@
/datum/reagent/consumable/blumpkinjuice = 3,
/obj/item/food/donut/jelly/plain = 1
)
+ added_foodtypes = parent_type::added_foodtypes|VEGETABLES
result = /obj/item/food/donut/jelly/blumpkin
/datum/crafting_recipe/food/donut/jelly/bungo
@@ -213,6 +223,7 @@
/datum/reagent/consumable/berryjuice = 3,
/obj/item/food/donut/jelly/slimejelly/plain = 1
)
+ added_foodtypes = parent_type::added_foodtypes|FRUIT
result = /obj/item/food/donut/jelly/slimejelly/berry
/datum/crafting_recipe/food/donut/slimejelly/trumpet
@@ -230,6 +241,7 @@
/datum/reagent/consumable/applejuice = 3,
/obj/item/food/donut/jelly/slimejelly/plain = 1
)
+ added_foodtypes = parent_type::added_foodtypes|FRUIT
result = /obj/item/food/donut/jelly/slimejelly/apple
/datum/crafting_recipe/food/donut/slimejelly/caramel
@@ -254,6 +266,7 @@
/datum/reagent/consumable/blumpkinjuice = 3,
/obj/item/food/donut/jelly/slimejelly/plain = 1
)
+ added_foodtypes = parent_type::added_foodtypes|VEGETABLES
result = /obj/item/food/donut/jelly/slimejelly/blumpkin
/datum/crafting_recipe/food/donut/slimejelly/bungo
@@ -289,6 +302,7 @@
/obj/item/food/pastrybase = 2
)
result = /obj/item/food/waffles
+ added_foodtypes = BREAKFAST
category = CAT_PASTRY
@@ -308,6 +322,7 @@
/obj/item/food/meat/slab/human = 2
)
result = /obj/item/food/soylentgreen
+ removed_foodtypes = GORE|RAW
category = CAT_PASTRY
@@ -318,6 +333,7 @@
/obj/item/food/pastrybase = 2
)
result = /obj/item/food/rofflewaffles
+ added_foodtypes = VEGETABLES|BREAKFAST
category = CAT_PASTRY
////////////////////////////////////////////////DONKPOCCKETS////////////////////////////////////////////////
@@ -326,50 +342,50 @@
time = 15
name = "Donk-pocket"
reqs = list(
- /obj/item/food/pastrybase = 1,
+ /obj/item/food/doughslice = 1,
/obj/item/food/meatball = 1
)
- result = /obj/item/food/donkpocket
+ result = /obj/item/food/donkpocket/homemade
category = CAT_PASTRY
/datum/crafting_recipe/food/dankpocket
time = 15
name = "Dank-pocket"
reqs = list(
- /obj/item/food/pastrybase = 1,
+ /obj/item/food/doughslice = 1,
/obj/item/food/grown/cannabis = 1
)
- result = /obj/item/food/dankpocket
+ result = /obj/item/food/donkpocket/dank
category = CAT_PASTRY
/datum/crafting_recipe/food/donkpocket/spicy
time = 15
name = "Spicy-pocket"
reqs = list(
- /obj/item/food/pastrybase = 1,
+ /obj/item/food/doughslice = 1,
/obj/item/food/meatball = 1,
/obj/item/food/grown/chili = 1
)
- result = /obj/item/food/donkpocket/spicy
+ result = /obj/item/food/donkpocket/spicy/homemade
category = CAT_PASTRY
/datum/crafting_recipe/food/donkpocket/teriyaki
time = 15
name = "Teriyaki-pocket"
reqs = list(
- /obj/item/food/pastrybase = 1,
+ /obj/item/food/doughslice = 1,
/obj/item/food/meatball = 1,
/datum/reagent/consumable/soysauce = 3
)
- result = /obj/item/food/donkpocket/teriyaki
+ result = /obj/item/food/donkpocket/teriyaki/homemade
category = CAT_PASTRY
/datum/crafting_recipe/food/donkpocket/pizza
time = 15
name = "Pizza-pocket"
reqs = list(
- /obj/item/food/pastrybase = 1,
- /obj/item/food/meatball = 1,
+ /obj/item/food/doughslice = 1,
+ /obj/item/food/cheese/wedge = 1,
/obj/item/food/grown/tomato = 1
)
result = /obj/item/food/donkpocket/pizza
@@ -379,28 +395,30 @@
time = 15
name = "Honk-Pocket"
reqs = list(
- /obj/item/food/pastrybase = 1,
+ /obj/item/food/doughslice = 1,
/obj/item/food/grown/banana = 1,
/datum/reagent/consumable/sugar = 3
)
result = /obj/item/food/donkpocket/honk
+ added_foodtypes = FRUIT|SUGAR
category = CAT_PASTRY
/datum/crafting_recipe/food/donkpocket/berry
time = 15
name = "Berry-pocket"
reqs = list(
- /obj/item/food/pastrybase = 1,
+ /obj/item/food/doughslice = 1,
/obj/item/food/grown/berries = 1
)
result = /obj/item/food/donkpocket/berry
+ added_foodtypes = FRUIT|SUGAR
category = CAT_PASTRY
/datum/crafting_recipe/food/donkpocket/gondola
time = 15
name = "Gondola-pocket"
reqs = list(
- /obj/item/food/pastrybase = 1,
+ /obj/item/food/doughslice = 1,
/obj/item/food/meatball = 1,
/datum/reagent/gondola_mutation_toxin = 5
)
@@ -411,13 +429,14 @@
time = 15
name = "Deluxe Donk-pocket"
reqs = list(
- /obj/item/food/pastrybase = 1,
+ /obj/item/food/doughslice = 1,
/obj/item/food/meatball = 1,
/obj/item/food/meat/bacon = 1,
/obj/item/food/onion_slice/red = 1
)
result = /obj/item/food/donkpocket/deluxe
category = CAT_PASTRY
+ removed_foodtypes = BREAKFAST
crafting_flags = parent_type::crafting_flags | CRAFT_MUST_BE_LEARNED
/datum/crafting_recipe/food/donkpocket/deluxe/nocarb
@@ -430,18 +449,20 @@
/obj/item/food/grown/herbs = 1
)
result = /obj/item/food/donkpocket/deluxe/nocarb
+ removed_foodtypes = VEGETABLES //The herbs are only to enhance the flavor
category = CAT_PASTRY
/datum/crafting_recipe/food/donkpocket/deluxe/vegan
time = 15
name = "Deluxe Donk-roll"
reqs = list(
- /obj/item/food/pastrybase = 1,
+ /obj/item/food/doughslice = 1,
/obj/item/food/boiledrice = 1,
/obj/item/food/grown/bell_pepper = 1,
- /obj/item/food/tofu = 2
+ /obj/item/food/tofu = 2,
)
result = /obj/item/food/donkpocket/deluxe/vegan
+ removed_foodtypes = BREAKFAST
category = CAT_PASTRY
////////////////////////////////////////////////MUFFINS////////////////////////////////////////////////
@@ -453,6 +474,7 @@
/datum/reagent/consumable/milk = 5,
/obj/item/food/pastrybase = 1
)
+ added_foodtypes = BREAKFAST|SUGAR|DAIRY
result = /obj/item/food/muffin
category = CAT_PASTRY
@@ -464,6 +486,7 @@
/obj/item/food/grown/berries = 1
)
result = /obj/item/food/muffin/berry
+ added_foodtypes = BREAKFAST|SUGAR|FRUIT|DAIRY
category = CAT_PASTRY
/datum/crafting_recipe/food/booberrymuffin
@@ -475,6 +498,7 @@
/obj/item/ectoplasm = 1
)
result = /obj/item/food/muffin/booberry
+ added_foodtypes = BREAKFAST|SUGAR|DAIRY
category = CAT_PASTRY
////////////////////////////////////////////OTHER////////////////////////////////////////////
@@ -489,6 +513,7 @@
/obj/item/food/bread/plain = 1
)
result = /obj/item/food/khachapuri
+ added_foodtypes = MEAT
category = CAT_PASTRY
/datum/crafting_recipe/food/sugarcookie
@@ -499,6 +524,7 @@
/obj/item/food/pastrybase = 1
)
result = /obj/item/food/cookie/sugar
+ added_foodtypes = JUNKFOOD|SUGAR
category = CAT_PASTRY
/datum/crafting_recipe/food/spookyskull
@@ -510,6 +536,7 @@
/datum/reagent/consumable/milk = 5
)
result = /obj/item/food/cookie/sugar/spookyskull
+ added_foodtypes = JUNKFOOD|SUGAR
category = CAT_PASTRY
/datum/crafting_recipe/food/spookycoffin
@@ -521,6 +548,7 @@
/datum/reagent/consumable/coffee = 5
)
result = /obj/item/food/cookie/sugar/spookycoffin
+ added_foodtypes = JUNKFOOD|SUGAR
category = CAT_PASTRY
/datum/crafting_recipe/food/fortunecookie
@@ -534,6 +562,7 @@
/obj/item/paper = 1
)
result = /obj/item/food/fortunecookie
+ added_foodtypes = SUGAR
category = CAT_PASTRY
/datum/crafting_recipe/food/poppypretzel
@@ -544,6 +573,7 @@
/obj/item/food/pastrybase = 1
)
result = /obj/item/food/poppypretzel
+ added_foodtypes = SUGAR
category = CAT_PASTRY
/datum/crafting_recipe/food/plumphelmetbiscuit
@@ -561,7 +591,7 @@
name = "Cracker"
reqs = list(
/datum/reagent/consumable/salt = 1,
- /obj/item/food/pastrybase = 1,
+ /obj/item/food/doughslice = 1,
)
result = /obj/item/food/cracker
category = CAT_PASTRY
@@ -593,6 +623,7 @@
/obj/item/food/grown/oat = 1
)
result = /obj/item/food/cookie/raisin
+ removed_foodtypes = JUNKFOOD
category = CAT_PASTRY
/datum/crafting_recipe/food/cherrycupcake
@@ -602,6 +633,7 @@
/obj/item/food/grown/cherries = 1
)
result = /obj/item/food/cherrycupcake
+ added_foodtypes = SUGAR
category = CAT_PASTRY
/datum/crafting_recipe/food/bluecherrycupcake
@@ -611,6 +643,7 @@
/obj/item/food/grown/bluecherries = 1
)
result = /obj/item/food/cherrycupcake/blue
+ added_foodtypes = SUGAR
category = CAT_PASTRY
/datum/crafting_recipe/food/jupitercupcake
@@ -621,6 +654,7 @@
/datum/reagent/consumable/caramel = 3,
)
result = /obj/item/food/jupitercupcake
+ added_foodtypes = SUGAR
category = CAT_PASTRY
/datum/crafting_recipe/food/honeybun
@@ -630,6 +664,7 @@
/datum/reagent/consumable/honey = 5
)
result = /obj/item/food/honeybun
+ added_foodtypes = SUGAR
category = CAT_PASTRY
/datum/crafting_recipe/food/cannoli
@@ -640,6 +675,7 @@
/datum/reagent/consumable/sugar = 3
)
result = /obj/item/food/cannoli
+ added_foodtypes = SUGAR
category = CAT_PASTRY
/datum/crafting_recipe/food/peanut_butter_cookie
@@ -649,6 +685,7 @@
/obj/item/food/pastrybase = 1
)
result = /obj/item/food/cookie/peanut_butter
+ added_foodtypes = JUNKFOOD|NUTS
category = CAT_PASTRY
/datum/crafting_recipe/food/raw_brownie_batter
@@ -661,6 +698,8 @@
/obj/item/food/butterslice = 1
)
result = /obj/item/food/raw_brownie_batter
+ added_foodtypes = GRAIN|JUNKFOOD|BREAKFAST|SUGAR
+ removed_foodtypes = MEAT|RAW
category = CAT_PASTRY
/datum/crafting_recipe/food/peanut_butter_brownie_batter
@@ -674,6 +713,8 @@
/obj/item/food/butterslice = 1
)
result = /obj/item/food/peanut_butter_brownie_batter
+ added_foodtypes = GRAIN|JUNKFOOD|BREAKFAST|SUGAR|NUTS
+ removed_foodtypes = MEAT|RAW
category = CAT_PASTRY
/datum/crafting_recipe/food/crunchy_peanut_butter_tart
@@ -685,6 +726,7 @@
/datum/reagent/consumable/cream = 5,
)
result = /obj/item/food/crunchy_peanut_butter_tart
+ added_foodtypes = JUNKFOOD|SUGAR
category = CAT_PASTRY
/datum/crafting_recipe/food/chocolate_chip_cookie
@@ -694,6 +736,7 @@
/obj/item/food/chocolatebar = 1,
)
result = /obj/item/food/cookie/chocolate_chip_cookie
+ removed_foodtypes = JUNKFOOD
category = CAT_PASTRY
/datum/crafting_recipe/food/snickerdoodle
@@ -703,6 +746,7 @@
/datum/reagent/consumable/vanilla = 5,
)
result = /obj/item/food/cookie/snickerdoodle
+ added_foodtypes = SUGAR
category = CAT_PASTRY
/datum/crafting_recipe/food/thumbprint_cookie
@@ -712,6 +756,7 @@
/datum/reagent/consumable/cherryjelly = 5,
)
result = /obj/item/food/cookie/thumbprint_cookie
+ added_foodtypes = FRUIT|SUGAR
category = CAT_PASTRY
/datum/crafting_recipe/food/macaron
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm
index a215ecdd750..5eff8da6318 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm
@@ -11,6 +11,7 @@
/obj/item/food/grown/banana = 1
)
result = /obj/item/food/pie/cream
+ added_foodtypes = SUGAR
category = CAT_PIE
/datum/crafting_recipe/food/meatpie
@@ -49,6 +50,7 @@
/obj/item/food/grown/cherries = 1
)
result = /obj/item/food/pie/cherrypie
+ added_foodtypes = SUGAR
category = CAT_PIE
/datum/crafting_recipe/food/berryclafoutis
@@ -58,6 +60,7 @@
/obj/item/food/grown/berries = 1
)
result = /obj/item/food/pie/berryclafoutis
+ added_foodtypes = SUGAR
category = CAT_PIE
/datum/crafting_recipe/food/bearypie
@@ -68,6 +71,7 @@
/obj/item/food/meat/steak/bear = 1
)
result = /obj/item/food/pie/bearypie
+ added_foodtypes = SUGAR
category = CAT_PIE
/datum/crafting_recipe/food/amanitapie
@@ -77,6 +81,7 @@
/obj/item/food/grown/mushroom/amanita = 1
)
result = /obj/item/food/pie/amanita_pie
+ added_foodtypes = TOXIC|GROSS
category = CAT_PIE
/datum/crafting_recipe/food/plumppie
@@ -95,6 +100,7 @@
/obj/item/food/grown/apple = 1
)
result = /obj/item/food/pie/applepie
+ added_foodtypes = SUGAR
category = CAT_PIE
/datum/crafting_recipe/food/pumpkinpie
@@ -106,6 +112,7 @@
/obj/item/food/grown/pumpkin = 1
)
result = /obj/item/food/pie/pumpkinpie
+ added_foodtypes = SUGAR
category = CAT_PIE
/datum/crafting_recipe/food/goldenappletart
@@ -117,6 +124,7 @@
/obj/item/food/grown/apple/gold = 1
)
result = /obj/item/food/pie/appletart
+ added_foodtypes = SUGAR
category = CAT_PIE
/datum/crafting_recipe/food/grapetart
@@ -128,6 +136,7 @@
/obj/item/food/grown/grapes = 3
)
result = /obj/item/food/pie/grapetart
+ added_foodtypes = SUGAR
category = CAT_PIE
/datum/crafting_recipe/food/mimetart
@@ -140,6 +149,7 @@
)
result = /obj/item/food/pie/mimetart
category = CAT_PIE
+ added_foodtypes = SUGAR
crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_MUST_BE_LEARNED
/datum/crafting_recipe/food/berrytart
@@ -152,6 +162,7 @@
)
result = /obj/item/food/pie/berrytart
category = CAT_PIE
+ added_foodtypes = SUGAR
crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_MUST_BE_LEARNED
/datum/crafting_recipe/food/cocolavatart
@@ -165,6 +176,8 @@
)
result = /obj/item/food/pie/cocolavatart
category = CAT_PIE
+ added_foodtypes = SUGAR
+ removed_foodtypes = JUNKFOOD
crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_MUST_BE_LEARNED
/datum/crafting_recipe/food/blumpkinpie
@@ -176,6 +189,7 @@
/obj/item/food/grown/pumpkin/blumpkin = 1
)
result = /obj/item/food/pie/blumpkinpie
+ added_foodtypes = SUGAR
category = CAT_PIE
/datum/crafting_recipe/food/dulcedebatata
@@ -186,6 +200,7 @@
/obj/item/food/grown/potato/sweet = 2
)
result = /obj/item/food/pie/dulcedebatata
+ added_foodtypes = SUGAR
category = CAT_PIE
/datum/crafting_recipe/food/frostypie
@@ -195,6 +210,7 @@
/obj/item/food/grown/bluecherries = 1
)
result = /obj/item/food/pie/frostypie
+ added_foodtypes = FRUIT|SUGAR
category = CAT_PIE
/datum/crafting_recipe/food/baklava
@@ -205,6 +221,7 @@
/obj/item/seeds/wheat/oat = 4
)
result = /obj/item/food/pie/baklava
+ added_foodtypes = SUGAR
category = CAT_PIE
/datum/crafting_recipe/food/frenchsilkpie
@@ -215,6 +232,8 @@
/obj/item/food/chocolatebar = 2,
)
result = /obj/item/food/pie/frenchsilkpie
+ removed_foodtypes = JUNKFOOD
+ added_foodtypes = SUGAR
category = CAT_PIE
/datum/crafting_recipe/food/shepherds_pie
@@ -244,4 +263,5 @@
/obj/item/stock_parts/power_store/cell = 2,
)
result = /obj/item/food/pie/bacid_pie
+ added_foodtypes = TOXIC
category = CAT_PIE
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm
index f67071a86f5..56d31a233e7 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm
@@ -3,14 +3,17 @@
////////////////////////////////////////////////PIZZA!!!////////////////////////////////////////////////
-/datum/crafting_recipe/food/margheritapizza
+/datum/crafting_recipe/food/pizza
+ added_foodtypes = RAW
+ category = CAT_PIZZA
+
+/datum/crafting_recipe/food/pizza/margherita
reqs = list(
/obj/item/food/flatdough = 1,
/obj/item/food/cheese/wedge = 4,
/obj/item/food/grown/tomato = 1
)
result = /obj/item/food/pizza/margherita/raw
- category = CAT_PIZZA
/datum/crafting_recipe/food/meatpizza
reqs = list(
@@ -20,9 +23,8 @@
/obj/item/food/grown/tomato = 1
)
result = /obj/item/food/pizza/meat/raw
- category = CAT_PIZZA
-/datum/crafting_recipe/food/arnold
+/datum/crafting_recipe/food/pizza/arnold
reqs = list(
/obj/item/food/flatdough = 1,
/obj/item/food/meat/rawcutlet = 3,
@@ -31,38 +33,37 @@
/obj/item/food/grown/tomato = 1
)
result = /obj/item/food/pizza/arnold/raw
- category = CAT_PIZZA
-/datum/crafting_recipe/food/mushroompizza
+/datum/crafting_recipe/food/pizza/mushroom
reqs = list(
/obj/item/food/flatdough = 1,
- /obj/item/food/grown/mushroom = 5
+ /obj/item/food/grown/mushroom = 5,
+ /obj/item/food/cheese/wedge = 1,
)
result = /obj/item/food/pizza/mushroom/raw
- category = CAT_PIZZA
-/datum/crafting_recipe/food/vegetablepizza
+/datum/crafting_recipe/food/pizza/vegetable
reqs = list(
/obj/item/food/flatdough = 1,
/obj/item/food/grown/eggplant = 1,
/obj/item/food/grown/carrot = 1,
/obj/item/food/grown/corn = 1,
- /obj/item/food/grown/tomato = 1
+ /obj/item/food/grown/tomato = 1,
+ /obj/item/food/cheese/wedge = 1,
)
result = /obj/item/food/pizza/vegetable/raw
- category = CAT_PIZZA
-/datum/crafting_recipe/food/donkpocketpizza
+/datum/crafting_recipe/food/pizza/donkpocket
reqs = list(
/obj/item/food/flatdough = 1,
/obj/item/food/donkpocket = 3,
/obj/item/food/cheese/wedge = 1,
/obj/item/food/grown/tomato = 1
)
+ added_foodtypes = parent_type::added_foodtypes|JUNKFOOD
result = /obj/item/food/pizza/donkpocket/raw
- category = CAT_PIZZA
-/datum/crafting_recipe/food/dankpizza
+/datum/crafting_recipe/food/pizza/dank
reqs = list(
/obj/item/food/flatdough = 1,
/obj/item/food/grown/ambrosia/vulgaris = 3,
@@ -70,9 +71,8 @@
/obj/item/food/grown/tomato = 1
)
result = /obj/item/food/pizza/dank/raw
- category = CAT_PIZZA
-/datum/crafting_recipe/food/sassysagepizza
+/datum/crafting_recipe/food/pizza/sassysage
reqs = list(
/obj/item/food/flatdough = 1,
/obj/item/food/raw_meatball = 3,
@@ -80,9 +80,8 @@
/obj/item/food/grown/tomato = 1
)
result = /obj/item/food/pizza/sassysage/raw
- category = CAT_PIZZA
-/datum/crafting_recipe/food/pineapplepizza
+/datum/crafting_recipe/food/pizza/pineapple
reqs = list(
/obj/item/food/flatdough = 1,
/obj/item/food/meat/rawcutlet = 2,
@@ -91,25 +90,24 @@
/obj/item/food/grown/tomato = 1
)
result = /obj/item/food/pizza/pineapple/raw
- category = CAT_PIZZA
-/datum/crafting_recipe/food/antspizza
+/datum/crafting_recipe/food/pizza/ants
reqs = list(
/obj/item/food/pizzaslice/margherita = 1,
/datum/reagent/ants = 4
)
result = /obj/item/food/pizzaslice/ants
- category = CAT_PIZZA
+ added_foodtypes = BUGS
-/datum/crafting_recipe/food/energypizza
+/datum/crafting_recipe/food/pizza/energy
reqs = list(
/obj/item/food/flatdough = 1,
/obj/item/stock_parts/power_store/cell = 2,
)
result = /obj/item/food/pizza/energy/raw
- category = CAT_PIZZA
+ added_foodtypes = parent_type::added_foodtypes|TOXIC
-/datum/crafting_recipe/food/raw_meat_calzone
+/datum/crafting_recipe/food/pizza/raw_meat_calzone
name = "Meat calzone"
reqs = list(
/obj/item/food/flatdough = 1,
@@ -118,9 +116,8 @@
/obj/item/food/grown/tomato = 1,
)
result = /obj/item/food/raw_meat_calzone
- category = CAT_PIZZA
-/datum/crafting_recipe/food/raw_vegetarian_calzone
+/datum/crafting_recipe/food/pizza/raw_vegetarian_calzone
name = "Vegetarian calzone"
reqs = list(
/obj/item/food/flatdough = 1,
@@ -129,4 +126,3 @@
/obj/item/food/grown/onion = 1,
)
result = /obj/item/food/raw_vegetarian_calzone
- category = CAT_PIZZA
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm
index 0bd29c51054..45b01b16e21 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm
@@ -32,6 +32,7 @@
/obj/item/food/meatball = 1
)
result = /obj/item/food/salad/validsalad
+ added_foodtypes = FRIED
category = CAT_SALAD
/datum/crafting_recipe/food/melonfruitbowl
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm
index 742e8c1f3c8..13c017d309b 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm
@@ -32,6 +32,7 @@
/datum/reagent/toxin/slimejelly = 5,
/obj/item/food/breadslice/plain = 2,
)
+ added_foodtypes = TOXIC
result = /obj/item/food/sandwich/jelly/slime
category = CAT_SANDWICH
@@ -41,6 +42,7 @@
/datum/reagent/consumable/cherryjelly = 5,
/obj/item/food/breadslice/plain = 2,
)
+ added_foodtypes = FRUIT|SUGAR
result = /obj/item/food/sandwich/jelly/cherry
category = CAT_SANDWICH
@@ -50,6 +52,7 @@
/obj/item/food/breadslice/plain = 2,
/obj/item/clothing/mask/fakemoustache = 1
)
+ added_foodtypes = GROSS
result = /obj/item/food/sandwich/notasandwich
category = CAT_SANDWICH
@@ -61,6 +64,7 @@
/obj/item/food/sausage = 1
)
result = /obj/item/food/hotdog
+ removed_foodtypes = BREAKFAST
category = CAT_SANDWICH
/datum/crafting_recipe/food/danish_hotdog
@@ -73,6 +77,7 @@
/obj/item/food/grown/onion = 1,
)
result = /obj/item/food/danish_hotdog
+ removed_foodtypes = BREAKFAST
category = CAT_SANDWICH
/datum/crafting_recipe/food/blt
@@ -94,6 +99,7 @@
/datum/reagent/consumable/cherryjelly = 5
)
result = /obj/item/food/sandwich/peanut_butter_jelly
+ added_foodtypes = FRUIT|NUTS
category = CAT_SANDWICH
/datum/crafting_recipe/food/peanut_butter_banana_sandwich
@@ -104,6 +110,7 @@
/obj/item/food/grown/banana = 1
)
result = /obj/item/food/sandwich/peanut_butter_banana
+ added_foodtypes = NUTS
category = CAT_SANDWICH
/datum/crafting_recipe/food/philly_cheesesteak
@@ -136,4 +143,5 @@
/obj/item/food/butteredtoast = 1,
)
result = /obj/item/food/sandwich/toast_sandwich
+ removed_foodtypes = BREAKFAST
category = CAT_SANDWICH
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_seafood.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_seafood.dm
index 60c7de2e333..1589dbc5383 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_seafood.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_seafood.dm
@@ -6,6 +6,7 @@
/obj/item/food/fishmeat/carp = 1
)
result = /obj/item/food/cubancarp
+ added_foodtypes = GRAIN|FRIED
category = CAT_SEAFOOD
/datum/crafting_recipe/food/fishandchips
@@ -25,6 +26,7 @@
/obj/item/food/fishmeat = 1
)
result = /obj/item/food/fishfingers
+ added_foodtypes = FRIED
category = CAT_SEAFOOD
/datum/crafting_recipe/food/fishfry
@@ -35,16 +37,18 @@
/obj/item/food/fishmeat = 1
)
result = /obj/item/food/fishfry
+ added_foodtypes = FRIED
category = CAT_SEAFOOD
/datum/crafting_recipe/food/sashimi
- name = "Sashimi"
+ name = "Spider Sashimi"
reqs = list(
/datum/reagent/consumable/soysauce = 5,
/obj/item/food/spidereggs = 1,
/obj/item/food/fishmeat = 1
)
result = /obj/item/food/sashimi
+ removed_foodtypes = TOXIC
category = CAT_SEAFOOD
/datum/crafting_recipe/food/fishtaco
@@ -56,6 +60,7 @@
/obj/item/food/grown/cabbage = 1
)
result = /obj/item/food/taco/fish
+
category = CAT_SEAFOOD
/datum/crafting_recipe/food/vegetariansushiroll
@@ -67,6 +72,7 @@
/obj/item/food/grown/potato = 1
)
result = /obj/item/food/vegetariansushiroll
+ removed_foodtypes = BREAKFAST
category = CAT_SEAFOOD
/datum/crafting_recipe/food/spicyfiletroll
@@ -79,6 +85,7 @@
/obj/item/food/grown/onion = 1
)
result = /obj/item/food/spicyfiletsushiroll
+ removed_foodtypes = BREAKFAST
category = CAT_SEAFOOD
/datum/crafting_recipe/food/nigiri_sushi
@@ -90,6 +97,7 @@
/datum/reagent/consumable/soysauce = 2
)
result = /obj/item/food/nigiri_sushi
+ removed_foodtypes = BREAKFAST
category = CAT_SEAFOOD
/datum/crafting_recipe/food/meat_poke
@@ -105,6 +113,7 @@
/obj/item/food/grown/cucumber = 1,
)
result = /obj/item/food/meat_poke
+ removed_foodtypes = BREAKFAST
category = CAT_SEAFOOD
/datum/crafting_recipe/food/fish_poke
@@ -120,6 +129,7 @@
/obj/item/food/grown/cucumber = 1,
)
result = /obj/item/food/fish_poke
+ removed_foodtypes = BREAKFAST
category = CAT_SEAFOOD
/datum/crafting_recipe/food/futomaki_sushi_roll
@@ -132,6 +142,7 @@
/obj/item/food/grown/cucumber = 1,
)
result = /obj/item/food/futomaki_sushi_roll
+ removed_foodtypes = BREAKFAST
category = CAT_SEAFOOD
/datum/crafting_recipe/food/philadelphia_sushi_roll
@@ -144,4 +155,5 @@
/obj/item/food/grown/cucumber = 1,
)
result = /obj/item/food/philadelphia_sushi_roll
+ removed_foodtypes = BREAKFAST
category = CAT_SEAFOOD
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm
index edf82287373..da85e0159fb 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm
@@ -92,6 +92,7 @@
/obj/item/food/grown/onion = 1,
)
result = /obj/item/food/spaghetti/shoyu_tonkotsu_ramen
+ removed_foodtypes = BREAKFAST
category = CAT_SPAGHETTI
/datum/crafting_recipe/food/kitakata_ramen
@@ -168,4 +169,5 @@
/datum/reagent/consumable/blackpepper = 2,
)
result = /obj/item/food/spaghetti/carbonara
+ removed_foodtypes = BREAKFAST|RAW
category = CAT_SPAGHETTI
diff --git a/code/modules/food_and_drinks/restaurant/_venue.dm b/code/modules/food_and_drinks/restaurant/_venue.dm
index a3b824023fd..4543c519dcf 100644
--- a/code/modules/food_and_drinks/restaurant/_venue.dm
+++ b/code/modules/food_and_drinks/restaurant/_venue.dm
@@ -88,11 +88,11 @@
// common code for the food thoughts appearance
food_image.loc = customer_pawn
- food_image.pixel_y = 32
- food_image.pixel_x = 16
+ food_image.pixel_w = 16
+ food_image.pixel_z = 32
SET_PLANE_EXPLICIT(food_image, HUD_PLANE, customer_pawn)
food_image.plane = HUD_PLANE
- food_image.appearance_flags = RESET_COLOR
+ food_image.appearance_flags = RESET_COLOR|KEEP_APART
customer_pawn.hud_to_show_on_hover = customer_pawn.add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/food_demands, "food_thoughts", food_image)
return order
diff --git a/code/modules/food_and_drinks/restaurant/custom_order.dm b/code/modules/food_and_drinks/restaurant/custom_order.dm
index ac819e4debf..5374ee3482a 100644
--- a/code/modules/food_and_drinks/restaurant/custom_order.dm
+++ b/code/modules/food_and_drinks/restaurant/custom_order.dm
@@ -121,7 +121,7 @@
for(var/flavor in wanted_flavors)
var/image/scoop = image('icons/obj/service/kitchen.dmi', "icecream_custom")
scoop.color = GLOB.ice_cream_flavours[flavor].color
- scoop.pixel_y = added_offset
+ scoop.pixel_z = added_offset
i_scream.overlays += scoop
added_offset += ICE_CREAM_SCOOP_OFFSET
food_image.add_overlay(i_scream)
diff --git a/code/modules/food_and_drinks/restaurant/customers/_customer.dm b/code/modules/food_and_drinks/restaurant/customers/_customer.dm
index 7856323cad7..aaf1cc0de90 100644
--- a/code/modules/food_and_drinks/restaurant/customers/_customer.dm
+++ b/code/modules/food_and_drinks/restaurant/customers/_customer.dm
@@ -183,9 +183,7 @@
/datum/customer_data/french/get_overlays(mob/living/basic/robot_customer/customer)
if(customer.ai_controller.blackboard[BB_CUSTOMER_LEAVING])
- var/mutable_appearance/flag = mutable_appearance(customer.icon, "french_flag")
- flag.appearance_flags = RESET_COLOR
- return flag
+ return mutable_appearance(customer.icon, "french_flag", appearance_flags = RESET_COLOR|KEEP_APART)
@@ -231,9 +229,7 @@
/datum/customer_data/japanese/get_overlays(mob/living/basic/robot_customer/customer)
//leaving and eaten
if(type == /datum/customer_data/japanese && customer.ai_controller.blackboard[BB_CUSTOMER_LEAVING] && customer.ai_controller.blackboard[BB_CUSTOMER_EATING])
- var/mutable_appearance/you_won_my_heart = mutable_appearance('icons/effects/effects.dmi', "love_hearts")
- you_won_my_heart.appearance_flags = RESET_COLOR
- return you_won_my_heart
+ return mutable_appearance('icons/effects/effects.dmi', "love_hearts", appearance_flags = RESET_COLOR|KEEP_APART)
/datum/customer_data/japanese/salaryman
clothing_sets = list("japanese_salary")
@@ -317,26 +313,15 @@
var/list/underlays = list()
var/datum/sprite_accessory/moth_wings/wings = get_wings(customer)
-
- var/mutable_appearance/wings_behind = mutable_appearance(icon = 'icons/mob/human/species/moth/moth_wings.dmi', icon_state = "m_moth_wings_[wings.icon_state]_BEHIND")
- wings_behind.appearance_flags = RESET_COLOR
- underlays += wings_behind
-
+ underlays += mutable_appearance(icon = 'icons/mob/human/species/moth/moth_wings.dmi', icon_state = "m_moth_wings_[wings.icon_state]_BEHIND", appearance_flags = RESET_COLOR|KEEP_APART)
return underlays
/datum/customer_data/moth/get_overlays(mob/living/basic/robot_customer/customer)
var/list/overlays = list()
var/datum/sprite_accessory/moth_wings/wings = get_wings(customer)
-
- var/mutable_appearance/wings_front = mutable_appearance(icon = 'icons/mob/human/species/moth/moth_wings.dmi', icon_state = "m_moth_wings_[wings.icon_state]_FRONT")
- wings_front.appearance_flags = RESET_COLOR
- overlays += wings_front
-
- var/mutable_appearance/jetpack = mutable_appearance(icon = customer.icon, icon_state = "mothbot_jetpack")
- jetpack.appearance_flags = RESET_COLOR
- overlays += jetpack
-
+ overlays += mutable_appearance(icon = 'icons/mob/human/species/moth/moth_wings.dmi', icon_state = "m_moth_wings_[wings.icon_state]_FRONT", appearance_flags = RESET_COLOR|KEEP_APART)
+ overlays += mutable_appearance(icon = customer.icon, icon_state = "mothbot_jetpack", appearance_flags = RESET_COLOR|KEEP_APART)
return overlays
/datum/customer_data/mexican
diff --git a/code/modules/hallucination/_hallucination.dm b/code/modules/hallucination/_hallucination.dm
index df3bbe74757..22eb5809d9e 100644
--- a/code/modules/hallucination/_hallucination.dm
+++ b/code/modules/hallucination/_hallucination.dm
@@ -9,6 +9,8 @@
/datum/hallucination
/// What is this hallucination's weight in the random hallucination pool?
var/random_hallucination_weight = 0
+ /// What tier of hallucination is this? Rarer ones should be higher
+ var/hallucination_tier = HALLUCINATION_TIER_NEVER
/// Who's our next highest abstract parent type?
var/abstract_hallucination_parent = /datum/hallucination
/// Extra info about the hallucination displayed in the log.
@@ -162,8 +164,8 @@
/obj/effect/client_image_holder/proc/generate_image()
var/image/created = image(image_icon, src, image_state, image_layer, dir = src.dir)
SET_PLANE_EXPLICIT(created, image_plane, src)
- created.pixel_x = image_pixel_x
- created.pixel_y = image_pixel_y
+ created.pixel_w = image_pixel_x
+ created.pixel_z = image_pixel_y
if(image_color)
created.color = image_color
return created
diff --git a/code/modules/hallucination/battle.dm b/code/modules/hallucination/battle.dm
index 2a50093e3a0..6bcbafea52d 100644
--- a/code/modules/hallucination/battle.dm
+++ b/code/modules/hallucination/battle.dm
@@ -2,6 +2,7 @@
/datum/hallucination/battle
abstract_hallucination_parent = /datum/hallucination/battle
random_hallucination_weight = 3
+ hallucination_tier = HALLUCINATION_TIER_COMMON
/// Subtype of battle hallucination for gun based battles, where it sounds like someone is being shot.
/datum/hallucination/battle/gun
diff --git a/code/modules/hallucination/blood_flow.dm b/code/modules/hallucination/blood_flow.dm
new file mode 100644
index 00000000000..aaaba4ba2c9
--- /dev/null
+++ b/code/modules/hallucination/blood_flow.dm
@@ -0,0 +1,69 @@
+/datum/hallucination/blood_flow
+ random_hallucination_weight = 3
+ hallucination_tier = HALLUCINATION_TIER_COMMON
+ /// The bleeding hallucination's image
+ var/image/bleeding
+
+/datum/hallucination/blood_flow/start()
+ if(!hallucinator.client || !iscarbon(hallucinator))
+ return FALSE
+
+ var/mob/living/carbon/carb_hallucinator = hallucinator
+ if(!length(carb_hallucinator.bodyparts) || HAS_TRAIT(carb_hallucinator, TRAIT_NOBLOOD))
+ return FALSE
+ var/obj/item/bodypart/picked
+ var/list/bodyparts = carb_hallucinator.bodyparts.Copy()
+ while(isnull(picked) && length(bodyparts))
+ picked = pick_n_take(bodyparts)
+ if(!picked.can_bleed())
+ picked = null
+
+ if(isnull(picked))
+ return FALSE
+
+ feedback_details += "Bleeding: [picked]"
+
+ RegisterSignals(picked, list(COMSIG_QDELETING, COMSIG_BODYPART_REMOVED), PROC_REF(stop_bleeding))
+ RegisterSignal(hallucinator, SIGNAL_ADDTRAIT(TRAIT_NOBLOOD), PROC_REF(stop_bleeding))
+
+ to_chat(hallucinator, span_warning("Your [picked.plaintext_zone] looses a spray of blood!"))
+ var/bleed_duration = rand(16 SECONDS, 40 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(stop_bleeding), picked), bleed_duration)
+ if(prob(25))
+ addtimer(CALLBACK(src, PROC_REF(by_god), picked), bleed_duration * pick(0.5, 0.66))
+ stamina_loop()
+
+ hallucinator.playsound_local(get_turf(hallucinator), pick('sound/effects/wounds/blood1.ogg', 'sound/effects/wounds/blood2.ogg', 'sound/effects/wounds/blood3.ogg'), 50, TRUE)
+ bleeding = image(
+ icon = 'icons/mob/effects/bleed_overlays.dmi',
+ icon_state = "[picked.body_zone]_[pick(2, 3)]",
+ loc = hallucinator,
+ )
+ bleeding.layer = -WOUND_LAYER
+ hallucinator.client?.images += bleeding
+ return TRUE
+
+/datum/hallucination/blood_flow/Destroy()
+ hallucinator.client?.images -= bleeding
+ return ..()
+
+/datum/hallucination/blood_flow/proc/by_god(obj/item/bodypart/picked)
+ if(QDELETED(src) || QDELETED(hallucinator) || QDELETED(picked))
+ return
+
+ to_chat(hallucinator, span_warning("The blood doesn't stop flowing, yet [picked.plaintext_zone] doesn't seem to hurt..."))
+
+/datum/hallucination/blood_flow/proc/stop_bleeding(obj/item/bodypart/source)
+ SIGNAL_HANDLER
+ UnregisterSignal(source, list(COMSIG_QDELETING, COMSIG_BODYPART_REMOVED))
+ UnregisterSignal(hallucinator, SIGNAL_ADDTRAIT(TRAIT_NOBLOOD))
+ if(!QDELETED(source))
+ to_chat(hallucinator, span_warning("Your [source.plaintext_zone] stops bleeding."))
+ if(!QDELETED(src))
+ qdel(src)
+
+/datum/hallucination/blood_flow/proc/stamina_loop()
+ set waitfor = FALSE
+ while(!QDELETED(src) && !QDELETED(hallucinator))
+ hallucinator.adjustStaminaLoss(5)
+ sleep(4 SECONDS)
diff --git a/code/modules/hallucination/body.dm b/code/modules/hallucination/body.dm
index cba2ce0c31d..055268d0706 100644
--- a/code/modules/hallucination/body.dm
+++ b/code/modules/hallucination/body.dm
@@ -1,6 +1,7 @@
/// Makes a random body appear and disappear quickly in view of the hallucinator.
/datum/hallucination/body
abstract_hallucination_parent = /datum/hallucination/body
+ hallucination_tier = HALLUCINATION_TIER_COMMON
/// The file to make the body image from.
var/body_image_file
/// The icon state to make the body image form.
@@ -126,6 +127,7 @@
/datum/hallucination/body/weird
random_hallucination_weight = 0.1 // These are very uncommon
abstract_hallucination_parent = /datum/hallucination/body/weird
+ hallucination_tier = HALLUCINATION_TIER_RARE
/datum/hallucination/body/weird/alien
body_image_file = 'icons/mob/nonhuman-player/alien.dmi'
@@ -140,6 +142,7 @@
body_image_file = 'icons/mob/simple/mob.dmi'
body_image_state = "chronostuck"
body_floats = TRUE
+ hallucination_tier = HALLUCINATION_TIER_VERYSPECIAL
/datum/hallucination/body/weird/god
body_image_file = 'icons/mob/simple/mob.dmi'
@@ -158,6 +161,7 @@
/datum/hallucination/body/weird/bones
body_image_file = 'icons/obj/trader_signs.dmi'
body_image_state = "mrbones"
+ hallucination_tier = HALLUCINATION_TIER_VERYSPECIAL
/datum/hallucination/body/weird/freezer
random_hallucination_weight = 0.3 // Slightly more common since it's cool (heh)
@@ -165,11 +169,12 @@
body_image_state = "the_freezer"
body_layer = ABOVE_ALL_MOB_LAYER
spawn_under_hallucinator = TRUE
+ hallucination_tier = HALLUCINATION_TIER_VERYSPECIAL
/datum/hallucination/body/weird/freezer/make_body_image(turf/location)
var/image/body = ..()
- body.pixel_x = pick(rand(-208,-48), rand(48, 208))
- body.pixel_y = pick(rand(-208,-48), rand(48, 208))
+ body.pixel_w = pick(rand(-208,-48), rand(48, 208))
+ body.pixel_z = pick(rand(-208,-48), rand(48, 208))
body.alpha = 245
SET_PLANE_EXPLICIT(body, ABOVE_HUD_PLANE, location)
return body
@@ -190,5 +195,5 @@
if(QDELETED(src))
return
// Spook 'em before we delete
- shown_body.pixel_x = (shown_body.pixel_x / 2)
- shown_body.pixel_y = (shown_body.pixel_y / 2)
+ shown_body.pixel_w = (shown_body.pixel_w / 2)
+ shown_body.pixel_z = (shown_body.pixel_z / 2)
diff --git a/code/modules/hallucination/bolted_airlocks.dm b/code/modules/hallucination/bolted_airlocks.dm
index f50c8876100..fd8e13279f4 100644
--- a/code/modules/hallucination/bolted_airlocks.dm
+++ b/code/modules/hallucination/bolted_airlocks.dm
@@ -1,5 +1,6 @@
/datum/hallucination/bolts
random_hallucination_weight = 7
+ hallucination_tier = HALLUCINATION_TIER_COMMON
/// A list of weakrefs to airlocks we bolt down around us
var/list/datum/weakref/airlocks_to_hit
/// A list of weakrefs to fake lock hallucinations we've created
diff --git a/code/modules/hallucination/bubblegum_attack.dm b/code/modules/hallucination/bubblegum_attack.dm
index 529d67dcd35..66dfa606dc3 100644
--- a/code/modules/hallucination/bubblegum_attack.dm
+++ b/code/modules/hallucination/bubblegum_attack.dm
@@ -1,6 +1,7 @@
/// Sends a fake bubblegum charging through a nearby wall to our target.
/datum/hallucination/oh_yeah
random_hallucination_weight = 1
+ hallucination_tier = HALLUCINATION_TIER_RARE
/// An image overlayed to the wall bubblegum comes out of, to look destroyed.
var/image/fake_broken_wall
/// An image put where bubblegum is expected to land, to mimic his charge "rune" icon.
diff --git a/code/modules/hallucination/delusions.dm b/code/modules/hallucination/delusions.dm
index e11e07e99cb..c90b60d2f41 100644
--- a/code/modules/hallucination/delusions.dm
+++ b/code/modules/hallucination/delusions.dm
@@ -1,6 +1,7 @@
/// A hallucination that makes us and (possibly) other people look like something else.
/datum/hallucination/delusion
abstract_hallucination_parent = /datum/hallucination/delusion
+ hallucination_tier = HALLUCINATION_TIER_UNCOMMON
/// The duration of the delusions
var/duration = 30 SECONDS
@@ -28,8 +29,8 @@
/// The name of the delusion image
var/delusion_name
- /// A list of all images we've made
- var/list/image/delusions
+ /// An assoc list of affected mobs -> delusions of them we've made
+ var/list/delusions
/datum/hallucination/delusion/New(
mob/living/hallucinator,
@@ -55,7 +56,7 @@
/datum/hallucination/delusion/Destroy()
if(!QDELETED(hallucinator) && LAZYLEN(delusions))
- hallucinator.client?.images -= delusions
+ hallucinator.client?.images -= flatten_list(delusions)
LAZYNULL(delusions)
return ..()
@@ -65,6 +66,9 @@
return FALSE
feedback_details += "Delusion: [delusion_name]"
+ hallucinator.mob_flags |= MOB_HAS_SCREENTIPS_NAME_OVERRIDE
+ RegisterSignal(hallucinator, COMSIG_MOB_REQUESTING_SCREENTIP_NAME_FROM_USER, PROC_REF(screentip_name_override))
+ RegisterSignal(hallucinator, COMSIG_LIVING_PERCEIVE_EXAMINE_NAME, PROC_REF(examine_name_override))
var/list/mob/living/carbon/human/funny_looking_mobs = list()
@@ -73,9 +77,8 @@
funny_looking_mobs |= GLOB.human_list.Copy()
// The delusion includes us - we might be in it already, we might not
- if(affects_us)
+ if(affects_us && ishuman(hallucinator))
funny_looking_mobs |= hallucinator
-
// The delusion should not inlude us
else
funny_looking_mobs -= hallucinator
@@ -87,9 +90,11 @@
continue
funny_looking_mobs -= nearby_human
- for(var/mob/living/carbon/human/found_human in funny_looking_mobs)
+ for(var/mob/living/carbon/human/found_human as anything in funny_looking_mobs)
var/image/funny_image = make_delusion_image(found_human)
- LAZYADD(delusions, funny_image)
+ RegisterSignal(found_human, COMSIG_MOVABLE_Z_CHANGED, PROC_REF(on_z_change))
+ RegisterSignal(found_human, COMSIG_QDELETING, PROC_REF(on_mob_delete), TRUE)
+ LAZYSET(delusions, found_human, funny_image)
hallucinator.client.images |= funny_image
if(play_wabbajack)
@@ -111,6 +116,39 @@
SET_PLANE_EXPLICIT(funny_image, ABOVE_GAME_PLANE, over_who)
return funny_image
+/datum/hallucination/delusion/proc/on_mob_delete(mob/living/carbon/human/source)
+ SIGNAL_HANDLER
+
+ if (source == hallucinator)
+ qdel(src)
+ return
+
+ hallucinator.client.images -= delusions[source]
+ LAZYREMOVE(delusions, source)
+
+/datum/hallucination/delusion/proc/on_z_change(mob/living/carbon/human/source)
+ SIGNAL_HANDLER
+ var/image/funny_image = delusions[source]
+ SET_PLANE_EXPLICIT(funny_image, ABOVE_GAME_PLANE, source)
+
+/datum/hallucination/delusion/proc/examine_name_override(datum/source, mob/living/examined, visible_name, list/name_override)
+ SIGNAL_HANDLER
+
+ if(!ishuman(examined) || !LAZYACCESS(delusions, examined))
+ return NONE
+
+ name_override[1] = delusion_name
+ return COMPONENT_EXAMINE_NAME_OVERRIDEN
+
+/datum/hallucination/delusion/proc/screentip_name_override(datum/source, list/returned_name, obj/item/held_item, atom/hovered)
+ SIGNAL_HANDLER
+
+ if(!ishuman(hovered) || !LAZYACCESS(delusions, hovered))
+ return NONE
+
+ returned_name[1] = delusion_name
+ return SCREENTIP_NAME_SET
+
/// Used for making custom delusions.
/datum/hallucination/delusion/custom
random_hallucination_weight = 0
@@ -212,6 +250,7 @@
delusion_name = "Syndicate"
affects_others = TRUE
affects_us = FALSE
+ hallucination_tier = HALLUCINATION_TIER_RARE
/datum/hallucination/delusion/preset/syndies/make_delusion_image(mob/over_who)
delusion_appearance = get_dynamic_human_appearance(
diff --git a/code/modules/hallucination/eyes_in_dark.dm b/code/modules/hallucination/eyes_in_dark.dm
new file mode 100644
index 00000000000..60f54bb80ab
--- /dev/null
+++ b/code/modules/hallucination/eyes_in_dark.dm
@@ -0,0 +1,91 @@
+/datum/hallucination/eyes_in_dark
+ random_hallucination_weight = 2
+ hallucination_tier = HALLUCINATION_TIER_COMMON
+ /// The floating eye effect, somewhere in the world
+ var/obj/effect/abstract/floating_eyes/eyes
+
+/datum/hallucination/eyes_in_dark/Destroy()
+ if(QDELETED(eyes))
+ eyes = null
+ else
+ QDEL_NULL(eyes)
+ return ..()
+
+/datum/hallucination/eyes_in_dark/start()
+ if(!hallucinator.client)
+ return FALSE
+
+ if(hallucinator.lighting_cutoff >= 2.5)
+ return FALSE
+
+ var/list/valid = list()
+ for(var/turf/open/nearby in view(hallucinator))
+ if(nearby.get_lumcount() > LIGHTING_TILE_IS_DARK)
+ continue
+ valid += nearby
+
+ if(!length(valid))
+ return FALSE
+
+ if(prob(5))
+ to_chat(hallucinator, span_warning("You feel like you're being watched..."))
+
+ var/turf/selected = pick(valid)
+ feedback_details += "Eye coords: [selected.x], [selected.y], [selected.z]"
+ eyes = new(selected, hallucinator)
+ RegisterSignal(eyes, COMSIG_QDELETING, PROC_REF(end_hallucination))
+ addtimer(CALLBACK(src, PROC_REF(end_hallucination_gracefully)), rand(60 SECONDS, 180 SECONDS))
+ return TRUE
+
+/datum/hallucination/eyes_in_dark/proc/end_hallucination_gracefully()
+ animate(eyes, alpha = 0, time = 1 SECONDS)
+ QDEL_IN(src, 1.2 SECONDS)
+
+/datum/hallucination/eyes_in_dark/proc/end_hallucination()
+ SIGNAL_HANDLER
+ if(!QDELETED(src))
+ qdel(src)
+
+/obj/effect/abstract/floating_eyes
+ mouse_opacity = MOUSE_OPACITY_TRANSPARENT
+ // Who sees the eyes?
+ var/datum/weakref/seer_ref
+
+/obj/effect/abstract/floating_eyes/Initialize(mapload, mob/seer)
+ . = ..()
+ if(isnull(seer))
+ return INITIALIZE_HINT_QDEL
+
+ seer_ref = WEAKREF(seer)
+ var/image/make_invis = image(icon = null, icon_state = null, loc = src)
+ make_invis.override = TRUE
+ add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/one_person/reversed, "hallucination", make_invis, null, seer)
+ START_PROCESSING(SSfastprocess, src)
+ update_appearance()
+
+/obj/effect/abstract/floating_eyes/Destroy()
+ STOP_PROCESSING(SSfastprocess, src)
+ return ..()
+
+/obj/effect/abstract/floating_eyes/update_overlays()
+ . = ..()
+ var/mutable_appearance/r_eye = mutable_appearance(icon = 'icons/mob/human/human_face.dmi', icon_state = "eyes_glow_r")
+ r_eye.color = COLOR_DARK_RED
+ . += r_eye
+ var/mutable_appearance/l_eye = mutable_appearance(icon = 'icons/mob/human/human_face.dmi', icon_state = "eyes_glow_l")
+ l_eye.color = COLOR_DARK_RED
+ . += l_eye
+
+ . += emissive_appearance('icons/mob/human/human_face.dmi', "eyes_glow_l", src)
+ . += emissive_appearance('icons/mob/human/human_face.dmi', "eyes_glow_r", src)
+
+/obj/effect/abstract/floating_eyes/process(seconds_per_tick)
+ var/turf/below_us = get_turf(src)
+ var/mob/seer = seer_ref?.resolve()
+ if(below_us.get_lumcount() < LIGHTING_TILE_IS_DARK || seer?.lighting_cutoff >= 2.5 || get_dist(seer, src) <= 1)
+ graceful_delete()
+
+/obj/effect/abstract/floating_eyes/proc/graceful_delete()
+ STOP_PROCESSING(SSfastprocess, src)
+ animate(src, alpha = 0, time = 0.5 SECONDS)
+ QDEL_IN(src, 0.75 SECONDS)
diff --git a/code/modules/hallucination/fake_alert.dm b/code/modules/hallucination/fake_alert.dm
index 6e10daf73aa..50ddf2e194f 100644
--- a/code/modules/hallucination/fake_alert.dm
+++ b/code/modules/hallucination/fake_alert.dm
@@ -2,6 +2,7 @@
/datum/hallucination/fake_alert
abstract_hallucination_parent = /datum/hallucination/fake_alert
random_hallucination_weight = 1
+ hallucination_tier = HALLUCINATION_TIER_COMMON
var/del_timer_id
/// The duration of the alert being thrown.
diff --git a/code/modules/hallucination/fake_chat.dm b/code/modules/hallucination/fake_chat.dm
index 10431724496..3f2d39e4661 100644
--- a/code/modules/hallucination/fake_chat.dm
+++ b/code/modules/hallucination/fake_chat.dm
@@ -1,6 +1,7 @@
/// Sends a fake chat message to the hallucinator.
/datum/hallucination/chat
random_hallucination_weight = 100
+ hallucination_tier = HALLUCINATION_TIER_COMMON
/// If TRUE, we force the message to be hallucinated from common radio. Only set in New()
var/force_radio
@@ -12,30 +13,59 @@
src.specific_message = specific_message
return ..()
+/// When passed a mob, returns a list of languages that mob could theoretically speak IF a blank slate.
+/datum/hallucination/chat/proc/get_hallucinating_spoken_languages(atom/movable/who)
+ var/override_typepath
+ if(iscarbon(who))
+ var/mob/living/carbon/human_who = who
+ override_typepath = human_who.dna?.species?.species_language_holder
+
+ var/datum/language_holder/what_they_speak = GLOB.prototype_language_holders[override_typepath || who.initial_language_holder]
+ return what_they_speak?.spoken_languages?.Copy() || list()
+
/datum/hallucination/chat/start()
var/mob/living/carbon/human/speaker
- var/datum/language/understood_language = hallucinator.get_random_understood_language()
- for(var/mob/living/carbon/nearby_human in view(hallucinator))
- if(nearby_human == hallucinator)
- continue
+ var/list/datum/language/understood_languages = hallucinator.get_language_holder().understood_languages
+ var/understood_language
- if(!speaker)
- speaker = nearby_human
- else if(get_dist(hallucinator, nearby_human) < get_dist(hallucinator, speaker))
+ if(!force_radio)
+ var/list/valid_humans = list()
+ var/list/valid_corpses = list()
+ for(var/mob/living/carbon/nearby_human in view(hallucinator))
+ if(nearby_human == hallucinator)
+ continue
+ if(nearby_human.stat == DEAD)
+ valid_corpses += nearby_human
+ continue
+ valid_humans += nearby_human
+
+ // pick a nearby human which can speak a language the hallucinator understands
+ for(var/mob/living/carbon/nearby_human in shuffle(valid_humans))
+ var/list/shared_languages = get_hallucinating_spoken_languages(nearby_human) & understood_languages
+ if(!length(shared_languages)) // future idea : have people hallucinating off their minds ignore this check
+ continue
speaker = nearby_human
+ understood_language = pick(shared_languages)
+ break
+
+ // corpses disrespect language because they're... dead
+ if(isnull(speaker) && length(valid_corpses))
+ speaker = pick(valid_corpses)
// Get person to affect if radio hallucination
- var/is_radio = !speaker || force_radio
+ var/is_radio = force_radio || isnull(speaker)
if(is_radio)
- var/list/humans = list()
+ for(var/datum/mind/crew_mind in shuffle(get_crewmember_minds()))
+ if(crew_mind == hallucinator.mind)
+ continue
+ var/list/shared_languages = get_hallucinating_spoken_languages(crew_mind.current) & understood_languages
+ if(!length(shared_languages))
+ continue
+ speaker = crew_mind.current
+ understood_language = pick(shared_languages)
+ break
- for(var/datum/mind/crew_mind in get_crewmember_minds())
- if(crew_mind.current)
- humans += crew_mind.current
- if(humans.len)
- speaker = pick(humans)
-
- if(!speaker)
+ if(isnull(speaker))
return
// Time to generate a message.
diff --git a/code/modules/hallucination/fake_death.dm b/code/modules/hallucination/fake_death.dm
index 9583418f232..7d0b603c9a4 100644
--- a/code/modules/hallucination/fake_death.dm
+++ b/code/modules/hallucination/fake_death.dm
@@ -1,6 +1,7 @@
// This hallucinations makes us suddenly think we died, stopping us / changing our hud / sending a fake deadchat message.
/datum/hallucination/death
random_hallucination_weight = 1
+ hallucination_tier = HALLUCINATION_TIER_UNCOMMON
/// Determines whether we floor them or just immobilize them
var/floor_them = TRUE
diff --git a/code/modules/hallucination/fake_message.dm b/code/modules/hallucination/fake_message.dm
index de5616d83c6..b6fc640b0b2 100644
--- a/code/modules/hallucination/fake_message.dm
+++ b/code/modules/hallucination/fake_message.dm
@@ -1,5 +1,6 @@
/datum/hallucination/message
random_hallucination_weight = 60
+ hallucination_tier = HALLUCINATION_TIER_COMMON
/datum/hallucination/message/start()
var/list/nearby_humans = list()
diff --git a/code/modules/hallucination/fake_plasmaflood.dm b/code/modules/hallucination/fake_plasmaflood.dm
index 5b3a67f5312..5019bec8912 100644
--- a/code/modules/hallucination/fake_plasmaflood.dm
+++ b/code/modules/hallucination/fake_plasmaflood.dm
@@ -5,6 +5,7 @@
/// Plasma starts flooding from the nearby vent
/datum/hallucination/fake_flood
random_hallucination_weight = 7
+ hallucination_tier = HALLUCINATION_TIER_UNCOMMON
var/list/image/flood_images = list()
var/list/obj/effect/plasma_image_holder/flood_image_holders = list()
diff --git a/code/modules/hallucination/fake_sound.dm b/code/modules/hallucination/fake_sound.dm
index 1d93be83f94..7b2e2ee8825 100644
--- a/code/modules/hallucination/fake_sound.dm
+++ b/code/modules/hallucination/fake_sound.dm
@@ -1,6 +1,7 @@
/// Hallucination that plays a fake sound somewhere nearby.
/datum/hallucination/fake_sound
abstract_hallucination_parent = /datum/hallucination/fake_sound
+ hallucination_tier = HALLUCINATION_TIER_COMMON
/// Volume of the fake sound
var/volume = 50
@@ -10,6 +11,9 @@
var/sound_type
/datum/hallucination/fake_sound/start()
+ if(!hallucinator.can_hear())
+ return FALSE
+
var/sound_to_play = islist(sound_type) ? pick(sound_type) : sound_type
play_fake_sound(random_far_turf(), sound_to_play)
feedback_details += "Sound: [sound_to_play]"
@@ -148,9 +152,31 @@
volume = 90
sound_type = 'sound/items/weapons/flash.ogg'
+/datum/hallucination/fake_sound/normal/ringtone
+ volume = 50
+
+/datum/hallucination/fake_sound/normal/ringtone/New(mob/living/hallucinator)
+ . = ..()
+ if(HAS_TRAIT(SSstation, STATION_TRAIT_PDA_GLITCHED))
+ sound_type = pick(
+ 'sound/machines/beep/twobeep_voice1.ogg',
+ 'sound/machines/beep/twobeep_voice2.ogg',
+ )
+ else
+ sound_type = 'sound/machines/beep/twobeep_high.ogg'
+
+/datum/hallucination/fake_sound/normal/ringtone/play_fake_sound(turf/source, sound_to_play = sound_type)
+ if(prob(33))
+ source = get_turf(hallucinator)
+ var/obj/item/modular_computer/pda/pda = locate() in hallucinator.get_all_contents()
+ var/datum/computer_file/program/messenger/messenger_app = locate() in pda?.stored_files
+ hallucinator.balloon_alert(hallucinator, "*[messenger_app?.ringtone || MESSENGER_RINGTONE_DEFAULT]*")
+ return ..()
+
/datum/hallucination/fake_sound/weird
abstract_hallucination_parent = /datum/hallucination/fake_sound/weird
random_hallucination_weight = 1
+ hallucination_tier = HALLUCINATION_TIER_VERYSPECIAL
/// if FALSE, we will pass "null" in as the turf source, meaning the sound will just play without direction / etc.
var/no_source = FALSE
@@ -187,6 +213,7 @@
sound_type = 'sound/effects/magic/clockwork/invoke_general.ogg'
/datum/hallucination/fake_sound/weird/creepy
+ hallucination_tier = HALLUCINATION_TIER_COMMON
/datum/hallucination/fake_sound/weird/creepy/New(mob/living/hallucinator)
. = ..()
@@ -202,6 +229,7 @@
/datum/hallucination/fake_sound/weird/game_over
sound_vary = FALSE
sound_type = 'sound/machines/compiler/compiler-failure.ogg'
+ hallucination_tier = HALLUCINATION_TIER_RARE
/datum/hallucination/fake_sound/weird/hallelujah
sound_vary = FALSE
@@ -216,8 +244,10 @@
sound_vary = FALSE
no_source = TRUE
sound_type = 'sound/runtime/hyperspace/hyperspace_begin.ogg'
+ hallucination_tier = HALLUCINATION_TIER_COMMON
/datum/hallucination/fake_sound/weird/laugher
+ hallucination_tier = HALLUCINATION_TIER_COMMON
sound_type = list(
'sound/mobs/humanoids/human/laugh/womanlaugh.ogg',
'sound/mobs/humanoids/human/laugh/manlaugh1.ogg',
@@ -228,6 +258,7 @@
volume = 15
sound_vary = FALSE
sound_type = 'sound/items/weapons/ring.ogg'
+ hallucination_tier = HALLUCINATION_TIER_RARE
/datum/hallucination/fake_sound/weird/phone/play_fake_sound(turf/source, sound_to_play)
for(var/next_ring in 1 to 3)
@@ -236,6 +267,7 @@
return ..()
/datum/hallucination/fake_sound/weird/spell
+ hallucination_tier = HALLUCINATION_TIER_RARE
sound_type = list(
'sound/effects/magic/disintegrate.ogg',
'sound/effects/magic/ethereal_enter.ogg',
@@ -247,15 +279,18 @@
)
/datum/hallucination/fake_sound/weird/spell/just_jaunt // A few antags use jaunts, so this sound specifically is fun to isolate
+ hallucination_tier = HALLUCINATION_TIER_RARE
sound_type = 'sound/effects/magic/ethereal_enter.ogg'
/datum/hallucination/fake_sound/weird/summon_sound // Heretic circle sound, notably
volume = 75
+ hallucination_tier = HALLUCINATION_TIER_RARE
sound_type = 'sound/effects/magic/castsummon.ogg'
/datum/hallucination/fake_sound/weird/tesloose
volume = 35
sound_type = 'sound/effects/magic/lightningbolt.ogg'
+ hallucination_tier = HALLUCINATION_TIER_RARE
/datum/hallucination/fake_sound/weird/tesloose/play_fake_sound(turf/source, sound_to_play)
. = ..()
@@ -265,6 +300,7 @@
/datum/hallucination/fake_sound/weird/xeno
random_hallucination_weight = 2 // Some of these are ambience sounds too
volume = 25
+ hallucination_tier = HALLUCINATION_TIER_RARE
sound_type = list(
'sound/mobs/non-humanoids/hiss/lowHiss1.ogg',
'sound/mobs/non-humanoids/hiss/lowHiss2.ogg',
@@ -283,7 +319,7 @@
sound_type = 'sound/effects/hallucinations/radio_static.ogg'
/datum/hallucination/fake_sound/weird/ice_crack
- random_hallucination_weight = 2
+ random_hallucination_weight = 0
volume = 100
no_source = TRUE
sound_type = 'sound/effects/ice_shovel.ogg'
diff --git a/code/modules/hallucination/hazard.dm b/code/modules/hallucination/hazard.dm
index 34bcee62f6a..81596ee1ea7 100644
--- a/code/modules/hallucination/hazard.dm
+++ b/code/modules/hallucination/hazard.dm
@@ -2,6 +2,7 @@
/datum/hallucination/hazard
abstract_hallucination_parent = /datum/hallucination/hazard
random_hallucination_weight = 5
+ hallucination_tier = HALLUCINATION_TIER_UNCOMMON
/// The type of effect we create
var/hazard_type = /obj/effect/client_image_holder/hallucination/danger
diff --git a/code/modules/hallucination/hud_screw.dm b/code/modules/hallucination/hud_screw.dm
index 88a9fccc078..346c25f7e99 100644
--- a/code/modules/hallucination/hud_screw.dm
+++ b/code/modules/hallucination/hud_screw.dm
@@ -2,6 +2,7 @@
/datum/hallucination/screwy_hud
abstract_hallucination_parent = /datum/hallucination/screwy_hud
random_hallucination_weight = 4
+ hallucination_tier = HALLUCINATION_TIER_COMMON
/// The type of hud we give to the hallucinator
var/screwy_hud_type = SCREWYHUD_NONE
diff --git a/code/modules/hallucination/ice_cube.dm b/code/modules/hallucination/ice_cube.dm
index d5ec89649de..40c86ffcc4f 100644
--- a/code/modules/hallucination/ice_cube.dm
+++ b/code/modules/hallucination/ice_cube.dm
@@ -1,6 +1,7 @@
/// Causes the hallucinator to believe themselves frozen in ice. Man am I glad he's frozen in there etc etc
/datum/hallucination/ice
random_hallucination_weight = 3
+ hallucination_tier = HALLUCINATION_TIER_COMMON
/// What icon file to use for our hallucinator
var/ice_icon = 'icons/effects/freeze.dmi'
diff --git a/code/modules/hallucination/inhand_fake_item.dm b/code/modules/hallucination/inhand_fake_item.dm
index 665c8811339..06e83375a3e 100644
--- a/code/modules/hallucination/inhand_fake_item.dm
+++ b/code/modules/hallucination/inhand_fake_item.dm
@@ -2,6 +2,7 @@
/datum/hallucination/fake_item
abstract_hallucination_parent = /datum/hallucination/fake_item
random_hallucination_weight = 1
+ hallucination_tier = HALLUCINATION_TIER_COMMON
/// A flag of slots this fake item can appear in.
var/valid_slots = ITEM_SLOT_HANDS|ITEM_SLOT_BELT|ITEM_SLOT_LPOCKET|ITEM_SLOT_RPOCKET
@@ -114,6 +115,24 @@
return hallucinated_item
+/datum/hallucination/fake_item/summon_guns
+ hallucination_tier = HALLUCINATION_TIER_RARE
+ valid_slots = ITEM_SLOT_HANDS
+
+/datum/hallucination/fake_item/summon_guns/make_fake_item(where_to_put_it, equip_flags)
+ template_item_type = pick(GLOB.summoned_guns)
+ . = ..()
+ hallucinator.playsound_local(get_turf(hallucinator), 'sound/effects/magic/summon_guns.ogg', 50, TRUE)
+
+/datum/hallucination/fake_item/summon_magic
+ hallucination_tier = HALLUCINATION_TIER_RARE
+ valid_slots = ITEM_SLOT_HANDS
+
+/datum/hallucination/fake_item/summon_magic/make_fake_item(where_to_put_it, equip_flags)
+ template_item_type = pick(GLOB.summoned_magic + GLOB.summoned_special_magic)
+ . = ..()
+ hallucinator.playsound_local(get_turf(hallucinator), 'sound/effects/magic/summon_magic.ogg', 50, TRUE)
+
/obj/item/hallucinated
name = "mirage"
plane = ABOVE_HUD_PLANE
diff --git a/code/modules/hallucination/mother.dm b/code/modules/hallucination/mother.dm
index 12b31b04f05..4e65aed6a54 100644
--- a/code/modules/hallucination/mother.dm
+++ b/code/modules/hallucination/mother.dm
@@ -1,6 +1,8 @@
/// Your mother appears to scold you.
/datum/hallucination/your_mother
random_hallucination_weight = 2
+ hallucination_tier = HALLUCINATION_TIER_VERYSPECIAL
+
var/obj/effect/client_image_holder/hallucination/your_mother/mother
/datum/hallucination/your_mother/start()
diff --git a/code/modules/hallucination/nearby_fake_item.dm b/code/modules/hallucination/nearby_fake_item.dm
index 33ef6b14b25..a93c9ece396 100644
--- a/code/modules/hallucination/nearby_fake_item.dm
+++ b/code/modules/hallucination/nearby_fake_item.dm
@@ -2,6 +2,7 @@
/datum/hallucination/nearby_fake_item
abstract_hallucination_parent = /datum/hallucination/nearby_fake_item
random_hallucination_weight = 1
+ hallucination_tier = HALLUCINATION_TIER_COMMON
/// The icon file to draw from for left hand icons
var/left_hand_file
diff --git a/code/modules/hallucination/on_fire.dm b/code/modules/hallucination/on_fire.dm
index 3e64618e719..048d8dcc96c 100644
--- a/code/modules/hallucination/on_fire.dm
+++ b/code/modules/hallucination/on_fire.dm
@@ -3,6 +3,7 @@
/datum/hallucination/fire
random_hallucination_weight = 3
+ hallucination_tier = HALLUCINATION_TIER_UNCOMMON
/// Are we currently burning our mob?
var/active = TRUE
@@ -27,21 +28,29 @@
/// How long have we spent on fire?
var/time_spent = 0
-/datum/hallucination/fire/New(mob/living/hallucinator)
- if(ismonkey(hallucinator))
- fire_icon_state = "monkey_big_fire"
+ var/fake_firestacks = 0
- else if(!ishuman(hallucinator))
- fire_icon_state = "generic_fire"
+/datum/hallucination/fire/proc/make_overlay()
+ var/mutable_appearance/real_overlay = hallucinator.get_fire_overlay(fake_firestacks)
+ if(!real_overlay)
+ return null
+ if(real_overlay.icon_state == fire_overlay?.icon_state)
+ return fire_overlay
- return ..()
+ var/image/new_overlay = image(real_overlay.icon, hallucinator, real_overlay.icon_state, real_overlay.layer)
+ new_overlay.appearance_flags = real_overlay.appearance_flags
+ return new_overlay
/datum/hallucination/fire/start()
- fire_overlay = image(fire_icon, hallucinator, fire_icon_state, ABOVE_MOB_LAYER)
- SET_PLANE_EXPLICIT(fire_overlay, ABOVE_GAME_PLANE, hallucinator)
+ fake_firestacks = rand(5, 15)
+ fire_overlay = make_overlay()
+ if(!fire_overlay)
+ return FALSE
+
hallucinator.client?.images |= fire_overlay
to_chat(hallucinator, span_userdanger("You're set on fire!"))
- hallucinator.throw_alert(ALERT_FIRE, /atom/movable/screen/alert/fire, override = TRUE)
+ var/atom/movable/screen/alert/fire/fake/alert = hallucinator.throw_alert(ALERT_FIRE, /atom/movable/screen/alert/fire/fake, override = TRUE)
+ alert.hallucination_weakref = WEAKREF(src)
times_to_lower_stamina = rand(5, 10)
addtimer(CALLBACK(src, PROC_REF(start_expanding)), 2 SECONDS)
return TRUE
@@ -66,8 +75,15 @@
if(QDELETED(src))
return
- if(hallucinator.fire_stacks <= 0)
+ fake_firestacks -= (0.25 * seconds_per_tick)
+ if(fake_firestacks <= 0)
clear_fire()
+ else
+ var/new_overlay = make_overlay()
+ if(new_overlay && new_overlay != fire_overlay)
+ hallucinator.client?.images -= fire_overlay
+ fire_overlay = new_overlay
+ hallucinator.client?.images |= fire_overlay
time_spent += seconds_per_tick
@@ -100,6 +116,8 @@
/datum/hallucination/fire/proc/update_temp()
if(stage <= 0)
hallucinator.clear_alert(ALERT_TEMPERATURE, clear_override = TRUE)
+ if(!active)
+ qdel(src)
else
hallucinator.clear_alert(ALERT_TEMPERATURE, clear_override = TRUE)
hallucinator.throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/hot, stage, override = TRUE)
@@ -117,3 +135,11 @@
#undef RAISE_FIRE_COUNT
#undef RAISE_FIRE_TIME
+
+/// This alert is thrown when hallucinating fire
+/atom/movable/screen/alert/fire/fake
+ /// We need to track the original hallucination so we can pass it to the status effect
+ var/datum/weakref/hallucination_weakref
+
+/atom/movable/screen/alert/fire/fake/handle_stop_drop_roll(mob/living/roller)
+ return !!roller.apply_status_effect(/datum/status_effect/stop_drop_roll/hallucinating, hallucination_weakref)
diff --git a/code/modules/hallucination/screwy_health_doll.dm b/code/modules/hallucination/screwy_health_doll.dm
index 2a8eeba16e2..35f7356b4d4 100644
--- a/code/modules/hallucination/screwy_health_doll.dm
+++ b/code/modules/hallucination/screwy_health_doll.dm
@@ -1,6 +1,7 @@
///Causes the target to see incorrect health damages on the healthdoll
/datum/hallucination/fake_health_doll
random_hallucination_weight = 12
+ hallucination_tier = HALLUCINATION_TIER_COMMON
/// The duration of the hallucination
var/duration
diff --git a/code/modules/hallucination/shock.dm b/code/modules/hallucination/shock.dm
index 5c99328dafb..85f144b050e 100644
--- a/code/modules/hallucination/shock.dm
+++ b/code/modules/hallucination/shock.dm
@@ -1,6 +1,7 @@
/// Causes a fake "zap" to the hallucinator.
/datum/hallucination/shock
- random_hallucination_weight = 1
+ random_hallucination_weight = 1 // really low weight, as it also has a snowflake check to trigger when bumping airlocks
+ hallucination_tier = HALLUCINATION_TIER_COMMON
var/electrocution_icon = 'icons/mob/human/human.dmi'
var/electrocution_icon_state = "electrocuted_base"
diff --git a/code/modules/hallucination/station_message.dm b/code/modules/hallucination/station_message.dm
index 55b44d18463..7f3ebdc6a54 100644
--- a/code/modules/hallucination/station_message.dm
+++ b/code/modules/hallucination/station_message.dm
@@ -1,6 +1,7 @@
/datum/hallucination/station_message
abstract_hallucination_parent = /datum/hallucination/station_message
random_hallucination_weight = 1
+ hallucination_tier = HALLUCINATION_TIER_RARE
/datum/hallucination/station_message/start()
qdel(src) // To be implemented by subtypes, call parent for easy cleanup
diff --git a/code/modules/hallucination/stray_bullet.dm b/code/modules/hallucination/stray_bullet.dm
index 33462d2ab43..5641b6e8cfc 100644
--- a/code/modules/hallucination/stray_bullet.dm
+++ b/code/modules/hallucination/stray_bullet.dm
@@ -1,6 +1,7 @@
/// Shoots a random, fake projectile to the hallucinator
/datum/hallucination/stray_bullet
random_hallucination_weight = 7
+ hallucination_tier = HALLUCINATION_TIER_UNCOMMON
/datum/hallucination/stray_bullet/start()
var/list/turf/starting_locations = list()
@@ -175,8 +176,8 @@
return
var/image/hit_effect = image('icons/effects/blood.dmi', hit_atom, is_wall ? hal_impact_effect_wall : hal_impact_effect, ABOVE_MOB_LAYER)
- hit_effect.pixel_x = hit_atom.pixel_x + rand(-4,4)
- hit_effect.pixel_y = hit_atom.pixel_y + rand(-4,4)
+ hit_effect.pixel_w = hit_atom.pixel_x + rand(-4,4)
+ hit_effect.pixel_z = hit_atom.pixel_y + rand(-4,4)
parent.hallucinator.client.images |= hit_effect
addtimer(CALLBACK(src, PROC_REF(clean_up_hit), hit_effect), is_wall ? hit_duration_wall : hit_duration)
diff --git a/code/modules/hallucination/telepathy.dm b/code/modules/hallucination/telepathy.dm
new file mode 100644
index 00000000000..df161579341
--- /dev/null
+++ b/code/modules/hallucination/telepathy.dm
@@ -0,0 +1,36 @@
+/datum/hallucination/telepathy
+ random_hallucination_weight = 4
+ hallucination_tier = HALLUCINATION_TIER_COMMON
+
+/datum/hallucination/telepathy/start()
+ var/datum/action/cooldown/spell/list_target/telepathy/mimiced_type = pick(typesof(/datum/action/cooldown/spell/list_target/telepathy))
+ hallucinator.balloon_alert(hallucinator, "you hear a voice")
+ to_chat(hallucinator, "\
+ You hear a voice in your head... \
+ [get_telepath_message()] \
+ ")
+ return TRUE
+
+/datum/hallucination/telepathy/proc/get_telepath_message()
+ if(prob(0.001))
+ return "horse"
+
+ var/memo = pick(
+ pick_list_replacements(HALLUCINATION_FILE, "advice"),
+ pick_list_replacements(HALLUCINATION_FILE, "aggressive"),
+ pick_list_replacements(HALLUCINATION_FILE, "conversation"),
+ pick_list_replacements(HALLUCINATION_FILE, "didyouhearthat"),
+ pick_list_replacements(HALLUCINATION_FILE, "doubt"),
+ pick_list_replacements(HALLUCINATION_FILE, "escape"),
+ pick_list_replacements(HALLUCINATION_FILE, "getout"),
+ pick_list_replacements(HALLUCINATION_FILE, "greetings"),
+ pick_list_replacements(HALLUCINATION_FILE, "suspicion"),
+ )
+ var/names = pick(
+ first_name(hallucinator.name),
+ last_name(hallucinator.name),
+ first_name(hallucinator.real_name),
+ last_name(hallucinator.real_name),
+ )
+
+ return replacetext(memo, "%TARGETNAME%", names)
diff --git a/code/modules/hallucination/xeno_attack.dm b/code/modules/hallucination/xeno_attack.dm
index 0d8b15490d9..33ebc6e593c 100644
--- a/code/modules/hallucination/xeno_attack.dm
+++ b/code/modules/hallucination/xeno_attack.dm
@@ -1,6 +1,7 @@
/// Xeno crawls from nearby vent, jumps at you, and goes back in.
/datum/hallucination/xeno_attack
random_hallucination_weight = 2
+ hallucination_tier = HALLUCINATION_TIER_RARE
/datum/hallucination/xeno_attack/start()
var/turf/xeno_attack_source
diff --git a/code/modules/hydroponics/grown/chili.dm b/code/modules/hydroponics/grown/chili.dm
index 1d9aaa8468e..c6c5f0d9724 100644
--- a/code/modules/hydroponics/grown/chili.dm
+++ b/code/modules/hydroponics/grown/chili.dm
@@ -25,7 +25,7 @@
desc = "It's spicy! Wait... IT'S BURNING ME!!"
icon_state = "chilipepper"
bite_consumption_mod = 2
- foodtypes = FRUIT
+ foodtypes = VEGETABLES
wine_power = 20
// Ice Chili
@@ -51,7 +51,7 @@
desc = "It's a mutant strain of chili."
icon_state = "icepepper"
bite_consumption_mod = 5
- foodtypes = FRUIT
+ foodtypes = VEGETABLES
wine_power = 30
// Ghost Chili
@@ -78,7 +78,7 @@
desc = "It seems to be vibrating gently."
icon_state = "ghostchilipepper"
bite_consumption_mod = 5
- foodtypes = FRUIT
+ foodtypes = VEGETABLES
wine_power = 50
// Bell Pepper
@@ -103,7 +103,7 @@
name = "bell pepper"
desc = "A big mild pepper that's good for many things."
icon_state = "bell_pepper"
- foodtypes = FRUIT
+ foodtypes = VEGETABLES
/obj/item/food/grown/bell_pepper/make_bakeable()
AddComponent(/datum/component/bakeable, /obj/item/food/roasted_bell_pepper, rand(15 SECONDS, 25 SECONDS), TRUE, TRUE)
diff --git a/code/modules/hydroponics/grown/citrus.dm b/code/modules/hydroponics/grown/citrus.dm
index 6bfc8bc203a..f23bb43305b 100644
--- a/code/modules/hydroponics/grown/citrus.dm
+++ b/code/modules/hydroponics/grown/citrus.dm
@@ -55,7 +55,7 @@
name = "orange"
desc = "It's a tangy fruit."
icon_state = "orange"
- foodtypes = ORANGES
+ foodtypes = ORANGES | FRUIT
juice_typepath = /datum/reagent/consumable/orangejuice
distill_reagent = /datum/reagent/consumable/ethanol/triple_sec
diff --git a/code/modules/hydroponics/grown/eggplant.dm b/code/modules/hydroponics/grown/eggplant.dm
index a135c4a2cbe..bf0bb01943c 100644
--- a/code/modules/hydroponics/grown/eggplant.dm
+++ b/code/modules/hydroponics/grown/eggplant.dm
@@ -20,7 +20,7 @@
name = "eggplant"
desc = "Maybe there's a chicken inside?"
icon_state = "eggplant"
- foodtypes = FRUIT
+ foodtypes = VEGETABLES
wine_power = 20
// Egg-Plant
diff --git a/code/modules/hydroponics/grown/garlic.dm b/code/modules/hydroponics/grown/garlic.dm
index 755d0c2920a..96a32c37a45 100644
--- a/code/modules/hydroponics/grown/garlic.dm
+++ b/code/modules/hydroponics/grown/garlic.dm
@@ -18,3 +18,4 @@
icon_state = "garlic"
tastes = list("garlic" = 1)
wine_power = 10
+ foodtypes = VEGETABLES
diff --git a/code/modules/hydroponics/grown/onion.dm b/code/modules/hydroponics/grown/onion.dm
index 4287bf9eb3e..45f4d1251de 100644
--- a/code/modules/hydroponics/grown/onion.dm
+++ b/code/modules/hydroponics/grown/onion.dm
@@ -24,6 +24,7 @@
icon_state = "onion"
tastes = list("onions" = 1)
wine_power = 30
+ foodtypes = VEGETABLES
/obj/item/food/grown/onion/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/onion_slice, 2, 15, screentip_verb = "Cut")
@@ -63,6 +64,7 @@
icon_state = "onionslice"
food_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/nutriment/vitamin = 2)
w_class = WEIGHT_CLASS_TINY
+ foodtypes = VEGETABLES
/obj/item/food/onion_slice/make_bakeable()
AddComponent(/datum/component/bakeable, /obj/item/food/onionrings, rand(15 SECONDS, 20 SECONDS), TRUE, TRUE)
diff --git a/code/modules/hydroponics/grown/pumpkin.dm b/code/modules/hydroponics/grown/pumpkin.dm
index dce207302c3..edfa985b4b1 100644
--- a/code/modules/hydroponics/grown/pumpkin.dm
+++ b/code/modules/hydroponics/grown/pumpkin.dm
@@ -23,7 +23,7 @@
desc = "It's large and scary."
icon_state = "pumpkin"
bite_consumption_mod = 2
- foodtypes = FRUIT
+ foodtypes = VEGETABLES
juice_typepath = /datum/reagent/consumable/pumpkinjuice
wine_power = 20
///Which type of lantern this gourd produces when carved.
@@ -56,7 +56,6 @@
desc = "The pumpkin's toxic sibling."
icon_state = "blumpkin"
bite_consumption_mod = 3
- foodtypes = FRUIT
juice_typepath = /datum/reagent/consumable/blumpkinjuice
wine_power = 50
carved_type = /obj/item/clothing/head/utility/hardhat/pumpkinhead/blumpkin
diff --git a/code/modules/hydroponics/grown/tomato.dm b/code/modules/hydroponics/grown/tomato.dm
index 1459887d6fa..65a40fd14e6 100644
--- a/code/modules/hydroponics/grown/tomato.dm
+++ b/code/modules/hydroponics/grown/tomato.dm
@@ -22,7 +22,7 @@
desc = "I say to-mah-to, you say tom-mae-to."
icon_state = "tomato"
splat_type = /obj/effect/decal/cleanable/food/tomato_smudge
- foodtypes = FRUIT
+ foodtypes = VEGETABLES
grind_results = list(/datum/reagent/consumable/ketchup = 0)
juice_typepath = /datum/reagent/consumable/tomatojuice
distill_reagent = /datum/reagent/consumable/enzyme
@@ -46,7 +46,7 @@
icon_state = "bloodtomato"
bite_consumption_mod = 3
splat_type = /obj/effect/gibspawner/generic
- foodtypes = FRUIT | GORE
+ foodtypes = VEGETABLES | GORE
grind_results = list(/datum/reagent/consumable/ketchup = 0, /datum/reagent/blood = 0)
distill_reagent = /datum/reagent/consumable/ethanol/bloody_mary
diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm
index 40184ad4d05..52115980dea 100644
--- a/code/modules/hydroponics/hydroponics.dm
+++ b/code/modules/hydroponics/hydroponics.dm
@@ -512,7 +512,7 @@
else
var/t_growthstate = clamp(round((age / myseed.maturation) * myseed.growthstages), 1, myseed.growthstages)
plant_overlay.icon_state = "[myseed.icon_grow][t_growthstate]"
- plant_overlay.pixel_y = myseed.plant_icon_offset
+ plant_overlay.pixel_z = myseed.plant_icon_offset
return plant_overlay
/obj/machinery/hydroponics/proc/update_status_light_overlays()
@@ -894,7 +894,7 @@
else
reagent_source.reagents.trans_to(H.reagents, transfer_amount, transferred_by = user)
lastuser = WEAKREF(user)
- if(IS_EDIBLE(reagent_source) || istype(reagent_source, /obj/item/reagent_containers/pill))
+ if(IS_EDIBLE(reagent_source) || istype(reagent_source, /obj/item/reagent_containers/applicator/pill))
qdel(reagent_source)
H.update_appearance()
return 1
diff --git a/code/modules/hydroponics/plant_genes.dm b/code/modules/hydroponics/plant_genes.dm
index 56b904b560f..fa367a33188 100644
--- a/code/modules/hydroponics/plant_genes.dm
+++ b/code/modules/hydroponics/plant_genes.dm
@@ -844,8 +844,7 @@
if(!.)
return
- googly = mutable_appearance('icons/obj/service/hydroponics/harvest.dmi', "eyes")
- googly.appearance_flags = RESET_COLOR
+ googly = mutable_appearance('icons/obj/service/hydroponics/harvest.dmi', "eyes", appearance_flags = RESET_COLOR|KEEP_APART)
our_plant.add_overlay(googly)
/// Makes the plant embed on thrown impact.
diff --git a/code/modules/jobs/job_types/_job.dm b/code/modules/jobs/job_types/_job.dm
index 14c1b828760..528d0740e7b 100644
--- a/code/modules/jobs/job_types/_job.dm
+++ b/code/modules/jobs/job_types/_job.dm
@@ -256,7 +256,7 @@
/datum/job/proc/announce_head(mob/living/carbon/human/human, channels, job_title) //tells the given channel that the given mob is the new department head. See communications.dm for valid channels. // BUBBER EDIT CHANGE - ALTERNATIVE_JOB_TITLES
if(human)
//timer because these should come after the captain announcement
- SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(_addtimer), CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(aas_config_announce), /datum/aas_config_entry/newhead, list("PERSON" = human.real_name, "RANK" = job_title), null, channels, null, TRUE), 1)) // BUBBER EDIT CHANGE - ALTERNATIVE_JOB_TITLES
+ SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(_addtimer), CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(aas_config_announce), /datum/aas_config_entry/newhead, list("PERSON" = human.real_name, "RANK" = job_title), null, channels, null, TRUE), 1)) // BUBBER EDIT CHANGE - ALTERNATIVE_JOB_TITLES
//If the configuration option is set to require players to be logged as old enough to play certain jobs, then this proc checks that they are, otherwise it just returns 1
/datum/job/proc/player_old_enough(client/player)
@@ -449,7 +449,7 @@
var/obj/item/modular_computer/pda/pda = equipped.get_item_by_slot(pda_slot)
if(istype(pda))
- pda.imprint_id(equipped.real_name, equipped_job.title)
+ pda.imprint_id(equipped.real_name, equipped_job.title, card)
pda.update_ringtone(equipped_job.job_tone)
pda.UpdateDisplay()
diff --git a/code/modules/jobs/job_types/cook.dm b/code/modules/jobs/job_types/cook.dm
index 3498bffedcb..62999eac631 100644
--- a/code/modules/jobs/job_types/cook.dm
+++ b/code/modules/jobs/job_types/cook.dm
@@ -100,7 +100,7 @@
return
var/assignment = worn_id.get_trim_assignment()
if(!isnull(assignment))
- pda.imprint_id(user.real_name, assignment)
+ pda.imprint_id(user.real_name, assignment, worn_id)
/datum/outfit/job/cook/get_types_to_preload()
. = ..()
diff --git a/code/modules/jobs/job_types/head_of_personnel.dm b/code/modules/jobs/job_types/head_of_personnel.dm
index ed35cbf365f..c2815993551 100644
--- a/code/modules/jobs/job_types/head_of_personnel.dm
+++ b/code/modules/jobs/job_types/head_of_personnel.dm
@@ -55,7 +55,7 @@
name = "Head of Personnel"
jobtype = /datum/job/head_of_personnel
- id = /obj/item/card/id/advanced/silver
+ id = /obj/item/card/id/advanced/platinum
id_trim = /datum/id_trim/job/head_of_personnel
uniform = /obj/item/clothing/under/rank/civilian/head_of_personnel
backpack_contents = list(
diff --git a/code/modules/jobs/job_types/security_officer.dm b/code/modules/jobs/job_types/security_officer.dm
index 0dc68dc337c..d94760a1c95 100644
--- a/code/modules/jobs/job_types/security_officer.dm
+++ b/code/modules/jobs/job_types/security_officer.dm
@@ -135,7 +135,7 @@ GLOBAL_LIST_EMPTY(security_officer_distribution)
var/obj/item/modular_computer/pda/pda = spawning.get_item_by_slot(ITEM_SLOT_BELT)
var/assignment = worn_id.get_trim_assignment()
if(istype(pda) && !isnull(assignment))
- pda.imprint_id(spawning.real_name, assignment)
+ pda.imprint_id(spawning.real_name, assignment, worn_id)
var/spawn_point = pick(LAZYACCESS(GLOB.department_security_spawns, department))
diff --git a/code/modules/keybindings/setup.dm b/code/modules/keybindings/setup.dm
index d239c48d9ce..2eec6712a46 100644
--- a/code/modules/keybindings/setup.dm
+++ b/code/modules/keybindings/setup.dm
@@ -33,12 +33,6 @@
var/command = macro_set[key]
winset(src, "default-[REF(key)]", "parent=default;name=[key];command=[command]")
- //Reactivate any active tgui windows mouse passthroughs macros
- for(var/datum/tgui_window/window in tgui_windows)
- if(window.mouse_event_macro_set)
- window.mouse_event_macro_set = FALSE
- window.set_mouse_macro()
-
update_special_keybinds()
/// Manually clears any held keys, in case due to lag or other undefined behavior a key gets stuck.
diff --git a/code/modules/library/bibles.dm b/code/modules/library/bibles.dm
index 4c31092199d..b14c9baa56b 100644
--- a/code/modules/library/bibles.dm
+++ b/code/modules/library/bibles.dm
@@ -204,25 +204,30 @@ GLOBAL_LIST_INIT(bibleitemstates, list(
/obj/item/book/bible/proc/bless(mob/living/blessed, mob/living/user)
if(GLOB.religious_sect)
return GLOB.religious_sect.sect_bless(blessed,user)
+
if(!ishuman(blessed))
- return
+ return BLESSING_FAILED
+
var/mob/living/carbon/human/built_in_his_image = blessed
for(var/obj/item/bodypart/bodypart as anything in built_in_his_image.bodyparts)
if(!IS_ORGANIC_LIMB(bodypart))
balloon_alert(user, "can't heal inorganic!")
- return FALSE
+ return BLESSING_IGNORED
var/heal_amt = 10
var/list/hurt_limbs = built_in_his_image.get_damaged_bodyparts(1, 1, BODYTYPE_ORGANIC)
- if(length(hurt_limbs))
- for(var/obj/item/bodypart/affecting as anything in hurt_limbs)
- if(affecting.heal_damage(heal_amt, heal_amt, required_bodytype = BODYTYPE_ORGANIC))
- built_in_his_image.update_damage_overlays()
- built_in_his_image.visible_message(span_notice("[user] heals [built_in_his_image] with the power of [deity_name]!"))
- to_chat(built_in_his_image, span_boldnotice("May the power of [deity_name] compel you to be healed!"))
- playsound(built_in_his_image, SFX_PUNCH, 25, TRUE, -1)
- built_in_his_image.add_mood_event("blessing", /datum/mood_event/blessing)
- return TRUE
+ if(!length(hurt_limbs))
+ return BLESSING_IGNORED
+
+ for(var/obj/item/bodypart/affecting as anything in hurt_limbs)
+ if(affecting.heal_damage(heal_amt, heal_amt, required_bodytype = BODYTYPE_ORGANIC))
+ built_in_his_image.update_damage_overlays()
+
+ built_in_his_image.visible_message(span_notice("[user] heals [built_in_his_image] with the power of [deity_name]!"))
+ to_chat(built_in_his_image, span_boldnotice("May the power of [deity_name] compel you to be healed!"))
+ playsound(built_in_his_image, SFX_PUNCH, 25, TRUE, -1)
+ built_in_his_image.add_mood_event("blessing", /datum/mood_event/blessing)
+ return BLESSING_SUCCESS
/obj/item/book/bible/attack(mob/living/target_mob, mob/living/carbon/human/user, params, heal_mode = TRUE)
if(!ISADVANCEDTOOLUSER(user))
@@ -244,7 +249,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list(
return ..()
if(target_mob.stat == DEAD)
- if(!GLOB.religious_sect?.sect_dead_bless(target_mob, user))
+ if(GLOB.religious_sect?.sect_dead_bless(target_mob, user) == BLESSING_FAILED)
target_mob.visible_message(span_danger("[user] smacks [target_mob]'s lifeless corpse with [src]."))
playsound(target_mob, SFX_PUNCH, 25, TRUE, -1)
return
@@ -256,9 +261,13 @@ GLOBAL_LIST_INIT(bibleitemstates, list(
var/smack_chance = DEFAULT_SMACK_CHANCE
if(GLOB.religious_sect)
smack_chance = GLOB.religious_sect.smack_chance
- var/success = !prob(smack_chance) && bless(target_mob, user)
- if(success)
- return
+
+ if(!prob(smack_chance))
+ var/bless_result = bless(target_mob, user)
+ if (bless_result != BLESSING_FAILED)
+ SEND_SIGNAL(target_mob, COMSIG_LIVING_BLESSED, user, src, bless_result)
+ return
+
if(iscarbon(target_mob))
var/mob/living/carbon/carbon_target = target_mob
if(!istype(carbon_target.head, /obj/item/clothing/head/helmet))
diff --git a/code/modules/library/bookcase.dm b/code/modules/library/bookcase.dm
index 004db281c75..aefd3e1e607 100644
--- a/code/modules/library/bookcase.dm
+++ b/code/modules/library/bookcase.dm
@@ -17,7 +17,9 @@
/// When enabled, books_to_load number of random books will be generated for this bookcase
var/load_random_books = FALSE
/// The category of books to pick from when populating random books.
- var/random_category = null
+ var/random_category = BOOK_CATEGORY_RANDOM
+ /// Probability that a category will be changed to random regardless of what it was set to.
+ var/category_prob = 25
/// How many random books to generate.
var/books_to_load = 0
@@ -51,7 +53,29 @@
//Loads a random selection of books in from the db, adds a copy of their info to a global list
//To send to library consoles as a starting inventory
if(load_random_books)
- create_random_books(books_to_load, src, FALSE, random_category)
+ var/randomizing_categories = prob(category_prob) || random_category == BOOK_CATEGORY_RANDOM
+ // We only need to run this special logic if we're randomizing a non-adult bookshelf
+ if(randomizing_categories && random_category != BOOK_CATEGORY_ADULT)
+ // Category is manually randomized rather than using BOOK_CATEGORY_RANDOM
+ // So we can exclude adult books in non-adult bookshelves
+ // And also weight the prime category more heavily
+ var/list/category_pool = list(
+ BOOK_CATEGORY_FICTION,
+ BOOK_CATEGORY_NONFICTION,
+ BOOK_CATEGORY_REFERENCE,
+ BOOK_CATEGORY_RELIGION,
+ )
+ if(random_category != BOOK_CATEGORY_RANDOM)
+ category_pool += random_category
+ var/sub_books_to_load = books_to_load
+ while(sub_books_to_load > 0 && length(category_pool) > 0)
+ var/cat_amount = min(rand(1, 2), sub_books_to_load)
+ sub_books_to_load -= cat_amount
+ create_random_books(amount = cat_amount, location = src, category = pick_n_take(category_pool))
+ // Otherwise we can just let the proc handle everything, it will even do randomization for us
+ else
+ create_random_books(amount = books_to_load, location = src, category = randomizing_categories ? BOOK_CATEGORY_RANDOM : random_category)
+
after_random_load()
update_appearance() //Make sure you look proper
diff --git a/code/modules/library/random_books.dm b/code/modules/library/random_books.dm
index 3dcdff50a58..c0a2725638c 100644
--- a/code/modules/library/random_books.dm
+++ b/code/modules/library/random_books.dm
@@ -11,7 +11,7 @@
/obj/item/book/random
icon_state = "random_book"
/// The category of books to pick from when creating this book.
- var/random_category = null
+ var/random_category = BOOK_CATEGORY_RANDOM
/// If this book has already been 'generated' yet.
var/random_loaded = FALSE
@@ -21,7 +21,9 @@
/obj/item/book/random/attack_self()
if(!random_loaded)
- create_random_books(1, loc, TRUE, random_category, src)
+ // Adult books are excluded unless explicitly set
+ var/loaded_category = random_category == BOOK_CATEGORY_RANDOM ? pick(BOOK_CATEGORY_FICTION, BOOK_CATEGORY_NONFICTION, BOOK_CATEGORY_RELIGION, BOOK_CATEGORY_REFERENCE) : random_category
+ create_random_books(amount = 1, location = loc, fail_loud = TRUE, category = loaded_category, existing_book = src)
random_loaded = TRUE
return ..()
@@ -36,7 +38,18 @@
books_to_load += pick(-1,-1,0,1,1)
update_appearance()
-/proc/create_random_books(amount, location, fail_loud = FALSE, category = null, obj/item/book/existing_book)
+/**
+ * Create a random book or books.
+ *
+ * * amount: How many books to create.
+ * * location: Where to create the books.
+ * * fail_loud: If TRUE, will create a book with an error message if the database fails.
+ * * category: The category of books to pick from.
+ * If null or BOOK_CATEGORY_RANDOM, will pick from any category on a per-book basis.
+ * * existing_book: If set, will use this book object instead of creating a new one.
+ * Note passing any amount above 1 with an existing_book will still only create one book.
+ */
+/proc/create_random_books(amount = 1, atom/location, fail_loud = FALSE, category = BOOK_CATEGORY_RANDOM, obj/item/book/existing_book)
. = list()
if(!isnum(amount) || amount<1)
return
@@ -45,7 +58,7 @@
var/error_text = "There once was a book from Nantucket But the database failed us, so f*$! it. I tried to be good to you Now this is an I.O.U If you're feeling entitled, well, stuff it!~ "
existing_book.book_data = new("Strange Book", "???", error_text)
return
- if(prob(25))
+ if(category == BOOK_CATEGORY_RANDOM)
category = null
var/datum/db_query/query_get_random_books = SSdbcore.NewQuery({"
SELECT title, author, content
@@ -70,7 +83,7 @@
/obj/structure/bookcase/random/fiction
name = "bookcase (Fiction)"
- random_category = "Fiction"
+ random_category = BOOK_CATEGORY_FICTION
///have we spawned the chuuni granter
var/static/chuuni_book_spawned = FALSE
@@ -81,19 +94,19 @@
/obj/structure/bookcase/random/nonfiction
name = "bookcase (Non-Fiction)"
- random_category = "Non-fiction"
+ random_category = BOOK_CATEGORY_NONFICTION
/obj/structure/bookcase/random/religion
name = "bookcase (Religion)"
- random_category = "Religion"
+ random_category = BOOK_CATEGORY_RELIGION
/obj/structure/bookcase/random/adult
name = "bookcase (Adult)"
- random_category = "Adult"
+ random_category = BOOK_CATEGORY_ADULT
/obj/structure/bookcase/random/reference
name = "bookcase (Reference)"
- random_category = "Reference"
+ random_category = BOOK_CATEGORY_REFERENCE
///Chance to spawn a random manual book
var/ref_book_prob = 20
diff --git a/code/modules/library/skill_learning/job_skillchips/chef.dm b/code/modules/library/skill_learning/job_skillchips/chef.dm
index e457d8773a0..a39342803d8 100644
--- a/code/modules/library/skill_learning/job_skillchips/chef.dm
+++ b/code/modules/library/skill_learning/job_skillchips/chef.dm
@@ -11,13 +11,13 @@
/obj/item/skillchip/job/chef/Initialize(mapload)
. = ..()
- style = new
+ style = new(src)
style.refresh_valid_areas()
/obj/item/skillchip/job/chef/on_activate(mob/living/carbon/user, silent = FALSE)
. = ..()
- style.teach(user, make_temporary = TRUE)
+ style.teach(user)
/obj/item/skillchip/job/chef/on_deactivate(mob/living/carbon/user, silent = FALSE)
- style.fully_remove(user)
+ style.unlearn(user)
return ..()
diff --git a/code/modules/lighting/lighting_corner.dm b/code/modules/lighting/lighting_corner.dm
index 912a586bc3b..4c35a8f2bb3 100644
--- a/code/modules/lighting/lighting_corner.dm
+++ b/code/modules/lighting/lighting_corner.dm
@@ -201,13 +201,13 @@
var/turf/draw_to = master_SW || master_NE || master_SE || master_NW
var/mutable_appearance/display = mutable_appearance('icons/turf/debug.dmi', "corner_color", LIGHT_DEBUG_LAYER, draw_to, BALLOON_CHAT_PLANE)
if(x > draw_to.x)
- display.pixel_x = 16
+ display.pixel_w = 16
else
- display.pixel_x = -16
+ display.pixel_w = -16
if(y > draw_to.y)
- display.pixel_y = 16
+ display.pixel_z = 16
else
- display.pixel_y = -16
+ display.pixel_z = -16
display.color = rgb(cache_r * 255, cache_g * 255, cache_b * 255)
diff --git a/code/modules/lighting/lighting_source.dm b/code/modules/lighting/lighting_source.dm
index f2c3be93143..c3537d5dcd0 100644
--- a/code/modules/lighting/lighting_source.dm
+++ b/code/modules/lighting/lighting_source.dm
@@ -70,7 +70,7 @@ GLOBAL_LIST_EMPTY(lighting_sheets)
update()
if(GLOB.light_debug_enabled)
- source_atom.debug()
+ source_atom.debug_lights()
/datum/light_source/Destroy(force)
remove_lum()
diff --git a/code/modules/loadout/categories/neck.dm b/code/modules/loadout/categories/neck.dm
index ab28537f20c..9a98870975c 100644
--- a/code/modules/loadout/categories/neck.dm
+++ b/code/modules/loadout/categories/neck.dm
@@ -39,8 +39,6 @@
name = "Necktie (Loose)"
item_path = /obj/item/clothing/neck/tie/detective
-/* BUBBER EDIT REMOVAL - duplicate of /datum/loadout_item/neck/bowtie_black
/datum/loadout_item/neck/bowtie
name = "Bowtie"
item_path = /obj/item/clothing/neck/bowtie
-BUBBER EDIT END */
diff --git a/code/modules/loadout/categories/pocket.dm b/code/modules/loadout/categories/pocket.dm
index 8f4348f5921..cb75e8ca9bb 100644
--- a/code/modules/loadout/categories/pocket.dm
+++ b/code/modules/loadout/categories/pocket.dm
@@ -43,41 +43,75 @@
return ..()
-/datum/loadout_item/pocket_items/lipstick_black
- name = "Lipstick (Black)"
- item_path = /obj/item/lipstick/black
- additional_displayed_text = list("Black")
-
-/datum/loadout_item/pocket_items/lipstick_blue
- name = "Lipstick (Blue)"
- item_path = /obj/item/lipstick/blue
- additional_displayed_text = list("Blue")
-
-/datum/loadout_item/pocket_items/lipstick_green
- name = "Lipstick (Green)"
- item_path = /obj/item/lipstick/green
- additional_displayed_text = list("Green")
-
-/datum/loadout_item/pocket_items/lipstick_jade
- name = "Lipstick (Jade)"
- item_path = /obj/item/lipstick/jade
- additional_displayed_text = list("Jade")
-
-/datum/loadout_item/pocket_items/lipstick_purple
- name = "Lipstick (Purple)"
- item_path = /obj/item/lipstick/purple
- additional_displayed_text = list("Purple")
-
-/datum/loadout_item/pocket_items/lipstick_red
- name = "Lipstick (Red)"
+/datum/loadout_item/pocket_items/lipstick
+ name = "Lipstick"
item_path = /obj/item/lipstick
- additional_displayed_text = list("Red")
+ additional_displayed_text = list("Recolorable")
-/datum/loadout_item/pocket_items/lipstick_white
- name = "Lipstick (White)"
- item_path = /obj/item/lipstick/white
- additional_displayed_text = list("White")
/* SKYRAT EDIT REMOVAL
+/datum/loadout_item/pocket_items/lipstick/on_equip_item(
+ obj/item/lipstick/equipped_item,
+ datum/preferences/preference_source,
+ list/preference_list,
+ mob/living/carbon/human/equipper,
+ visuals_only,
+)
+ . = ..()
+ var/picked_style = style_to_style(preference_list[item_path]?[INFO_LAYER])
+ var/picked_color = preference_list[item_path]?[INFO_GREYSCALE] || /obj/item/lipstick::lipstick_color
+ if(istype(equipped_item)) // can be null for visuals_only
+ equipped_item.style = picked_style
+ equipped_item.lipstick_color = picked_color
+ equipper.update_lips(picked_style, picked_color)
+
+/// Converts style (readable) to style (internal)
+/datum/loadout_item/pocket_items/lipstick/proc/style_to_style(style)
+ switch(style)
+ if(UPPER_LIP)
+ return "lipstick_upper"
+ if(LOWER_LIP)
+ return "lipstick_lower"
+ return "lipstick"
+
+/datum/loadout_item/pocket_items/lipstick/get_ui_buttons()
+ . = ..()
+ UNTYPED_LIST_ADD(., list(
+ "label" = "Style",
+ "act_key" = "select_lipstick_style",
+ "button_icon" = FA_ICON_ARROWS_ROTATE,
+ "active_key" = INFO_LAYER,
+ ))
+ UNTYPED_LIST_ADD(., list(
+ "label" = "Color",
+ "act_key" = "select_lipstick_color",
+ "button_icon" = FA_ICON_PALETTE,
+ "active_key" = INFO_GREYSCALE,
+ ))
+
+/datum/loadout_item/pocket_items/lipstick/handle_loadout_action(datum/preference_middleware/loadout/manager, mob/user, action, params)
+ switch(action)
+ if("select_lipstick_style")
+ var/list/their_loadout = manager.preferences.read_preference(/datum/preference/loadout)
+ var/old_style = their_loadout?[item_path]?[INFO_LAYER] || MIDDLE_LIP
+ var/chosen = tgui_input_list(user, "Pick a lipstick style. (This determines where it sits on your sprite.)", "Pick a style", list(UPPER_LIP, MIDDLE_LIP, LOWER_LIP), old_style)
+ their_loadout = manager.preferences.read_preference(/datum/preference/loadout) // after sleep: sanity check
+ if(their_loadout?[item_path]) // Validate they still have it equipped
+ their_loadout[item_path][INFO_LAYER] = chosen
+ manager.preferences.update_preference(GLOB.preference_entries[/datum/preference/loadout], their_loadout)
+ return TRUE // Update UI
+
+ if("select_lipstick_color")
+ var/list/their_loadout = manager.preferences.read_preference(/datum/preference/loadout)
+ var/old_color = their_loadout?[item_path]?[INFO_GREYSCALE] || /obj/item/lipstick::lipstick_color
+ var/chosen = input(user, "Pick a lipstick color.", "Pick a color", old_color) as color|null
+ their_loadout = manager.preferences.read_preference(/datum/preference/loadout) // after sleep: sanity check
+ if(their_loadout?[item_path]) // Validate they still have it equipped
+ their_loadout[item_path][INFO_GREYSCALE] = chosen
+ manager.preferences.update_preference(GLOB.preference_entries[/datum/preference/loadout], their_loadout)
+ return TRUE // Update UI
+
+ return ..()
+
/datum/loadout_item/pocket_items/plush
abstract_type = /datum/loadout_item/pocket_items/plush
can_be_named = TRUE
@@ -197,11 +231,9 @@
item_path = /obj/item/dice/d00
*/
-/* BUBBER EDIT REMOVAL BEGIN - duplicate of /datum/loadout_item/pocket_items/zippolighter
/datum/loadout_item/pocket_items/lighter
name = "Zippo Lighter"
item_path = /obj/item/lighter
-BUBBER EDIT REMOVAL END */
/datum/loadout_item/pocket_items/flask
name = "Pocket Flask"
@@ -223,8 +255,55 @@ BUBBER EDIT REMOVAL END */
name = "Poster (Pinup)"
item_path = /obj/item/poster/random_contraband/pinup
-/* BUBBER EDIT REMOVAL BEGIN - duplicate of /datum/loadout_item/accessory/wallet
+/datum/loadout_item/pocket_items/holodisk
+ name = "Holodisk"
+ item_path = /obj/item/disk/holodisk
+
+// The wallet loadout item is special, and puts the player's ID and other small items into it on initialize (fancy!)
/datum/loadout_item/pocket_items/wallet
name = "Wallet"
item_path = /obj/item/storage/wallet
-BUBBER EDIT REMOVAL END */
+
+/datum/loadout_item/pocket_items/wallet/insert_path_into_outfit(datum/outfit/outfit, mob/living/carbon/human/equipper, visuals_only = FALSE)
+ return
+
+/datum/loadout_item/pocket_items/wallet/on_equip_item(
+ obj/item/equipped_item,
+ datum/preferences/preference_source,
+ list/preference_list,
+ mob/living/carbon/human/equipper,
+ visuals_only = FALSE,
+)
+ // Do this at the very end of the setup process so we can insert quirk items and such
+ if(!visuals_only && !isdummy(equipper))
+ RegisterSignal(equipper, COMSIG_HUMAN_CHARACTER_SETUP_FINISHED, PROC_REF(apply_after_setup), override = TRUE)
+ return NONE
+
+/datum/loadout_item/pocket_items/wallet/proc/apply_after_setup(mob/living/carbon/human/source, ...)
+ SIGNAL_HANDLER
+ equip_wallet(source)
+ UnregisterSignal(source, COMSIG_HUMAN_CHARACTER_SETUP_FINISHED)
+
+/datum/loadout_item/pocket_items/wallet/proc/equip_wallet(mob/living/carbon/human/equipper)
+ var/obj/item/card/id/advanced/id_card = equipper.get_item_by_slot(ITEM_SLOT_ID)
+ if(istype(id_card, /obj/item/storage/wallet)) // Wallets station trait guard
+ return
+
+ var/obj/item/storage/wallet/wallet = new(equipper)
+ if(istype(id_card))
+ equipper.temporarilyRemoveItemFromInventory(id_card, force = TRUE)
+ equipper.equip_to_slot_if_possible(wallet, ITEM_SLOT_ID, initial = TRUE)
+ id_card.forceMove(wallet)
+
+ for(var/obj/item/thing in equipper?.back)
+ // leaves a slot free for whatever they may want
+ if(length(wallet.contents) >= wallet.atom_storage.max_slots - 1)
+ break
+ if(thing.w_class > wallet.atom_storage.max_specific_storage)
+ continue
+ wallet.atom_storage.attempt_insert(thing, override = TRUE, force = STORAGE_FULLY_LOCKED, messages = FALSE)
+
+ else
+ // They must have a PDA or some other thing in their ID slot, abort
+ if(!equipper.equip_to_slot_if_possible(wallet, slot = ITEM_SLOT_BACKPACK, initial = TRUE))
+ wallet.forceMove(equipper.drop_location())
diff --git a/code/modules/loadout/categories/shoes.dm b/code/modules/loadout/categories/shoes.dm
index e4601ce3e00..8e58dac0aa6 100644
--- a/code/modules/loadout/categories/shoes.dm
+++ b/code/modules/loadout/categories/shoes.dm
@@ -11,11 +11,9 @@
/datum/loadout_item/shoes/insert_path_into_outfit(datum/outfit/outfit, mob/living/carbon/human/equipper, visuals_only = FALSE)
outfit.shoes = item_path
-/* BUBBER EDIT REMOVAL BEGIN - duplicate of /datum/loadout_item/shoes/greyscale_sneakers
/datum/loadout_item/shoes/sneakers
name = "Sneakers (Colourable)"
item_path = /obj/item/clothing/shoes/sneakers
-BUBBER EDIT REMOVAL END */
/datum/loadout_item/shoes/sandals_laced
name = "Sandals (Velcro)"
@@ -41,8 +39,6 @@ BUBBER EDIT REMOVAL END */
name = "Boots (Cowboy, Black)"
item_path = /obj/item/clothing/shoes/cowboy/black/laced
-/* BUBBER EDIT REMOVAL BEGIN - duplicate of /datum/loadout_item/shoes/glow
/datum/loadout_item/shoes/glow_shoes
name = "Shoes (Glowing, Colourable)"
item_path = /obj/item/clothing/shoes/glow
-BUBBER EDIT REMOVAL END */
diff --git a/code/modules/loadout/loadout_helpers.dm b/code/modules/loadout/loadout_helpers.dm
index 1192dee8110..03d83e4326a 100644
--- a/code/modules/loadout/loadout_helpers.dm
+++ b/code/modules/loadout/loadout_helpers.dm
@@ -75,17 +75,13 @@
var/list/new_contents = get_all_gear()
var/update = NONE
for(var/datum/loadout_item/item as anything in loadout_datums)
- var/obj/item/equipped = locate(item.item_path) in new_contents
- if(isnull(equipped))
- continue
update |= item.on_equip_item(
- equipped_item = equipped,
+ equipped_item = locate(item.item_path) in new_contents,
preference_source = preference_source,
preference_list = preference_list,
equipper = src,
visuals_only = visuals_only,
)
-
if(update)
update_clothing(update)
diff --git a/code/modules/loadout/loadout_items.dm b/code/modules/loadout/loadout_items.dm
index 9ab9d18cb06..572b1a88f12 100644
--- a/code/modules/loadout/loadout_items.dm
+++ b/code/modules/loadout/loadout_items.dm
@@ -261,7 +261,7 @@ GLOBAL_LIST_INIT(all_loadout_categories, init_loadout_categories())
*
* Arguments:
* * preference_source - the datum/preferences our loadout item originated from - cannot be null
- * * equipper - the mob we're equipping this item onto - cannot be null
+ * * equipper - the mob we're equipping this item onto
* * visuals_only - whether or not this is only concerned with visual things (not backpack, not renaming, etc)
* * preference_list - what the raw loadout list looks like in the preferences
*
@@ -274,7 +274,8 @@ GLOBAL_LIST_INIT(all_loadout_categories, init_loadout_categories())
mob/living/carbon/human/equipper,
visuals_only = FALSE,
)
- ASSERT(!isnull(equipped_item))
+ if(isnull(equipped_item))
+ return NONE
if(!visuals_only)
ADD_TRAIT(equipped_item, TRAIT_ITEM_OBJECTIVE_BLOCKED, TRAIT_SOURCE_LOADOUT)
diff --git a/code/modules/mafia/controller.dm b/code/modules/mafia/controller.dm
index d4edbb37f41..957f7f2bc42 100644
--- a/code/modules/mafia/controller.dm
+++ b/code/modules/mafia/controller.dm
@@ -710,7 +710,7 @@ GLOBAL_LIST_INIT(mafia_role_by_alignment, setup_mafia_role_by_alignment())
var/req_players = MAFIA_MAX_PLAYER_COUNT
var/list/setup = custom_setup
if(length(setup))
- req_players = assoc_value_sum(setup)
+ req_players = counterlist_sum(setup)
var/list/filtered_keys_and_pdas = filter_players(req_players)
diff --git a/code/modules/mafia/controller_ui.dm b/code/modules/mafia/controller_ui.dm
index f45ea3a80aa..83857f66837 100644
--- a/code/modules/mafia/controller_ui.dm
+++ b/code/modules/mafia/controller_ui.dm
@@ -123,7 +123,7 @@
var/done = FALSE
while(!done)
- to_chat(usr, "You have a total player count of [assoc_value_sum(debug_setup)] in this setup.")
+ to_chat(usr, "You have a total player count of [counterlist_sum(debug_setup)] in this setup.")
var/chosen_role_name = tgui_input_list(usr, "Select a role!", "Custom Setup Creation", rolelist_dict)
if(!chosen_role_name)
return
diff --git a/code/modules/mafia/map_pieces.dm b/code/modules/mafia/map_pieces.dm
index 2d62126466a..78b2b284061 100644
--- a/code/modules/mafia/map_pieces.dm
+++ b/code/modules/mafia/map_pieces.dm
@@ -36,7 +36,7 @@
var/custom_outfit
/datum/map_template/mafia/New(path = null, rename = null, cache = FALSE)
- path = "_maps/map_files/Mafia/" + map_suffix
+ path = "_maps/minigame/mafia/" + map_suffix
return ..()
//we only have one map in unit tests for consistency.
diff --git a/code/modules/manufactorio/_manufacturing.dm b/code/modules/manufactorio/_manufacturing.dm
index 4b64d541fd2..5bf3093a92c 100644
--- a/code/modules/manufactorio/_manufacturing.dm
+++ b/code/modules/manufactorio/_manufacturing.dm
@@ -76,12 +76,12 @@
dir_offset[1] *= 32
dir_offset[2] *= 32
var/image/nonemissive = image(icon='icons/obj/doors/airlocks/station/overlays.dmi', icon_state="unres_[direction]")
- nonemissive.pixel_x = dir_offset[1]
- nonemissive.pixel_y = dir_offset[2]
+ nonemissive.pixel_w = dir_offset[1]
+ nonemissive.pixel_z = dir_offset[2]
nonemissive.color = color
var/mutable_appearance/emissive = emissive_appearance(nonemissive.icon, nonemissive.icon_state, offset_spokesman = src, alpha = nonemissive.alpha)
- emissive.pixel_y = nonemissive.pixel_y
- emissive.pixel_x = nonemissive.pixel_x
+ emissive.pixel_w = nonemissive.pixel_w
+ emissive.pixel_z = nonemissive.pixel_z
return list(nonemissive, emissive)
/// Returns whatever object it may output, or null if it cant do that
diff --git a/code/modules/manufactorio/machines/crafter.dm b/code/modules/manufactorio/machines/crafter.dm
index 6b1c9160d76..f17efc27c4e 100644
--- a/code/modules/manufactorio/machines/crafter.dm
+++ b/code/modules/manufactorio/machines/crafter.dm
@@ -104,7 +104,7 @@
var/list/prediff = get_overfloor_objects()
var/result = craftsman.construct_item(src, recipe)
if(istext(result))
- say("Crafting failed,[result]")
+ say("Crafting failed[result]")
return
var/list/diff = get_overfloor_objects() - prediff
for(var/atom/movable/diff_result as anything in diff)
diff --git a/code/modules/mapfluff/ruins/lavalandruin_code/puzzle.dm b/code/modules/mapfluff/ruins/lavalandruin_code/puzzle.dm
index 8501c21cbcc..b5d151dd04f 100644
--- a/code/modules/mapfluff/ruins/lavalandruin_code/puzzle.dm
+++ b/code/modules/mapfluff/ruins/lavalandruin_code/puzzle.dm
@@ -219,8 +219,8 @@
C.Scale(19,19)
var/mutable_appearance/puzzle_small = new(C)
puzzle_small.layer = layer + 0.1
- puzzle_small.pixel_x = 7
- puzzle_small.pixel_y = 7
+ puzzle_small.pixel_w = 7
+ puzzle_small.pixel_z = 7
add_overlay(puzzle_small)
/obj/structure/puzzle_element/update_icon(updates=ALL) // to prevent update_appearance calls from cutting the overlays and not adding them back
diff --git a/code/modules/mapfluff/ruins/spaceruin_code/forgottenship.dm b/code/modules/mapfluff/ruins/spaceruin_code/forgottenship.dm
index 21bf3da4431..bc36823ebc8 100644
--- a/code/modules/mapfluff/ruins/spaceruin_code/forgottenship.dm
+++ b/code/modules/mapfluff/ruins/spaceruin_code/forgottenship.dm
@@ -19,8 +19,8 @@ GLOBAL_VAR_INIT(fscpassword, generate_password())
products = list(
/obj/item/reagent_containers/syringe = 4,
/obj/item/healthanalyzer = 4,
- /obj/item/reagent_containers/pill/patch/libital = 5,
- /obj/item/reagent_containers/pill/patch/aiuri = 5,
+ /obj/item/reagent_containers/applicator/patch/libital = 5,
+ /obj/item/reagent_containers/applicator/patch/aiuri = 5,
/obj/item/reagent_containers/cup/bottle/multiver = 1,
/obj/item/reagent_containers/cup/bottle/syriniver = 1,
/obj/item/reagent_containers/cup/bottle/epinephrine = 3,
diff --git a/code/modules/mining/abandoned_crates.dm b/code/modules/mining/abandoned_crates.dm
index 7fa66c8a65c..a988e736936 100644
--- a/code/modules/mining/abandoned_crates.dm
+++ b/code/modules/mining/abandoned_crates.dm
@@ -188,7 +188,7 @@
new /obj/item/clothing/suit/hooded/ian_costume(src)
if(67 to 68)
var/obj/item/gibtonite/free_bomb = new /obj/item/gibtonite(src)
- free_bomb.quality = rand(1, 3)
+ free_bomb.quality = rand(GIBTONITE_QUALITY_LOW, GIBTONITE_QUALITY_HIGH)
free_bomb.GibtoniteReaction(null, "A secure loot closet has spawned a live")
if(69 to 70)
new /obj/item/stack/ore/bluespace_crystal(src, 5)
diff --git a/code/modules/mining/equipment/kinetic_crusher/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher/kinetic_crusher.dm
index e87fc7f09a1..b2b3d8720ab 100644
--- a/code/modules/mining/equipment/kinetic_crusher/kinetic_crusher.dm
+++ b/code/modules/mining/equipment/kinetic_crusher/kinetic_crusher.dm
@@ -317,7 +317,7 @@
if(QDELETED(hit_mineral))
return ..()
new /obj/effect/temp_visual/kinetic_blast(hit_mineral)
- hit_mineral.gets_drilled(firer, TRUE)
+ hit_mineral.gets_drilled(firer, 1)
if(!iscarbon(firer))
return ..()
var/mob/living/carbon/carbon_firer = firer
diff --git a/code/modules/mining/equipment/kinetic_crusher/kinetic_crusher_trophies.dm b/code/modules/mining/equipment/kinetic_crusher/kinetic_crusher_trophies.dm
index be8530a678d..7d01752982d 100644
--- a/code/modules/mining/equipment/kinetic_crusher/kinetic_crusher_trophies.dm
+++ b/code/modules/mining/equipment/kinetic_crusher/kinetic_crusher_trophies.dm
@@ -13,6 +13,8 @@
var/trophy_id
/// what type of trophies will block this trophy from being added, must be overriden
var/denied_type = /obj/item/crusher_trophy
+ /// what item will drop if you cut it with wildhunter's knife
+ var/wildhunter_drop = null
/obj/item/crusher_trophy/examine(mob/living/user)
. = ..()
diff --git a/code/modules/mining/equipment/kinetic_crusher/trophies_fauna.dm b/code/modules/mining/equipment/kinetic_crusher/trophies_fauna.dm
index 24b5dbc94f0..fdc1564004c 100644
--- a/code/modules/mining/equipment/kinetic_crusher/trophies_fauna.dm
+++ b/code/modules/mining/equipment/kinetic_crusher/trophies_fauna.dm
@@ -10,6 +10,7 @@
denied_type = /obj/item/crusher_trophy/watcher_wing
trophy_id = TROPHY_WATCHER
bonus_value = 5
+ wildhunter_drop = /obj/item/stack/sheet/sinew
/obj/item/crusher_trophy/watcher_wing/effect_desc()
return "mark detonation to prevent certain creatures from using certain attacks for [bonus_value*0.1] second\s"
@@ -33,6 +34,7 @@
icon_state = "magma_wing"
gender = NEUTER
bonus_value = 5
+ wildhunter_drop = /obj/item/stack/sheet/sinew
/obj/item/crusher_trophy/blaster_tubes/magma_wing/effect_desc()
return "mark detonation to make the next destabilizer shot deal [bonus_value] damage"
@@ -50,6 +52,7 @@
desc = "A carefully preserved frozen wing from an icewing watcher. Suitable as a trophy for a kinetic crusher."
icon_state = "ice_wing"
bonus_value = 8
+ wildhunter_drop = /obj/item/stack/sheet/sinew
//legion
/obj/item/crusher_trophy/legion_skull
@@ -58,6 +61,7 @@
icon_state = "legion_skull"
denied_type = /obj/item/crusher_trophy/legion_skull
bonus_value = 3
+ wildhunter_drop = /obj/item/organ/monster_core/regenerative_core/legion // if you killed blood drunk you can afford stabilizer potions sooo....
/obj/item/crusher_trophy/legion_skull/effect_desc()
return "a kinetic crusher to recharge [bonus_value*0.1] second\s faster"
@@ -80,6 +84,7 @@
denied_type = /obj/item/crusher_trophy/goliath_tentacle
bonus_value = 2
trophy_id = TROPHY_GOLIATH_TENTACLE
+ wildhunter_drop = /obj/item/stack/sheet/animalhide/goliath_hide
/// Your missing health is multiplied by this value to find the bonus damage
var/missing_health_ratio = 0.1
/// Amount of health you must lose to gain damage, according to the examine text. Cached so we don't recalculate it every examine.
@@ -108,6 +113,7 @@
denied_type = /obj/item/crusher_trophy/lobster_claw
trophy_id = TROPHY_LOBSTER_CLAW
bonus_value = 1
+ wildhunter_drop = /obj/item/organ/monster_core/rush_gland
/obj/item/crusher_trophy/lobster_claw/effect_desc()
return "mark detonation to briefly rebuke the target for [bonus_value] seconds"
@@ -123,6 +129,7 @@
desc = "A fang from a brimdemon's corpse."
denied_type = /obj/item/crusher_trophy/brimdemon_fang
trophy_id = TROPHY_BRIMDEMON_FANG
+ wildhunter_drop = /obj/item/organ/monster_core/brimdust_sac
/// Cartoon punching vfx
var/static/list/comic_phrases = list("BOOM", "BANG", "KABLOW", "KAPOW", "OUCH", "BAM", "KAPOW", "WHAM", "POW", "KABOOM")
@@ -141,6 +148,7 @@
icon_state = "bileworm_spewlet"
desc = "A baby bileworm. Suitable as a trophy for a kinetic crusher."
denied_type = /obj/item/crusher_trophy/bileworm_spewlet
+ wildhunter_drop = /obj/item/stack/sheet/animalhide/bileworm
///item ability that handles the effect
var/datum/action/cooldown/mob_cooldown/projectile_attack/dir_shots/spewlet/ability
@@ -171,7 +179,7 @@
/obj/item/crusher_trophy/bileworm_spewlet/on_projectile_hit_mineral(turf/closed/mineral, mob/living/user)
for(var/turf/closed/mineral/mineral_turf in RANGE_TURFS(1, mineral) - mineral)
- mineral_turf.gets_drilled(user, TRUE)
+ mineral_turf.gets_drilled(user, 1)
//yes this is a /mob_cooldown subtype being added to an item. I can't recommend you do what I'm doing
/datum/action/cooldown/mob_cooldown/projectile_attack/dir_shots/spewlet
diff --git a/code/modules/mining/equipment/kinetic_crusher/trophies_misc.dm b/code/modules/mining/equipment/kinetic_crusher/trophies_misc.dm
index f7313eb1ac3..f5817bcaed5 100644
--- a/code/modules/mining/equipment/kinetic_crusher/trophies_misc.dm
+++ b/code/modules/mining/equipment/kinetic_crusher/trophies_misc.dm
@@ -14,18 +14,18 @@
var/retool_icon = 'icons/obj/mining.dmi'
///Specifies the sprite/icon state which the crusher is changed to as an item. Should appear in the icons/obj/mining.dmi file with accompanying "lit" and "recharging" sprites
var/retool_icon_state = "crusher_sword"
- ///Specifies the icon state for the crusher's appearance in hand. Should appear in both retool_lefthand_file and retool_righthand_file, which are icons/mob/inhands/weapons/hammers_lefthand.dmi and icons/mob/inhands/weapons/hammers_righthand.dmi by default.
+ ///Specifies the icon state for the crusher's appearance in hand. Should appear in both retool_lefthand_file and retool_righthand_file.
var/retool_inhand_icon = "crusher_sword"
- ///For if the retool kit changes the projectile's appearance. The sprite should be in icons/obj/weapons/guns/projectiles.dmi
+ ///For if the retool kit changes the projectile's appearance. The sprite should be in icons/obj/weapons/guns/projectiles.dmi.
var/retool_projectile_icon = "pulse1"
- /// Specifies the left hand inhand icon file. If both this and retool_righthand_file are set, changes the inhand files and dimensions as appropriate.
+ /// Specifies the left hand inhand icon file. Don't forget to set the right hand file as well.
var/retool_lefthand_file = 'icons/mob/inhands/weapons/hammers_lefthand.dmi'
- /// Specifies the right hand inhand icon file. If both this and retool_lefthand_file are set, changes the inhand files and dimensions as appropriate.
+ /// Specifies the right hand inhand icon file. Don't forget to set the left hand file as well.
var/retool_righthand_file = 'icons/mob/inhands/weapons/hammers_righthand.dmi'
/// Specifies the X dimensions of the new inhand, only relevant with different inhand files.
- var/retool_inhand_X = 32
+ var/retool_inhand_x = 32
/// Specifies the Y dimensions of the new inhand, only relevant with different inhand files.
- var/retool_inhand_Y = 32
+ var/retool_inhand_y = 32
/obj/item/crusher_trophy/retool_kit/effect_desc()
return "the crusher to have the appearance of a sword"
@@ -39,8 +39,10 @@
pkc.icon_state = retool_icon_state
pkc.current_inhand_icon_state = retool_inhand_icon
pkc.projectile_icon = retool_projectile_icon
- pkc.inhand_x_dimension = retool_inhand_X
- pkc.inhand_y_dimension = retool_inhand_Y
+ pkc.lefthand_file = retool_lefthand_file
+ pkc.righthand_file = retool_righthand_file
+ pkc.inhand_x_dimension = retool_inhand_x
+ pkc.inhand_y_dimension = retool_inhand_y
pkc.update_appearance()
pkc.update_slot_icon()
@@ -83,8 +85,8 @@
retool_inhand_icon = "crusher_glaive"
retool_lefthand_file = 'icons/mob/inhands/64x64_lefthand.dmi'
retool_righthand_file = 'icons/mob/inhands/64x64_righthand.dmi'
- retool_inhand_X = 64
- retool_inhand_Y = 64
+ retool_inhand_x = 64
+ retool_inhand_y = 64
/obj/item/crusher_trophy/retool_kit/glaive/effect_desc()
return "the crusher to have the appearance of a glaive"
diff --git a/code/modules/mining/equipment/monster_organs/monster_organ.dm b/code/modules/mining/equipment/monster_organs/monster_organ.dm
index ccd3a08c19c..01bf553c4ca 100644
--- a/code/modules/mining/equipment/monster_organs/monster_organ.dm
+++ b/code/modules/mining/equipment/monster_organs/monster_organ.dm
@@ -208,6 +208,9 @@
SHOULD_CALL_PARENT(FALSE)
CRASH("Someone forgot to make their organ do something when you implant it.")
+/obj/item/organ/monster_core/feel_for_damage(self_aware)
+ return ""
+
/**
* Boilerplate to set the name and icon of the cooldown action.
* Makes it call 'ui_action_click' when the action is activated.
diff --git a/code/modules/mining/equipment/monster_organs/regenerative_core.dm b/code/modules/mining/equipment/monster_organs/regenerative_core.dm
index bcb7bc0455f..bcec0eb6c4e 100644
--- a/code/modules/mining/equipment/monster_organs/regenerative_core.dm
+++ b/code/modules/mining/equipment/monster_organs/regenerative_core.dm
@@ -36,7 +36,7 @@
/// Log applications and apply moodlet.
/obj/item/organ/monster_core/regenerative_core/apply_to(mob/living/target, mob/user)
- target.add_mood_event(MOOD_CATEGORY_LEGION_CORE, /datum/mood_event/healsbadman)
+ target.add_mood_event("legion_core", /datum/mood_event/healsbadman)
if (target != user)
target.visible_message(span_notice("[user] forces [target] to apply [src]... Black tendrils entangle and reinforce [target.p_them()]!"))
SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "other"))
diff --git a/code/modules/mining/fulton.dm b/code/modules/mining/fulton.dm
index 7092c8c0f76..175edfc4f80 100644
--- a/code/modules/mining/fulton.dm
+++ b/code/modules/mining/fulton.dm
@@ -111,17 +111,15 @@ GLOBAL_LIST_EMPTY(total_extraction_beacons)
var/obj/effect/extraction_holder/holder_obj = new(get_turf(thing))
holder_obj.appearance = thing.appearance
thing.forceMove(holder_obj)
- var/mutable_appearance/balloon2 = mutable_appearance('icons/effects/fulton_balloon.dmi', "fulton_expand", layer = VEHICLE_LAYER)
- balloon2.pixel_y = 10
- balloon2.appearance_flags = RESET_COLOR | RESET_ALPHA | RESET_TRANSFORM
+ var/mutable_appearance/balloon2 = mutable_appearance('icons/effects/fulton_balloon.dmi', "fulton_expand", layer = VEHICLE_LAYER, appearance_flags = RESET_COLOR | RESET_ALPHA | RESET_TRANSFORM | KEEP_APART)
+ balloon2.pixel_z = 10
holder_obj.add_overlay(balloon2)
addtimer(CALLBACK(src, PROC_REF(create_balloon), thing, user, holder_obj, balloon2), 0.4 SECONDS)
return ITEM_INTERACT_SUCCESS
/obj/item/extraction_pack/proc/create_balloon(atom/movable/thing, mob/living/user, obj/effect/extraction_holder/holder_obj, mutable_appearance/balloon2)
- var/mutable_appearance/balloon = mutable_appearance('icons/effects/fulton_balloon.dmi', "fulton_balloon", layer = VEHICLE_LAYER)
- balloon.pixel_y = 10
- balloon.appearance_flags = RESET_COLOR | RESET_ALPHA | RESET_TRANSFORM
+ var/mutable_appearance/balloon = mutable_appearance('icons/effects/fulton_balloon.dmi', "fulton_balloon", layer = VEHICLE_LAYER, appearance_flags = RESET_COLOR | RESET_ALPHA | RESET_TRANSFORM | KEEP_APART)
+ balloon.pixel_z = 10
holder_obj.cut_overlay(balloon2)
holder_obj.add_overlay(balloon)
playsound(holder_obj.loc, 'sound/items/fulton/fultext_deploy.ogg', vol = 50, vary = TRUE, extrarange = -3)
@@ -162,9 +160,8 @@ GLOBAL_LIST_EMPTY(total_extraction_beacons)
sleep(7 SECONDS)
- var/mutable_appearance/balloon3 = mutable_appearance('icons/effects/fulton_balloon.dmi', "fulton_retract", layer = VEHICLE_LAYER)
- balloon3.pixel_y = 10
- balloon3.appearance_flags = RESET_COLOR | RESET_ALPHA | RESET_TRANSFORM
+ var/mutable_appearance/balloon3 = mutable_appearance('icons/effects/fulton_balloon.dmi', "fulton_retract", layer = VEHICLE_LAYER, appearance_flags = RESET_COLOR | RESET_ALPHA | RESET_TRANSFORM | KEEP_APART)
+ balloon3.pixel_z = 10
holder_obj.cut_overlay(balloon)
holder_obj.add_overlay(balloon3)
diff --git a/code/modules/mining/lavaland/ash_flora.dm b/code/modules/mining/lavaland/ash_flora.dm
index 768427f530a..a4384dc47eb 100644
--- a/code/modules/mining/lavaland/ash_flora.dm
+++ b/code/modules/mining/lavaland/ash_flora.dm
@@ -190,6 +190,7 @@
max_integrity = 100
seed = /obj/item/seeds/lavaland/polypore
wine_power = 20
+ foodtypes = VEGETABLES
/obj/item/food/grown/ash_flora/Initialize(mapload)
. = ..()
@@ -238,24 +239,7 @@
icon_state = "cactus_fruit"
seed = /obj/item/seeds/lavaland/cactus
wine_power = 50
- special_desc_requirement = EXAMINE_CHECK_JOB //SKYRAT EDIT
- special_desc_jobs = list("Botanist") //SKYRAT EDIT
- special_desc = "This flora is very nutritious and medicinal." //SKYRAT EDIT
-
-/obj/item/food/grown/ash_flora/seraka
- name = "seraka cap"
- desc = "Small, deeply flavourful mushrooms originally native to Tizira."
- icon_state = "seraka_cap"
- seed = /obj/item/seeds/lavaland/seraka
- wine_power = 40
-
-/obj/item/food/grown/ash_flora/fireblossom
- name = "fire blossom"
- desc = "A flower from a fire blossom."
- icon_state = "fireblossom"
- slot_flags = ITEM_SLOT_HEAD
- seed = /obj/item/seeds/lavaland/fireblossom
- wine_power = 40
+ foodtypes = FRUIT
/obj/item/food/grown/ash_flora/seraka
name = "seraka cap"
diff --git a/code/modules/mining/lavaland/mining_loot/consumables.dm b/code/modules/mining/lavaland/mining_loot/consumables.dm
index 66470f8be14..58807f80a35 100644
--- a/code/modules/mining/lavaland/mining_loot/consumables.dm
+++ b/code/modules/mining/lavaland/mining_loot/consumables.dm
@@ -204,7 +204,6 @@
return
var/obj/item/organ/wings/functional/wings = new wing_type()
wings.Insert(exposed_human)
- exposed_human.dna.species.handle_mutant_bodyparts(exposed_human) // BUBBER EDIT OR BEGIN
if(had_wings)
to_chat(exposed_human, span_userdanger("A terrible pain travels down your back as your wings change shape!"))
else
@@ -224,7 +223,7 @@
accessory = SSaccessories.sprite_accessories[initial(accessory.key)][initial(accessory.name)] //SKYRAT EDIT CHANGE - ORIGINAL: accessory = SSaccessories.wings_list[initial(accessory.name)] //get the singleton instance
var/image/img = image(icon = accessory.icon, icon_state = "m_wingsopen_[accessory.icon_state]_BEHIND") //Process the HUD elements
img.transform *= 0.5
- img.pixel_x = -32
+ img.pixel_w = -32
if(radial_wings[accessory.name])
stack_trace("Different wing types with repeated names. Please fix as this may cause issues.")
else
diff --git a/code/modules/mining/lavaland/mining_loot/cursed_katana.dm b/code/modules/mining/lavaland/mining_loot/cursed_katana.dm
index ad7cbeb8a54..c7b9fd340e8 100644
--- a/code/modules/mining/lavaland/mining_loot/cursed_katana.dm
+++ b/code/modules/mining/lavaland/mining_loot/cursed_katana.dm
@@ -20,8 +20,7 @@
to_chat(user, span_userdanger("The mass goes up your arm and goes inside it!"))
playsound(user, 'sound/effects/magic/demon_consume.ogg', 50, TRUE)
var/index = user.get_held_index_of_item(src)
- zone = (index == LEFT_HANDS ? BODY_ZONE_L_ARM : BODY_ZONE_R_ARM)
- SetSlotFromZone()
+ swap_zone(IS_LEFT_INDEX(index) ? BODY_ZONE_L_ARM : BODY_ZONE_R_ARM)
user.temporarilyRemoveItemFromInventory(src, TRUE)
Insert(user)
diff --git a/code/modules/mining/lavaland/mining_loot/megafauna/ash_drake.dm b/code/modules/mining/lavaland/mining_loot/megafauna/ash_drake.dm
index 2b8f0b4f80c..c54f2d7152f 100644
--- a/code/modules/mining/lavaland/mining_loot/megafauna/ash_drake.dm
+++ b/code/modules/mining/lavaland/mining_loot/megafauna/ash_drake.dm
@@ -165,7 +165,7 @@
return
var/mob/living/carbon/human/consumer = user
- var/random = rand(2,4) //SKYRAT EDIT - Commenting out #1 because it makes people invisible.
+ var/random = rand(1,4)
switch(random)
if(1)
@@ -183,8 +183,7 @@
"lizard_markings" = "Dark Tiger Body",
"legs" = DIGITIGRADE_LEGS,
)
- consumer.eye_color_left = "#FEE5A3"
- consumer.eye_color_right = "#FEE5A3"
+ consumer.set_eye_color("#FEE5A3")
consumer.set_species(/datum/species/lizard)
if(2)
to_chat(user, span_danger("Your flesh begins to melt! Miraculously, you seem fine otherwise."))
diff --git a/code/modules/mining/lavaland/mining_loot/megafauna/blood_drunk.dm b/code/modules/mining/lavaland/mining_loot/megafauna/blood_drunk.dm
index 55db2372a6c..4cccf8993ab 100644
--- a/code/modules/mining/lavaland/mining_loot/megafauna/blood_drunk.dm
+++ b/code/modules/mining/lavaland/mining_loot/megafauna/blood_drunk.dm
@@ -121,3 +121,45 @@
balloon_alert(user, "[active ? "opened" : "closed"] [src]")
playsound(src, 'sound/effects/magic/clockwork/fellowship_armory.ogg', 35, TRUE, frequency = 90000 - (active * 30000))
return COMPONENT_NO_DEFAULT_MESSAGE
+
+// Wildhunter's butchering knife
+
+/obj/item/knife/hunting/wildhunter
+ name = "wildhunter's butchering knife"
+ desc = "A magical knife made out of ashen stone. It was used to butcher local fauna by best hunters. Cuts everything to the simplest."
+ icon = 'icons/obj/weapons/stabby_wide.dmi'
+ inhand_icon_state = "wildhuntingknife"
+ icon_state = "wildhuntingknife"
+ icon_angle = 180
+ force = 20
+ wound_bonus = 15
+ w_class = WEIGHT_CLASS_NORMAL
+ sharpness = SHARP_EDGED
+ attack_verb_continuous = list("slices", "hunts", "butchers", "pierces")
+ attack_verb_simple = list("slice", "hunt", "butcher", "pierce")
+
+//best butchering tool
+/obj/item/knife/hunting/wildhunter/set_butchering()
+ AddComponent(\
+ /datum/component/butchering, \
+ speed = 1.5 SECONDS , \
+ effectiveness = 110, \
+ bonus_modifier = 0, \
+ )
+
+/obj/item/knife/hunting/wildhunter/make_stabby()
+ return
+
+//cut those trophies
+/obj/item/knife/hunting/wildhunter/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers)
+ if(!istype(interacting_with, /obj/item/crusher_trophy))
+ return NONE
+ var/obj/item/crusher_trophy/trophy = interacting_with
+ if(isnull(trophy.wildhunter_drop))
+ return NONE
+ balloon_alert(user, "cutting trophy...")
+ if(!do_after(user, 4 SECONDS, trophy))
+ return ITEM_INTERACT_BLOCKING
+ new trophy.wildhunter_drop(trophy.drop_location())
+ qdel(trophy)
+ return ITEM_INTERACT_SUCCESS
diff --git a/code/modules/mining/lavaland/mining_loot/megafauna/bubblegum.dm b/code/modules/mining/lavaland/mining_loot/megafauna/bubblegum.dm
index 1f1a4a7c50b..71ce1594305 100644
--- a/code/modules/mining/lavaland/mining_loot/megafauna/bubblegum.dm
+++ b/code/modules/mining/lavaland/mining_loot/megafauna/bubblegum.dm
@@ -123,7 +123,7 @@
var/health_consumed = butchered.maxHealth * 0.1
user.heal_ordered_damage(health_consumed, list(BRUTE, BURN, TOX))
to_chat(user, span_notice("You heal from the corpse of [butchered]."))
- var/datum/client_colour/color_effect = user.add_client_colour(/datum/client_colour/bloodlust)
+ var/datum/client_colour/color_effect = user.add_client_colour(/datum/client_colour/bloodlust, HELMET_TRAIT)
QDEL_IN(color_effect, 1 SECONDS)
// Soulscythe
diff --git a/code/modules/mining/lavaland/mining_loot/megafauna/hierophant.dm b/code/modules/mining/lavaland/mining_loot/megafauna/hierophant.dm
index a0ef8cd9163..ef2bf0eff00 100644
--- a/code/modules/mining/lavaland/mining_loot/megafauna/hierophant.dm
+++ b/code/modules/mining/lavaland/mining_loot/megafauna/hierophant.dm
@@ -124,7 +124,7 @@
var/turf/user_turf = get_turf(user)
teleporting = TRUE
user.update_mob_action_buttons()
- user.visible_message(span_hierophant_warning("[user] starts to glow faintly..."), span_hierophant_warning("You begin channeling [src]'s power..i."))
+ user.visible_message(span_hierophant_warning("[user] starts to glow faintly..."), span_hierophant_warning("You begin channeling [src]'s power..."))
beacon.icon_state = "hierophant_tele_on"
var/obj/effect/temp_visual/hierophant/telegraph/edge/user_telegraph = new /obj/effect/temp_visual/hierophant/telegraph/edge(user_turf)
var/obj/effect/temp_visual/hierophant/telegraph/edge/beacon_telegraph = new /obj/effect/temp_visual/hierophant/telegraph/edge(beacon_turf)
diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm
index 2aa23de7135..8abee83c708 100644
--- a/code/modules/mining/lavaland/necropolis_chests.dm
+++ b/code/modules/mining/lavaland/necropolis_chests.dm
@@ -123,8 +123,8 @@
icon_state = "necro_bubblegum"
base_icon_state = "necro_bubblegum"
lid_icon_state = "necro_bubblegum_lid"
- lid_x = -26
- lid_y = 2
+ lid_w = -26
+ lid_z = 2
/obj/structure/closet/crate/necropolis/bubblegum/PopulateContents()
new /obj/item/clothing/suit/hooded/hostile_environment(src)
diff --git a/code/modules/mining/machine_redemption.dm b/code/modules/mining/machine_redemption.dm
index 24e0f53a87a..31e8cca2ea9 100644
--- a/code/modules/mining/machine_redemption.dm
+++ b/code/modules/mining/machine_redemption.dm
@@ -373,26 +373,26 @@
switch(input_dir)
if(NORTH)
- ore_input.pixel_y = 32
- ore_output.pixel_y = -32
+ ore_input.pixel_z = 32
+ ore_output.pixel_z = -32
if(SOUTH)
- ore_input.pixel_y = -32
- ore_output.pixel_y = 32
+ ore_input.pixel_z = -32
+ ore_output.pixel_z = 32
if(EAST)
- ore_input.pixel_x = 32
- ore_output.pixel_x = -32
+ ore_input.pixel_w = 32
+ ore_output.pixel_w = -32
if(WEST)
- ore_input.pixel_x = -32
- ore_output.pixel_x = 32
+ ore_input.pixel_w = -32
+ ore_output.pixel_w = 32
ore_input.color = COLOR_MODERATE_BLUE
ore_output.color = COLOR_SECURITY_RED
var/mutable_appearance/light_in = emissive_appearance(ore_input.icon, ore_input.icon_state, offset_spokesman = src, alpha = ore_input.alpha)
- light_in.pixel_y = ore_input.pixel_y
- light_in.pixel_x = ore_input.pixel_x
+ light_in.pixel_z = ore_input.pixel_z
+ light_in.pixel_w = ore_input.pixel_w
var/mutable_appearance/light_out = emissive_appearance(ore_output.icon, ore_output.icon_state, offset_spokesman = src, alpha = ore_output.alpha)
- light_out.pixel_y = ore_output.pixel_y
- light_out.pixel_x = ore_output.pixel_x
+ light_out.pixel_z = ore_output.pixel_z
+ light_out.pixel_w = ore_output.pixel_w
. += ore_input
. += ore_output
. += light_in
diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm
index d81a6c01757..ea0345f78d0 100644
--- a/code/modules/mining/mine_items.dm
+++ b/code/modules/mining/mine_items.dm
@@ -143,10 +143,6 @@
roundstart_template = /datum/map_template/shuttle/mining/nebula
height = 10
-/obj/docking_port/stationary/mining_home/nebula
- roundstart_template = /datum/map_template/shuttle/mining/nebula
- height = 10
-
/obj/docking_port/stationary/mining_home/common
name = "SS13: Common Mining Dock"
shuttle_id = "commonmining_home"
diff --git a/code/modules/mining/ores_coins.dm b/code/modules/mining/ores_coins.dm
index 5f5d11ccd02..b8aad68bb85 100644
--- a/code/modules/mining/ores_coins.dm
+++ b/code/modules/mining/ores_coins.dm
@@ -1,8 +1,3 @@
-
-#define GIBTONITE_QUALITY_HIGH 3
-#define GIBTONITE_QUALITY_MEDIUM 2
-#define GIBTONITE_QUALITY_LOW 1
-
#define ORESTACK_OVERLAYS_MAX 10
/**********************Mineral ores**************************/
@@ -41,8 +36,8 @@
else //amount > stack_overlays, add some.
for(var/i in 1 to difference)
var/mutable_appearance/newore = mutable_appearance(icon, icon_state)
- newore.pixel_x = rand(-8,8)
- newore.pixel_y = rand(-8,8)
+ newore.pixel_w = rand(-8,8)
+ newore.pixel_z = rand(-8,8)
LAZYADD(stack_overlays, newore)
if(stack_overlays)
@@ -297,7 +292,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
holder.master = src
holder.on_attach()
rig_overlay = holder
- rig_overlay.pixel_y -= 5
+ rig_overlay.pixel_z -= 5
add_overlay(rig_overlay)
RegisterSignal(src, COMSIG_IGNITER_ACTIVATE, PROC_REF(igniter_prime))
log_bomber(user, "attached [holder] to ", src)
@@ -665,7 +660,4 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
qdel(src)
return ITEM_INTERACT_SUCCESS
-#undef GIBTONITE_QUALITY_HIGH
-#undef GIBTONITE_QUALITY_LOW
-#undef GIBTONITE_QUALITY_MEDIUM
#undef ORESTACK_OVERLAYS_MAX
diff --git a/code/modules/mob/dead/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm
index c156e39bbfc..be7e5a03940 100644
--- a/code/modules/mob/dead/new_player/new_player.dm
+++ b/code/modules/mob/dead/new_player/new_player.dm
@@ -280,8 +280,7 @@
if(humanc) // Quirks may change manifest datapoints, so inject only after assigning quirks
GLOB.manifest.inject(humanc, humanc.client) // SKYRAT EDIT - Added humanc.client - ALTERNATIVE_JOB_TITLES
-
-
+ SEND_SIGNAL(humanc, COMSIG_HUMAN_CHARACTER_SETUP_FINISHED)
var/area/station/arrivals = GLOB.areas_by_type[/area/station/hallway/secondary/entry]
if(humanc && arrivals && !arrivals.power_environ) //arrivals depowered
humanc.put_in_hands(new /obj/item/crowbar/large/emergency(get_turf(humanc))) //if hands full then just drops on the floor
diff --git a/code/modules/mob/dead/new_player/poll.dm b/code/modules/mob/dead/new_player/poll.dm
index e9760741627..c51b036e32e 100644
--- a/code/modules/mob/dead/new_player/poll.dm
+++ b/code/modules/mob/dead/new_player/poll.dm
@@ -295,7 +295,7 @@ GLOBAL_PROTECT(poll_options)
output += "Revoting is enabled. "
output += "Please sort the options in the order of most preferred to least preferred "
if(!length(voted_for) || poll.allow_revoting)
- output += {"
",
@@ -55,8 +55,8 @@
"[___________________________________]
",
"[___________________________________]
",
"Decision Date:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
"Place for a stamp
",
" ",
"This document is the property of Nanotrasen Corporation. Without the signatures and stamps of the heads or their deputies, this document has no corporate validity and may not be used in decisions regarding access distribution.
"
@@ -83,8 +83,8 @@
"[___________________________________]
",
"[___________________________________]
",
"Review Date:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
"Place for a stamp
",
"Name of department head or deputy head (with signature):
",
"[___________________________________]
",
@@ -92,8 +92,8 @@
"[___________________________________]
",
"[___________________________________]
",
"Review Date:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
"Place for a stamp
",
" ",
"
",
@@ -125,8 +125,8 @@
"[___________________________________]
",
"[___________________________________]
",
"Decision Date:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
"Place for a stamp
",
" ",
"The decision of the head of staff or his deputy is sufficient grounds for dismissal. If only the head of personnel or his deputy makes the decision to dismiss, VOID values must be entered in the head of department fields.
",
@@ -137,8 +137,8 @@
"[___________________________________]
",
"[___________________________________]
",
"Decision Date:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
"Place for a stamp
",
" ",
"This document is the property of Nanotrasen Corporation. Without the signatures and seals of the managers or their deputies, this document has no corporate force.
"
@@ -167,8 +167,8 @@
"[___________________________________]
",
"[___________________________________]
",
"Decision Date:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
"Place for a stamp
",
"Name of department head or deputy head (with signature):
",
"[___________________________________]
",
@@ -176,8 +176,8 @@
"[___________________________________]
",
"[___________________________________]
",
"Decision Date:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
"Place for a stamp
",
" ",
"This document is the property of Nanotrasen Corporation. Without the signatures and seals of the managers or their deputies, this document has no corporate force.
"
@@ -212,8 +212,8 @@
"[___________________________________]
",
"[___________________________________]
",
"Date the complaint was reviewed:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
"Place for a stamp
",
" ",
"This document is the property of Nanotrasen Corporation. Without the signatures and seals of the managers or their deputies, this document has no corporate force.
"
@@ -240,8 +240,8 @@
"[___________________________________]
",
"[___________________________________]
",
"Date:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
"Place for a stamp
",
" ",
"An order may be addressed not only to a specific person, but also to a group of people, as well as to a department. This should be indicated in the text of the order. The person responsible for the execution of the order must sign in the name of the person who received the order.
",
@@ -252,8 +252,8 @@
"[___________________________________]
",
"[___________________________________]
",
"Date:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
"Place for a stamp
",
" ",
"This document is the property of Nanotrasen Corporation. Without the signatures and seals of the managers or their deputies, this document has no corporate force.
",
@@ -282,8 +282,8 @@
"The name of the permittee (with signature):
",
"[___________________________________]
",
"Date:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
"Place for a stamp
",
" ",
"This document is the property of Nanotrasen Corporation. Without the signatures and seals of the managers or their deputies, this document has no corporate force.
"
@@ -308,8 +308,8 @@
"Name of the head of security or his deputy (with signature):
",
"[___________________________________]
",
"Date:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
"Place for a stamp
",
" ",
"This document is the property of Nanotrasen Corporation. Without the signatures and seals of the managers or their deputies, this document has no corporate force.
"
@@ -334,8 +334,8 @@
"Name of the head of security or his deputy (with signature):
",
"[___________________________________]
",
"Date:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
"Place for a stamp
",
" ",
"This document is the property of Nanotrasen Corporation. Without the signatures and seals of the managers or their deputies, this document has no corporate force.
"
@@ -353,11 +353,11 @@
"Reason for interrogation:
",
"[___________________________________]
",
"Start date of the interrogation:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
"End date of interrogation:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
"The course of the interrogation:
",
"[___________________________________]
",
"[___________________________________]
",
@@ -379,8 +379,8 @@
"Name of the interrogator (with signature):
",
"[___________________________________]
",
"Date:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
"Place for a stamp
",
" ",
"This document is the property of Nanotrasen Corporation. Without the signatures and seals of the managers or their deputies, this document has no corporate force.
"
@@ -411,14 +411,14 @@
"[___________________________________]
",
"[___________________________________]
",
"Report Date:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
" ",
"Name of the person who received the report (with signature):
",
"[___________________________________]
",
"Date:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
"Place for a stamp
",
" ",
"This document is the property of Nanotrasen Corporation. Without the signatures and seals of the managers or their deputies, this document has no corporate force.
"
@@ -448,8 +448,8 @@
"[___________________________________]
",
"[___________________________________]
",
"Date:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
"Place for a stamp
",
" ",
"This document is the property of Nanotrasen Corporation. Without the signatures and seals of the managers or their deputies, this document has no corporate force.
",
@@ -485,8 +485,8 @@
"[___________________________________]
",
"[___________________________________]
",
"Date:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
"Place for a stamp
",
" ",
"This document is the property of Nanotrasen Corporation. Without the signatures and seals of the managers or their deputies, this document has no corporate force.
",
@@ -539,8 +539,8 @@
"Requested Punishment:
",
"[___________________________________]
",
"Date:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
"
Place for a stamp
",
" ",
"By writing and signing this form, you consent to the processing of your personal data by Nanotrasen Corporation.
",
@@ -552,8 +552,8 @@
"Notes:
",
"[___________________________________]
",
"Date the suit was reviewed:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
"Place for a stamp
",
" ",
@@ -581,8 +581,8 @@
"[___________________________________]
",
"[___________________________________]
",
"Date:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
"Place for a stamp
",
" ",
"Responsibility for any damage caused to the Nanotrasen during the execution of the described work lies with the person requesting the permit and the person giving the permit.
",
@@ -593,8 +593,8 @@
"[___________________________________]
",
"[___________________________________]
",
"Date:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
"Place for a stamp
",
" ",
"This document is the property of Nanotrasen Corporation. Without the signatures and seals of the managers or their deputies, this document has no corporate force.
",
@@ -626,8 +626,8 @@
"[___________________________________]
",
"[___________________________________]
",
"Date:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
"Place for a stamp
",
" ",
"Responsibility for improper receipt of equipment lies with the person who signed the permit for the issuance of equipment. The VOID value must be filled in when completing the equipment list.
",
@@ -638,8 +638,8 @@
"[___________________________________]
",
"[___________________________________]
",
"Date:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
"Place for a stamp
",
" ",
"This document is the property of Nanotrasen Corporation. Without the signatures and seals of the managers or their deputies, this document has no corporate force.
",
@@ -667,8 +667,8 @@
"[___________________________________]
",
"[___________________________________]
",
"Date:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
"Place for a stamp
",
" ",
"Responsibility for any damage caused to the Nanotrasen object during the execution of the research described herein lies with the person requesting the permit and the person giving the permit.
",
@@ -679,8 +679,8 @@
"[___________________________________]
",
"[___________________________________]
",
"Date:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
"Place for a stamp
",
" ",
"This document is the property of Nanotrasen Corporation. Without the signatures and seals of the managers or their deputies, this document has no corporate force.
",
@@ -712,8 +712,8 @@
"[___________________________________]
",
"[___________________________________]
",
"Date:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
"Place for a stamp
",
" ",
"Responsibility for improper receipt of equipment lies with the person who signed the permit for the issuance of equipment. The VOID value must be filled in when completing the equipment list
",
@@ -724,8 +724,8 @@
"
[___________________________________]
",
"[___________________________________]
",
"Date:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
"Place for a stamp
",
" ",
"This document is the property of Nanotrasen Corporation. Without the signatures and seals of the managers or their deputies, this document has no corporate force.
",
@@ -761,8 +761,8 @@
"The attending doctor (with signature):
",
"[___________________________________]
",
"Date:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
"Place for a stamp
",
" ",
"This document is the property of Nanotrasen Corporation. Without the signatures and seals of the managers or their deputies, this document has no corporate force.
",
@@ -795,8 +795,8 @@
"Coroner's Name (with signature):
",
"[___________________________________]
",
"Date:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
"Place for a stamp
",
" ",
"This document is the property of Nanotrasen Corporation. Without the signatures and seals of the managers or their deputies, this document has no corporate force.
",
@@ -826,8 +826,8 @@
"Coroner's Name (with signature):
",
"[___________________________________]
",
"Date:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
"Place for a stamp
",
" ",
"This document is the property of Nanotrasen Corporation. Without the signatures and seals of the managers or their deputies, this document has no corporate force.
",
@@ -859,8 +859,8 @@
"[___________________________________]
",
"[___________________________________]
",
"Date:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
"Place for a stamp
",
" ",
"The person who signed the permission to receive the package is responsible for the improper receipt of the package. The VOID value must be filled in when completing the equipment list.
",
@@ -871,8 +871,8 @@
"[___________________________________]
",
"[___________________________________]
",
"Date:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
"Place for a stamp
",
" ",
"This document is the property of Nanotrasen Corporation. Without the signatures and seals of the managers or their deputies, this document has no corporate force.
",
@@ -904,8 +904,8 @@
"Total price (includes the cost of paper)
",
"[___________________________________]
",
"Date:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
" ",
"This payment document is the property of Nanotrasen. You must deliver this document to the head of the Nanotrasen facility staff within 24 hours of service for independent tax accounting.
",
"
"
@@ -936,8 +936,8 @@
"Total price (includes the cost of paper)
",
"[___________________________________]
",
"Date:
",
- "[___].[___].[___]
",
- "[___]:[___]
",
+ "[____________]
",
+ "[______] GST
",
" ",
"This payment document is the property of Nanotrasen. You must deliver this document to the head of the Nanotrasen facility staff within 24 hours of service for independent tax accounting.
",
"
"
diff --git a/config/config.txt b/config/config.txt
index eb9bd605dde..364aaaf81b3 100644
--- a/config/config.txt
+++ b/config/config.txt
@@ -387,9 +387,6 @@ AUTOADMIN_RANK Game Master
## Uncomment to automatically deadmin players when they click to ready up or join game. For latejoining, does it before they pick a role because it's best done early to limit metainfo.
#AUTO_DEADMIN_ON_READY_OR_LATEJOIN
-## Number of game ticks before player-admins will be automatically deadminned.
-#AUTO_DEADMIN_TIMEGATE 600
-
## Uncomment to automatically deadmin antagonists when they gain the role.
#AUTO_DEADMIN_ANTAGONISTS
@@ -629,6 +626,9 @@ PR_ANNOUNCEMENTS_PER_ROUND 5
## The maximum number of concurrent tts http requests that can be made by the server at once.
#TTS_MAX_CONCURRENT_REQUESTS 4
+## The number of seconds before tts https requests timeout (0 for infinite not recommended)
+#TTS_HTTP_TIMEOUT_SECONDS 30
+
## Add voices to the TTS voice blacklist.
#TTS_VOICE_BLACKLIST Sans Undertale
#TTS_VOICE_BLACKLIST Papyrus Undertale
diff --git a/config/logging.txt b/config/logging.txt
index 2bd9e90fcd9..0bc5f025ef0 100644
--- a/config/logging.txt
+++ b/config/logging.txt
@@ -97,7 +97,7 @@ LOG_VOTE
LOG_WHISPER
## log all world.Topic() calls
-# LOG_WORLD_TOPIC
+LOG_WORLD_TOPIC
## log manual target zone switching
LOG_ZONE_SWITCH
diff --git a/dependencies.sh b/dependencies.sh
index 75872fca082..d4f3183506c 100644
--- a/dependencies.sh
+++ b/dependencies.sh
@@ -8,7 +8,7 @@ export BYOND_MAJOR=515
export BYOND_MINOR=1647
#rust_g git tag
-export RUST_G_VERSION=3.7.0
+export RUST_G_VERSION=3.8.0
#node version
export NODE_VERSION_LTS=22.11.0
diff --git a/html/changelogs/AutoChangeLog-pr-90356.yml b/html/changelogs/AutoChangeLog-pr-90356.yml
new file mode 100644
index 00000000000..3ce423c59c4
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-90356.yml
@@ -0,0 +1,4 @@
+author: "timothymtorres"
+delete-after: True
+changes:
+ - map: "Move mafia, CTF, and deathmatch maps into minigame folder"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-90357.yml b/html/changelogs/AutoChangeLog-pr-90357.yml
new file mode 100644
index 00000000000..604905c6ec5
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-90357.yml
@@ -0,0 +1,4 @@
+author: "jlsnow301"
+delete-after: True
+changes:
+ - bugfix: "Fixed the circuit UI titlebar spacing"
\ No newline at end of file
diff --git a/html/changelogs/archive/2025-02.yml b/html/changelogs/archive/2025-02.yml
index 1da40fdae51..683ad2a7d07 100644
--- a/html/changelogs/archive/2025-02.yml
+++ b/html/changelogs/archive/2025-02.yml
@@ -381,3 +381,542 @@
2025-02-27:
TealSeer:
- bugfix: fixed the SAD deleting wounds
+ SmArtKar:
+ - bugfix: Fixed missing HTML encodes in comms console code
+ - bugfix: Examining walls no longer allows you to see items mounted on its other
+ side
+ TiviPlus:
+ - code_imp: updated hslify to correctly detect all hexcodes
+ necromanceranne:
+ - bugfix: The traitor guncase properly checks for condition changes before letting
+ a player activate the time bomb.
+2025-02-11:
+ SmArtKar:
+ - bugfix: Fixed wooden rifle stock being uncraftable
+ - bugfix: Fixed exceptionally dark armrests on chairs
+ - bugfix: Fixed dress and gown rendering below gloves and shoes
+ Time-Green:
+ - rscdel: Reverts sneeze projectiles
+2025-02-12:
+ FlufflesTheDog:
+ - bugfix: crafted medibots are more consistently corporeal
+ Kiromaka:
+ - balance: Helbital reaper is now 100x more likely.
+ Rengan:
+ - bugfix: When you cast examine to the disguised detective, its assignment will
+ now display correctly.
+ grungussuss:
+ - sound: new sounds for cloth items
+2025-02-13:
+ Jacquerel:
+ - admin: Added easier tooling for admins to add or change the AI controllers on
+ mobs
+ JohnFulpWillard:
+ - admin: Reload Configuration can be cancelled via the alert it gives you.
+ - admin: Check antagonists & del/law/dna/fingerprint/radio log panels use browsers
+ which means they have darkmode. Also the tram panel will cancel out if you click
+ cancel.
+ Melbert:
+ - bugfix: Fixed grab offsets not showing for anything but passive grab
+ - bugfix: Fix jank with mob offsets when riding things
+ - refactor: Refactored riding component, particularly how it selects layer and offsets.
+ Report any oddities
+ - refactor: Refactored pixel offsets of mobs. Report any oddities
+ RusselNotSCP:
+ - qol: Andromeda Bitters bottle now only dispenses in 1-5u increments
+ SmArtKar:
+ - admin: Admins can now make vendors free without too much hassle
+ - bugfix: Fixed duplicated comsigs/text and HARS head deletion from prosthetic replacement
+ - bugfix: Barroaches no longer disappear when worn on your head
+ - image: Barroaches now have new worn sprites
+ - bugfix: Fixed perceptomatrix not applying any of its traits
+ TiviPlus:
+ - code_imp: deleted all remaining code referencing TGS3
+2025-02-14:
+ Absolucy:
+ - bugfix: Syndicate encryption keys properly protect against AoE radio jamming again.
+ Melbert:
+ - rscdel: Honorific "full name" setting no longer cares about mononyms, meaning
+ Lizards and people with similarly hyphenated names will no longer get their
+ name butchered.
+ MelokGleb:
+ - image: broken radio is now not flat and old
+ SmArtKar:
+ - bugfix: Makes glowstick fluid respect chosen RLD color
+ - bugfix: Chef's love and french kissing no longer can stop laser projectiles of
+ syndiekissers.
+ - code_imp: Unified two parts of kiss code.
+ TealSeer:
+ - qol: The limb grower can now be unwrenched and rotated
+ Time-Green, Donglesplonge, SmartKar:
+ - rscadd: Adds the flesh reshaper to genetics and the Gene Engineering techweb!
+ Restyle all those visual organs! Don't like your moth coworkers' wings? Restyle
+ them to your liking!
+ TiviPlus:
+ - bugfix: Fixed stat panel turf list menu clicks only working on the text
+ hyperjll:
+ - qol: The Syndicate Tome's uplink description has been changed to mention it's
+ functionality.
+ - balance: Haloperidol's self-purge is drastically reduced while the host is stamina
+ crit, as a result of permanent stamina crit no longer being a thing to worry
+ about.
+ timothymtorres:
+ - code_imp: Optimize Nyctophobia quirk to not process while certain traits present
+ - code_imp: Convert weather duration to use time defines
+2025-02-15:
+ Ghommie:
+ - rscadd: Added three tips to the fishing tips text file.
+ Jacquerel:
+ - admin: Gives admins the ability to make mobs say/emote things from a list at random
+ intervals for the rest of their lives.
+ - rscdel: Misplaced or stolen traitor uplinks can no longer be recreated using a
+ radio code and special device, guard yours carefully or buy a backup implant.
+ - rscdel: Roundstart traitors can no longer take on additional objectives in order
+ to earn additional Telecrystals and fast-forward any unlock timers on items.
+ They also cannot earn the ability to complete a Final Objective.
+ - balance: Roundstart traitors can now buy the Contractor Kit from their traitor
+ uplink, rather than only midround traitors.
+ - rscadd: Traitors can buy Romerol for 25 TC, after 30 minutes of time has passed
+ in a round.
+ - image: Watchers won't display an animated cog at the same time as using their
+ gaze attack.
+ Melbert:
+ - bugfix: Spy uplink scans on RMB as intended
+ davethwave:
+ - rscdel: Removed the weighting of viro symptoms
+ grungussuss:
+ - sound: sutures got some sounds
+2025-02-16:
+ 00-Steven:
+ - bugfix: Emotion mask reskinning works properly
+ GwynCodes:
+ - rscadd: Added a button in the "Secrets" menu to alter the department console order
+ delay.
+ - qol: Button makes it easier to find cargo related bugs.
+ - code_imp: Changed code in department_order.dm to allow for overriding the order
+ cooldown duration.
+ - admin: Created an admin button in the "Secrets" panel.
+ larentoun:
+ - bugfix: Changeling egg burst now correctly gives "monkey (123)" name for the changeling-monkey
+ instead of getting a random human name.
+ leaKsi:
+ - bugfix: Fixed a few sanitization issues.
+ necromanceranne:
+ - bugfix: Pellet clouds now can cause bleeds and punctures if the projectile is
+ sharp.
+ - bugfix: Cryogelidia can no longer put you into stasis longer than the lifespan
+ of the cube prison it kept you in.
+2025-02-17:
+ 00-Steven:
+ - bugfix: Jumpsuit sensors context tips actually show when you are holding the jumpsuit.
+ - qol: You may right click to change jumpsuit sensors when it's in your active hand,
+ instead of having to swap to an empty hand or drop it to do so.
+ Absolucy:
+ - admin: Certain UI-based tools (plane debugger, filter editor, etc) that were given
+ to admins with only +VAREDIT or +DEBUG, but refused to open without +ADMIN,
+ now actually work for admins that have the needed permission.
+ Archemagus:
+ - code_imp: Shuttles with walls painted via color var shouldn't lose their walls
+ in transit
+ Archie700:
+ - qol: Gives a confirmation box describing the mayhem in a bottle's effect when
+ a player tries to break the bottle. Player must confirm before bottle takes
+ effect.
+ Ghommie:
+ - bugfix: Space dragons' eyes, teeths and claws (and shark form's underside) are
+ once again of a different color than the rest of the body.
+ - bugfix: Trying to fish on an adjacent spot won't end up hitting other things on
+ the same turf (provided you actually click the fishing spot and not other things).
+ - bugfix: Fixing the icon state for the "fritterish" fish variants.
+ Jacquerel:
+ - rscadd: Adjusted what things you can hallucinate people being accused of doing
+ or being over the radio
+ - bugfix: Prisoners will no longer spawn on Tram with an item which allows them
+ to immediately exit the jail.
+ - balance: Prisoners also don't get bonus goodies in their internals box when the
+ station trait rolls, because we're mean.
+ - bugfix: Traitor reputation (which is now basically just a number representing
+ how many seconds were in the round) is no longer displayed on the roundend screen.
+ Melbert:
+ - bugfix: Fixed offset during vehicle traversal over boxes and tables, as well as
+ while floating
+ Rengan:
+ - sound: the volume that vox, admin sound, insturments play at can now be tweaked
+ in preferences, check your preferences!
+ - sound: Elevator now uses ambience volume preference, jukeboxes uses instrument
+ volume preference and end of round musics uses admin music volume preference.
+ SmArtKar:
+ - qol: SiliConnect now informs you that you're successfully downloading logs
+ - bugfix: Fixes SiliConnect not being able to download logs
+ - bugfix: Fixed broken layering on some vehicles
+ - bugfix: You can no longer stuff abstract concepts of kisses and slaps into someone's
+ chest cavity
+ - bugfix: Fixed map votes not refreshing the amount of possible choices
+ - rscadd: Added a new 3D printable gun "The Liberator", you can find the gun itself
+ or its design disc in maintenance tunnels.
+ SyncIt21:
+ - bugfix: multiplying reagents in cases like fishing & chem splash will yield accurate
+ results. New amounts differ from present values
+ - bugfix: converting reagents actually yields correct ph again
+ - code_imp: improved performance of reagent logging
+ - code_imp: copying reagents won't return false negatives for values lesser than
+ 0.01
+ TealSeer:
+ - qol: The medipen refiller can now be rotated when unanchored with alt-click
+ TiviPlus:
+ - code_imp: Made it easier to set custom orders for stat panel tabs in code
+ - bugfix: fixed some filters (e.g displacement) in filteriffic bluescreening the
+ UI
+ - bugfix: fixed tgui alerts sometimes having a lot of empty space in their layout
+ distributivgesetz:
+ - config: Added support for multiple chat channel configs for channel announcements.
+ norsvenska:
+ - map: The NTSS Independence has, once again, been upgraded. Now featuring a proper
+ ballroom, an expanded infirmary, a security office, and much more available
+ seating.
+ - bugfix: Doctor Rumack, the NTSS Independence's resident medibot, is no longer
+ invisible.
+ subject217:
+ - sound: The ghost poll sound is quieter.
+ timothymtorres:
+ - bugfix: Fix runtime when simple mobs are exposed to reagents
+2025-02-18:
+ Absolucy:
+ - bugfix: SecurEye now properly follows moving cameras.
+ Archemagus:
+ - rscadd: 'Many things now handles via AAS: Bounty Cubes, Request Consoles, Brig
+ Cells, Vending Machines and Orion Trails alerts, Weather Reports, Cargo Order
+ Console'
+ - code_imp: Now anyone can make their own entry for AAS
+ - refactor: AAS internals, also cleanup
+ EnterTheJake:
+ - rscadd: New Heretic starting Side-Knowdge Warren King's Welcome
+ - rscadd: New Heretic T1 Side knowledge, Phylactery Of Damnation.
+ - rscadd: New Heretic T2 Side knowledge, Ether Of The Newborn.
+ - rscadd: New Heretic T3 Side knowledge, Codex Morbus.
+ - rscadd: New Heretic T2 Side knowledge, Rust Sower grenade.
+ - rscadd: New Heretic T3 Side knowledge, Greaves Of The Prophet.
+ - rscadd: New Blade Path Spell, Wolves Among Sheep.
+ - balance: Heretic curses have been removed from the tree and bundled in the new
+ Knowledge, Codex Morbus.
+ - balance: Blade Path tree has been shuffled a bit, all spells have been moved up
+ by one tier to make space for the new spell.
+ Jacquerel:
+ - balance: The reputation "time locks" on various items in the Traitor uplink have
+ been reduced or removed. Effected items include the holoparasite kit, energy
+ sword, power fist, gloves of the northstar, pizza bomb, bag of x4, combat bakery
+ kit, reverse revolver, kinetic accelerator modkit, laser arm implant, concealed
+ weapon bay, chemical dart gun, and stationwide APC check.
+ - balance: The centcom inspector costume is now more expensive.
+ - rscdel: Several previously nukie-only wardrobe options in the traitor uplink are
+ now once more only available to nuclear operatives.
+ - rscdel: Spies can no longer receive an elite nuclear operative suit.
+ LT3:
+ - bugfix: Revert next map command actually reverts the map vote
+ - admin: Admins now have a verb to revert the map vote
+ SmArtKar:
+ - bugfix: Fixed scars not being examine-able if you wore a mask
+ - bugfix: Fixed uniform sensors being examine-able even when worn under a spacesuit.
+ - map: Moved Birdshot's tech storage to be between bridge and engineering, with
+ a brand old abandoned brewery in its former place.
+ - bugfix: Fixed mapvotes spontaneously failing
+ - bugfix: Fixed pyroclastic slime RRing ghosts
+ - balance: Space helmets and bio/bomb/rad hoods have lost their slowdown/FOV respectively,
+ but now can have their visor covered by spraypaint or pepper spray.
+ - balance: Driscoll mask no longer protects your eyes, unlike welding gas mask which
+ received said protection.
+ Xackii:
+ - rscadd: Big Manipulator now has use mode once again. You need buckle monkey to
+ unlock this future.
+ - rscadd: Big Manipulator now has wires.
+ - bugfix: Big Manipualtor now sees objects that appeared on the tile using spawn
+ or any other means in which the object is not considered to have moved
+2025-02-19:
+ Holoo-1:
+ - bugfix: fixed circuit connections not being drawn outside initial screen on 516
+ Jacquerel:
+ - rscadd: Players who choose to be evil via the quirk menu will be reminded at roundstart
+ that this doesn't exempt them from server rules.
+ SmArtKar:
+ - qol: Cybernetic arm implants now automatically change insertion zones without
+ the need to screwdriver them.
+ necromanceranne:
+ - balance: Having a strongarm implant installed into each arm now allows you to
+ pry open doors.
+2025-02-20:
+ Aniantan:
+ - bugfix: Can of fishing bait no longer evaporates its bait when used on an active
+ fishing rod
+ - bugfix: Can of fishing bait's quick refill can be used with the fishing rod's
+ UI too
+ Ez-Briz:
+ - bugfix: fixed bluescreen in Access Checker interface
+ LePiromano:
+ - balance: nerfed Icebox's "The Thing" boss
+ - bugfix: fixed "The Thing" 's spike walls destroying items on the floor when summoned
+ MrMelbert, Time-Green:
+ - rscadd: Adds an organ tree as a mutation of shrubs (from the exotic seeds crate)!
+ Spare organs have never been so green!
+ OrionTheFox:
+ - map: Tramstation Evidence Storage now has secure lockers, a security records filing
+ cabinet, and number labels on unsecure lockers
+ necromanceranne:
+ - bugfix: Prevents Cryogelidia from putting you into a permanent stasis until someone
+ injects you with the reagent.
+ timothymtorres:
+ - bugfix: Fix deprecated mob robot path from basketball stadium map
+ - bugfix: Revert Midi2Piano fix (#85967) that broke the the midi converter tool.
+2025-02-21:
+ Aniantan:
+ - bugfix: You can no longer "use" can of bait on non-bait slots in fishing rod
+ Melbert:
+ - sound: Snowstorms now have sounds associated.
+ Singul0:
+ - rscadd: After some light bit of restructuring, the local TV station, serving SPACE
+ SECTOR 13 has opened up again!
+ TiviPlus:
+ - code_imp: optimized some icon code
+ necromanceranne:
+ - image: Changes Sakhno rifles from olive drab to a wooden finish.
+2025-02-22:
+ Absolucy:
+ - bugfix: Being a team antagonist will no longer hide all of your other antagonist
+ roles from the roundend report, i.e a BB+traitor will properly show as both
+ a BB and a traitor in the roundend report.
+ - refactor: Refactored some code relating to how entertainment monitors are notified
+ of active feeds.
+ Jackraxxus:
+ - admin: Added a new config to force admins to deadmin when readying up or latejoining
+ the round.
+ Jacquerel:
+ - spellcheck: Makes some VV input prompts clearer to read and use
+ Jacquerel, Dawnseer, & Carlarc:
+ - rscadd: Added a variety of shoes to the loadout system
+ - rscadd: Added another pair of pairs of glasses to the loadout system
+ - rscadd: Added a variety of pocket items to the loadout system
+ - rscdel: Removed the Colourist quirk, as you can now get the exact same item via
+ the loadout system
+ Melbert:
+ - rscadd: EVA doors become all access on Red Alert
+ - rscadd: First Aid Supplies (the compartments in Medbay Storage which hold medkits)
+ become all access on Red Alert (already present on Icebox). Medbay Storage itself
+ does NOT become all access.
+ Melbert, Wallem:
+ - rscadd: Adds recording setups to the Captain's office on all maps, allowing them
+ to project their face to all status displays on the station
+ - rscadd: Centcom now has a soundstage for broadcasting to the station. It's besides
+ the Thunderdome.
+ SmArtKar:
+ - bugfix: Fixed ChemMaster incorrectly lableling produced items
+ necromanceranne:
+ - rscadd: Replaces the 10mm semi-automatic surplus rifle with the Sakhno SKS semi-automatic
+ rifle.
+ - rscadd: You can acquire a SKS parts kit from the black market.
+2025-02-23:
+ EnterTheJake:
+ - spellcheck: Updated the description on a few heretic knowledges to display the
+ crafting requirements.
+ Ghommie:
+ - bugfix: Fixed lobstrosities being able to fish other lobstrosities (and chests)
+ yet again.
+ Jacquerel:
+ - balance: Traitor reputation now advances at a fixed rate, not dependent on current
+ server population.
+ - balance: The dual esword, sleeping carp scroll, spider extract, and romerol vial
+ cannot be purchased if fewer than 20 players have joined the game.
+ Melbert:
+ - bugfix: Mirror reflections should be more accurate now
+ - bugfix: Becoming a Vampire while standing in front of a mirror correctly vanishes
+ you (rather than waiting to exit and enter the mirror's view)
+ - admin: Adds the Policy Panel verb, which shows you all the policy the server has
+ set.
+ SmArtKar:
+ - bugfix: Added a flatpacker flatpack to birdshot
+ - bugfix: Fixed scar overlays on eyes going out of sprite bounds
+ - bugfix: Fixes borgs not accepting encryption keys
+ - qol: Borg encryption key interactions now use balloon alerts, and popping out
+ a key puts it in your hands instead of dropping it on the ground.
+ - balance: Crusher marks now can be instantly detonated, but firing one puts you
+ on an attack cooldown again
+ - spellcheck: Added slightly more descriptive spellbook descriptions to Mjolnir
+ and Singulo Hammer
+ - bugfix: White canes need to be extended in order to allow you to examine faster
+ with them
+ - admin: Added better feedback to localhost Start Now button
+ - bugfix: AI uplink brain can no longer give you free ghost from which you can return
+ to your AI core
+ - bugfix: You can no longer dupe reagents or swap types mid-print with chemmaster
+ - bugfix: Spawn Debug Full Crew no longer runtimes
+ - admin: Spawn Debug Full Crew now explicitly warns you a second time if you're
+ attempting to use it as a non-localhost user.
+ - bugfix: Added BZ back to birdshot's xenobio
+ - balance: Gave space suits back half of their missing slowdown due to an oversight
+ in a prior change.
+ TealSeer:
+ - qol: air alarm wires are now labeled if you have the engineering skillchip
+ Xander3359:
+ - rscadd: Living heart can now track lost eldritch blades
+ jlsnow301:
+ - bugfix: Tgui menu component is fixed following tgui core v1.8.1
+ subject217:
+ - bugfix: Tramstation disposals now allow you to send mail to R&D.
+ timothymtorres:
+ - rscadd: Add irradiation to radioactive reagents uranium, radium, and polonium.
+ - balance: Radioactive reagents uranium, radium, and polonium now cause irradiate
+ effects when they come into contact with mobs or objects. This can be via several
+ means, ingestion, touch, or vapors. The more radioactive the reagent, the more
+ likely it is to irradiate. Polonium is the most radioactive with a x3 multiplier,
+ radium is next with a x2 multiplier, and uranium is the weakest with just a
+ x1 multiplier.
+ - balance: Polonium no longer guarantees instant irradiation when the reagent is
+ inside a mob.
+2025-02-24:
+ DaCoolBoss:
+ - map: '[Birdshot] Deleted some badly-placed resin tiles in eastern maints.'
+ - map: '[Birdshot] Shuffled the items inside the Gold Standard Law Firm room to
+ look better.'
+ Ghommie:
+ - bugfix: cult slurring/stuttering now removed before the april fools punch line
+ upon conversion, thus untarnishing the Rick and Morty reference.
+ - bugfix: Fixing loaded trophy fishes possibly not having materials.
+ Hatterhat:
+ - rscadd: Glaive retool kits for proto-kinetic crushers are now in mining vendors'
+ ordering lists.
+ - code_imp: Proto-kinetic crusher retool kits now have support for alternate inhand
+ icon files with alternate dimensions.
+ K4rlox:
+ - rscadd: Human plushie has been added to the game, Obtainable thru Cargo, Loadouts
+ and Spawners.
+ Likteer:
+ - rscadd: Grown grass can be dryed (rack/dehumidifier) to make hay tiles.
+ SmArtKar:
+ - bugfix: Hitscan projectiles like emitter beams should look less weird during extreme
+ lag spikes
+ - bugfix: Moon amulet now properly turns insane people into converts and drains
+ sanity of sane people, instead of doing the inverse
+ StrangeWeirdKitten:
+ - bugfix: You can no longer be immune to megafauna with a polybelt as a mining mob.
+ Time-Green:
+ - rscadd: Taking plant or shadow limbs will now behave as expected! Take a plant
+ arm, and it will heal in light! Or take plant and shadow limbs and be in constant
+ agony as you realize this world was not made for you
+ - refactor: Refactors how we handle photosynthesis/nyxosynthesis by moving it into
+ a new status_effect framework controlled by podyparts
+ Y0SH1_M4S73R (with special thanks to Vect0r, whose original PR inspired the implementation of these changes):
+ - rscadd: Shuttle blueprints, the tool used to construct and modify custom shuttles.
+ Print a set at a science, engineering, or cargo techfab after researching Shuttle
+ Engineering, or craft a crude set from the crafting menu.
+ - rscadd: Shuttle blueprint database upgrade for engineering cyborgs, printable
+ from the Exosuit Fabricator after researching Shuttle Engineering. A version
+ of shuttle blueprints designed for use by cyborgs.
+ - rscadd: Shuttle frame rods, usable to construct custom shuttles. Hand-craft by
+ using 5 rods on 1 titanium sheet, or by printing them at a science, engineering,
+ or cargo techfab after researching Shuttle Engineering.
+ - rscadd: Custom shuttle flight control and navigation boards, printable from a
+ science, engineering, or cargo techfab after researching Shuttle Engineering.
+ - rscadd: Shuttle engine boards can be printed from a science, engineering, or cargo
+ techfab after researching shuttle engineering.
+ - rscadd: The shuttle engine supply pack is no longer locked behind the purchase
+ of the Build Your Own Shuttle kit.
+ - rscadd: Shuttle Construction Starter Kit goodie pack, containing a set of shuttle
+ blueprints, flight control and navigation console boards, and two engine boards,
+ can be purchased from cargo for 1200 credits. Requires aux base access to purchase.
+ - refactor: Shuttles now keep track of what areas are underneath each of their individual
+ turfs, so that the areas left behind on movement are consistent with what they
+ were beforehand.
+ - refactor: Shuttle ceilings now place themselves down as baseturfs, instead of
+ only appearing if the turf above is open space.
+ grungussuss:
+ - qol: ghost poll sound can now be disabled
+ - qol: ghost poll sound volume can now be tweaked
+ - sound: added new ghost poll sound.
+ - sound: normalised volume of ghost poll sounds
+2025-02-25:
+ EOBGames:
+ - rscadd: 'No longer content to speak purely in Galactic Common, the Space Russians
+ have begun to use their own language: Spinwarder Russian. Best of luck in understanding
+ them; we sure don''t!'
+ Jacquerel:
+ - balance: Foam now passes through tables, grilles, computers, and several other
+ dense structures. You can still escape foam by mantling onto tables and such.
+ - balance: MODSuit parts now slow you only when deployed, regardless of whether
+ they are sealed.
+ - balance: MODSuit parts no longer slow you when they aren't deployed.
+ Melbert, Absolucy:
+ - qol: Touches up the language menu
+ SmArtKar:
+ - image: Resprited advanced robotic limbs
+ SmArtKar, PiotrTheTchaikowsky:
+ - image: Resprited boxing gloves
+ combustor:
+ - map: Added an air alarm to birdshot's engine room
+2025-02-26:
+ Dmeto:
+ - bugfix: Nebulastation Supermatter is no longer hotwired roundstart.
+ Jacquerel:
+ - balance: The part of a MODsuit that the other parts deploy from always counts
+ as deployed for the purposes of speed calculation.
+ KingkumaArt:
+ - image: Cooked bacon resprited to be more visually clear that it's cooked
+ Melbert:
+ - rscadd: The Kitchen Coldroom, RND Server Room, Xenobio Kill Room, and Telecomms
+ on all maps now come equipped with walkable, transparent airtight plastic flaps.
+ - rscadd: Medbay Coldrooms are now consistently cold across all maps that has one.
+ They, too, now have plastic flaps.
+ - rscadd: Plastic flaps will now melt in hot environments / active fires. Cargo
+ flaps are more resilient to fire than kitchen flaps.
+ - qol: Open doors no longer layer beneath plastic flaps, in other words you can
+ actually click on them to shut them.
+ - qol: Plastic flaps may be less irritating to traverse for things which can already
+ pass through glass
+ - sound: Walking out of plastic flaps now has sfx. Crawling out is still silent.
+ SmArtKar:
+ - image: Resprited tinkerer gloves
+ - rscadd: You can use tables as makeshift lava bridges
+ - bugfix: Fixed crusher retool kits turning crushers invisible
+ SmArtKar, CoiledLamb:
+ - image: Resprited the handheld crew monitor
+ TealSeer:
+ - qol: The RCD examine text now lists any upgrades it has installed.
+ TiviPlus:
+ - code_imp: The Discord Announcer for PRs is back
+ necromanceranne:
+ - balance: Mech PKA low-pressure damage has been reduced to 50, from 80. Increased
+ the attack cooldown to match the standard PKA.
+ - balance: Mech PKA AOE blast does not mine turfs, and only does 30% of the main
+ projectiles damage to mining mobs in the AOE effect.
+ - bugfix: The mech PKA AOE blast visual effect now properly appears when hitting
+ a mob directly.
+ - code_imp: MOB_MINING and MOB_CRUSTACEAN are now defined biotypes.
+ - code_imp: Audits some mining mob biotypes to make more sense based on what kind
+ of creature they are and to include MOB_MINING in their defines.
+ possiblepossibility:
+ - bugfix: fixes slaughter demon roundend report
+ - bugfix: Fixes (most) emergency access on maintenance airlocks on WawaStation
+ - bugfix: wizard statues are gray
+2025-02-27:
+ DaCoolBoss:
+ - balance: Trash items now contain small amounts of material.
+ Hatterhat:
+ - code_imp: Guns now have burst delay and fire delay variables instead of fire delay
+ affecting both. If a weapon's burst feels off, please submit an issue report.
+ Majkl-J:
+ - bugfix: The charging defib mount no longer runtimes when there's no defib
+ SmArtKar:
+ - bugfix: Fixed flesh reshaper not being placeable on table
+ - bugfix: Sphere transform module no longer makes you spin permanently
+ - bugfix: You can now lean on falsewalls
+ - bugfix: You can no longer activate anomalock heart's voltaic overdrive/tenacity
+ trauma by pulling off some surgery shenanigans
+ - bugfix: You no longer lose tenacity trauma gained via lobotomy after losing voltaic
+ override
+2025-02-28:
+ Profakos:
+ - bugfix: Request consoles once again enter emergency mode when you hit an emergency
+ button
+ SmArtKar:
+ - image: Resprited GPSs
+ - bugfix: You can no longer try to occupy an AI uplink brain already occupied by
+ another AI
+ - bugfix: Armsy (aka Lord Of The Night (aka flesh snek (aka heretic ascention)))
+ no longer affects itself with its own spells
diff --git a/html/changelogs/archive/2025-03.yml b/html/changelogs/archive/2025-03.yml
index e860683af1e..2e47c91ed12 100644
--- a/html/changelogs/archive/2025-03.yml
+++ b/html/changelogs/archive/2025-03.yml
@@ -1,3 +1,936 @@
+2025-03-01:
+ SmArtKar:
+ - bugfix: Cyborg pre-screening dogtags should once again be given to crew with the
+ quirk of the same name.
+ TiviPlus:
+ - code_imp: cleaned up some mass var edit code
+ necromanceranne:
+ - code_imp: Cleans up a bit of human punch code.
+ - bugfix: Stagger combos occur at the correct threshold, and properly utilize armor
+ or a threshold minimum, adjusted for puncher limb accuracy.
+2025-03-02:
+ Jackraxxus:
+ - bugfix: AI will no longer deathloop after being revived with 0 backup power.
+ Jacquerel:
+ - rscadd: You can transplant xenomorph tails onto people.
+ - bugfix: The Warp Cube will now fail if it tries to teleport you to nowhere, instead
+ of turning you blue and then failing
+ Melbert:
+ - bugfix: Ion Storms should be far far far less likely to purge ais and far far
+ far more likely to replace the ai's lawset with a new set
+ - rscadd: Battle arcades get funny names again
+ - bugfix: Roundend title music will play at half volume again
+ - bugfix: April Fools lobby music will correctly always be clown music
+ - bugfix: Lobby Music will repeat across sequential rounds less often
+ OrionTheFox:
+ - qol: Mirrors now have context tips, and can now be unmounted from walls with a
+ Wrench. (Magic ones can't be removed though. Because magic.)
+ SmArtKar:
+ - rscadd: Foam darts now stick to people when they have their cap on, riot foam
+ darts also can passively deal a bit of stamina damage when you move with one.
+ - rscadd: Syringes can be inserted into foam darts, making them embed and slowly
+ leak their reagents into their victim.
+ - rscadd: Syringe guns can be toggled (with right click) between high power and
+ low power modes, former being their normal functionality and latter making syringes
+ embed and slowly leak their contents.
+ - bugfix: Fixed projectiles sometimes not embedding when they should've
+ - code_imp: Cleaned embedding code up
+ - bugfix: You no longer get set ablaze by a person you're fireman carrying through
+ lava while riding a raptor
+ - refactor: Refactored item action handling
+ - bugfix: You should no longer be able to get med/sec/diag HUDs by toggling a hud
+ in your pocket, or use jump boots from your hands.
+ - qol: Welding/breathing masks, hardhats and other glasses/helmets no longer show
+ their actions in your top bar while you're holding them in your hands.
+ mc-oofert:
+ - bugfix: The Thing (Outpost 31) will aggro if shot from outside aggro range, has
+ achievement
+ - balance: the loot room in outpost 31 now contains a freezer with a set of T2 robotic
+ organs, and a set of advanced medical tools. Also The Thing returns to its spawn
+ location if not aggroed
+ timothymtorres:
+ - bugfix: Fix illiterate people writing messages with crayons and spraycans.
+2025-03-03:
+ 00-Steven:
+ - bugfix: Harvesting botany plants actually uses the right drop location. Botany
+ plants harvested by monkey hardworkers on big manipulators harvesting using
+ a full plant bag no longer puts the resulting items inside of the big manipulator.
+ Ghommie:
+ - balance: objects made out of meat are no longer classified as gross food on top
+ of being raw and meaty, and actually contain protein and fat instead of standard
+ nutriment and oil.
+ - balance: the pizza material stacks, crafted with margherita pizza and rollig pin
+ mind you, no longer magically contain pepperoni.
+ Melbert:
+ - qol: '[Icebox] Botany''s Holofirelocks are now walkable plastic flaps'
+ SmArtKar:
+ - code_imp: Split and cleaned up mining loot's code
+ - refactor: Refactored the hierophant club.
+ - bugfix: Hierophant club's beacon no longer can go missing (until you try using
+ it)
+ - image: Resprited the hierophant arena
+ TheRyeGuyWhoWillNowDie:
+ - balance: wildcard limits have been removed from Agent ID cards
+ - balance: the specops crate gets a variation of the agent ID card which can only
+ hold limited access (same as it is now)
+ TiviPlus:
+ - code_imp: previously silent failures due to empty sounds or too low volumes will
+ now create a runtime in the runtime log
+ - bugfix: some footstep sounds like robotic or slimes are no longer silent
+ subject217:
+ - balance: Contractor Kit is no longer available in lowpop.
+2025-03-04:
+ 00-Steven:
+ - qol: Added screentips to the big manipulator.
+ - bugfix: You can actually open the big manipulator's wires UI while holding an
+ assembly.
+ Absolucy:
+ - bugfix: Fixed more advanced regex-based chat highlights not working.
+ AyIong:
+ - bugfix: Fixed random chat BSOD on Byond 516
+ Holoo-1:
+ - qol: cult spells no longer overlap with second row of inventory
+ Kashargul:
+ - bugfix: tgui say 516 will no longer change channels when the button is used to
+ drag it
+ - bugfix: tgui say 516 will no longer leak radio messages into the wrong channel
+ - bugfix: runechat flickering when faded up messages fade out
+ MichiRecRoom:
+ - bugfix: The component printer now shows icons for the items in its UI.
+ - bugfix: Nukes will now always be deleted upon exploding, no matter if they have
+ a valid cutscene to play.
+ - bugfix: The cleaning AI behavior (generally used by cleanbots) will no longer
+ return early if the list of emagged phrases is empty.
+ Rhials:
+ - spellcheck: Fixes grammar in autosurgeon use message.
+ SmArtKar:
+ - bugfix: Fixed external organs not being colored by colorful reagent
+ - bugfix: Fixed inconsistent crusher trophy droprates
+ adamsong:
+ - rscadd: Added the ability for borgs to pathfind into and through restricted areas.
+ itsmeow:
+ - bugfix: Fixed lizard body markings and ethereal feature previews in the preference
+ menu missing some overlays.
+ - refactor: Optimized spritesheet asset generation greatly using rustg IconForge,
+ greatly reducing post-initialization lag as well as reducing init times and
+ saving server computation.
+ - config: Added 'smart' asset caching, for batched rustg IconForge spritesheets.
+ It is persistent and suitable for use on local, with automatic invalidation.
+ - rscadd: Added admin verbs - Debug -> Clear Smart/Legacy Asset Cache for spritesheets.
+ - bugfix: Fixed R&D console icons breaking on WebView2/516
+ mc-oofert:
+ - bugfix: prevents stripping in caretakers last refuge
+ - bugfix: the eldritch id (Lock path) now preserves the ID used.
+ timothymtorres:
+ - bugfix: Fix hauntinum reagent to work when it is exposed to item objects.
+2025-03-05:
+ Jacquerel:
+ - rscadd: Apples now react appropriately if they impact doctors or scientists under
+ the expected circumstances.
+ StrangeWeirdKitten:
+ - bugfix: Megafauna should no longer attack eachother.
+ TJatPBnJ:
+ - balance: French fries are now immune to the effects of the floor. I miss floor
+ fries
+2025-03-06:
+ Absolucy:
+ - qol: Messages from blood cult communion, abductor telepathy, xeno hivemind, golem
+ resonator, blob telepathy, changeling hivemind, and binary chat are now considered
+ "radio" messages by the chat, so they can properly be sorted via chat tabs.
+ - qol: Your own messages in blood cult communion, abductor/xenomorph/changeling
+ hivemind, or golem telepathy will no longer be highlighted in chat (to prevent
+ highlight spam whenever you talk if you highlight your own name, mainly)
+ Ghommie:
+ - bugfix: Follower hoodies can now be crafted.
+ Kashargul:
+ - bugfix: TG chat can no longer initialize before the settings loading was called
+ - qol: chat settings can be exported and imported
+ LemonInTheDark:
+ - config: the config loader now supports relatively pathed imports (importing a
+ file inside a subfolder now acts as if you were IN that subfolder)
+ Melbert:
+ - bugfix: Fixed random names always giving male names
+ Singul0:
+ - balance: Buffs the energy cells borg factory-spawned cyborgs spawn with (They
+ are now T2 cells)
+ TheRyeGuyWhoWillNowDie:
+ - bugfix: chameleon IDs actually prevent AI tracking now
+ hry-gh:
+ - bugfix: the admin music player works again on 516
+2025-03-07:
+ Ben10Omintrix:
+ - qol: the raptor minigame now no longer opens up a new window
+ - rscadd: the raptor minigame has been reworked
+ Kocma-san:
+ - qol: ERT leaders now have a headset with high-volume mode
+ - bugfix: Deathsquad Officer will now have proper outfit
+ Melbert:
+ - bugfix: Wigs no longer color their hats
+ - bugfix: You can hear looping computer sounds again
+ StrangeWeirdKitten:
+ - bugfix: Design disks now have a cooldown when uploading to no longer crash the
+ server.
+ necromanceranne:
+ - balance: Last resort is no longer an innate changeling ability. Changeling on
+ changeling violence is back on the menu. (literally)
+ possiblepossibility:
+ - rscadd: you may now take out individual slices of pizza
+2025-03-08:
+ Ghommie:
+ - balance: It's now possible to take trophy fish from previous shifts off their
+ mounts without turning them into dust based on a probability revolving around
+ the size and weight of the fish against your fishing skill.
+ Hatterhat:
+ - bugfix: The Sakhno SKS no longer ejects its entire internal magazine upon interaction.
+ To facilitate this, it now requires the bolt to be open like its bolt-action
+ contemporaries in order to load ammunition.
+ - bugfix: You can no longer force ammunition into Sakhno precision rifles and other
+ bolt-action-likes through a closed bolt.
+ Melbert:
+ - rscadd: If you are sufficiently drunk, you can resist your phobias and social
+ anxiety.
+ - rscadd: Your mood will increase further the more drunk you are. Until you crash
+ out.
+ SmArtKar:
+ - image: Resprited all eyes and gave cybernetic eyes unique sprites
+ necromanceranne:
+ - bugfix: Touch protection actually respects the TOUCH exposure method.
+ - bugfix: You cannot Fry-Fu someone through bio protective clothing using three
+ drops of essential oils heated to the temperature of the sun.
+2025-03-09:
+ Absolucy:
+ - bugfix: Fixed some hearing sensitive objects hearing the same thing multiple times,
+ such as the broadcast camera sending everything to the entertainment channel
+ twice.
+ - qol: Changed the civilian bounty console's cooldown message to a balloon alert,
+ and it now says like "1 minute and 30 seconds" instead of "1.5 minutes"
+ - code_imp: Minor improvements to civilian bounty console code.
+ - code_imp: Removed a random unused var on space turfs.
+ Hatterhat:
+ - balance: Spacemen (e.g. you, the reader) grappling a target now prioritize using
+ their bare hands to beat their target to death if they're grappled, instead
+ of contorting in weird ways to kick them (also, presumably, to death).
+ - balance: Spacemen have learned to Punch Good(er) against grappled targets, leading
+ to kick-tier damage against standing grappled targets - even if they're not
+ doing the grappling.
+ - balance: Strong-Arm implant users also benefit from the training of punching grappled
+ people as well - as a treat, horizontal targets slam into the ground and break
+ tiling for no additional damage, but a very visible sign of "oh god someone
+ got pasted here".
+ - qol: Holosigns (engineering holobarriers, janitor holosigns, PENLITE holobarriers,
+ etc.) can now be projected onto doors.
+ - qol: Holofans from ATMOS holoprojectors can now be projected onto doors, windows,
+ and grilles.
+ LikeLakers2:
+ - bugfix: Fixes a potential runtime with the radioactivity mutation.
+ SmArtKar:
+ - bugfix: Removed a rogue fire alarm from DeltaStation's freezer
+ - bugfix: Fixed fake airlock bolts being examineable
+ - bugfix: Fixed most mining mobs being unaffected by additional damage against them
+ - bugfix: Fixed hat stabilizers not detaching clothing traits, turning any helmet
+ with a pacifism bud attached into one.
+ - bugfix: Fixed certain hallucinations displaying below floors/decals/items
+ - bugfix: Cult spells no longer play attack animation when clicking on an invalid
+ target
+ - bugfix: Fixed prototype egun's electrodes instantly detaching
+ - bugfix: Fixed night shifts removing coloring from lights
+ - bugfix: Objects on tables no longer get burnt by lava
+ - bugfix: Stacking machines can now pick up bluespace crystals
+ necromanceranne:
+ - bugfix: Makes absolutely sure we're removing Cyrogelidia's status effects if the
+ reagent is out of our mobs system.
+ - bugfix: The strongarm set bonus no longer requires a specific biotype to function.
+ You can now get the set bonus as an android.
+2025-03-10:
+ EnterTheJake:
+ - balance: '"Wolves Among Sheep" cooldown increased from 2 to 5 minutes.'
+ Paxilmaniac:
+ - balance: The syndie smartgun has 2 tile aimbot now
+ SmArtKar:
+ - bugfix: 'Fixed pre-filled fish stasis cases breaking fish inside of them
+
+ /:cl'
+ - bugfix: Immortal pyro anomalies no longer (unsuccessfully) attempt to spawn pyro
+ slimes
+ - bugfix: Fixed balloon alert positioning on wide mobs
+ - bugfix: Fixed constant hotspot runtimes
+ - bugfix: Hotspots should properly play their SFX when created by sources other
+ than plasmafires.
+ - bugfix: Fixes rideable mob layering
+ StrangeWeirdKitten:
+ - code_imp: Readds return_turf_delta_p() and is_nearby_planetary_atmos() as turf
+ helpers.
+2025-03-11:
+ Sadboysuss:
+ - sound: regenerative meshes now make sounds when healing and have new drop/pickup
+ sounds
+ SmArtKar:
+ - bugfix: Fixed missing distro pipe in CE's office, and missing cable in tech storage
+ Vallat:
+ - bugfix: fixed "Save chat log" verb
+ Wallem:
+ - qol: some tgui lists that use the same simple function--Navigation menu, Fulton
+ navbeacon selection, Ghost teleportation, etc.--have been given a candystripe.
+ combustor:
+ - map: Removed cameras from most break rooms and cargo warehouses.
+ - qol: Added and moved a bunch of cameras to remove silly blind-spots and added
+ cams to rooms where there should've been cams.
+ - map: Added EVA shutter buttons to birdshot
+2025-03-12:
+ Melbert:
+ - qol: When reaching the wizard grand finale, you no longer get locked into finale
+ effects that cannot yet be invoked.
+ - bugfix: Preference dummy now properly updates when changing some species features
+ - qol: If you have the bald quirk selected, the wig shows up on the preference dummy
+ - qol: If you have the bald quirk selected, and your role starts with a hat, the
+ hat will start attached to your wig
+ - balance: Reworks Changeling's Darkness Adaptation. It's strength now scales with
+ how dark your environment is, rather than being static transparency.
+ - bugfix: Fixes Digital Camo's examine message
+ - bugfix: '[Delta] Rearranges / adds some missing wallmounts'
+ Singul0:
+ - bugfix: fixes unwalkable tiles in the film studio bar
+ SmArtKar:
+ - bugfix: Connected Birdshot dorms to distro
+ - bugfix: Fixed a missing wire under Wawa's Coldroom APC
+ - bugfix: Going through lava while buckled to an object no longer explodes the server
+ - bugfix: Getting a carp infusion or committing a certain holofish suicide no longer
+ gets rid of your voidwalker overlay.
+ StrangeWeirdKitten:
+ - bugfix: Character creator preview being miniature
+ subject217:
+ - bugfix: Updated the description of insulated gloves to reflect their lack of chunky
+ fingers.
+2025-03-13:
+ Absolucy:
+ - code_imp: Spawning the debug "sheet snatcher" box will no longer try to do ~400
+ stack merges.
+ Hatterhat:
+ - qol: Genetics data disks are now infinitely recolorable/reskinnable via alt-click.
+ Holoo-1:
+ - bugfix: fixed offstation humans being able to be cult target
+ Kocma-san:
+ - code_imp: The damage multiplier of xenomorph bodypart has been relocated
+ Melbert:
+ - bugfix: You can make eye charts out of blank signs
+ SmArtKar:
+ - bugfix: Fixed spiderwebs, alien weeds, kudzu, and other stuff layering below catwalks
+ and glass floors
+ - bugfix: Polymorph belts no longer can consume unlimited amounts of cores
+ - balance: Delusions now override your examine and tooltip names, similarly to prosopagnosia.
+ - bugfix: Delusions no longer turn you into shadowy blobs when moving between z-levels
+ - rscadd: Newspapers now give you inversed FOV, but you can negate this by poking
+ out holes in them with a sharp or pointy tool. They also prevent people from
+ seeing you whisper.
+ - balance: Empaths can now "feel" people whispering even if they can't see their
+ mouth.
+ - code_imp: Cleaned up newspaper code.
+ - bugfix: Nooatrium can no longer revive suicided mobs
+ - bugfix: Fixes black vision for dextrous mobs using 516 version of BYOND
+ Thunder12345:
+ - bugfix: Alien pistols do damage again
+ Wallem:
+ - rscadd: Some aliens have recently been discovered to be green.
+ - image: The circuit drone has had its icons updated
+ itsmeow:
+ - bugfix: Fixed TGUI assets and icons sometimes not showing up until you refreshed
+ the page on 516 clients
+2025-03-14:
+ ArcaneMusic:
+ - bugfix: To prevent infinite sales issues, security helmets, armors, and batons
+ packs now all cost 600 credits, up from 400.
+ - bugfix: Candle packs now cost 400 credits, up from 300, and candles now sell for
+ 12.25 cr each.
+ ArrisFairburne:
+ - qol: Added a widget to the main menu of the modular computer screen, which will
+ tell the user what the current alert level is and if they are needed to fix
+ the problem.
+ Ben10Omintrix:
+ - rscadd: tweaks the raptor taming minigame to be fairer
+ - rscadd: the taming minigame's difficulty now relies on the raptor's personality
+ as well as the rider's quirks
+ DATA-xPUNGED:
+ - rscadd: 'Added a new smite: Retcon'
+ - refactor: Refactored the component temporary_atom into an atom level fade_into_nothing
+ proc
+ Ghommie:
+ - rscadd: You can now craft multi-dimensional payloads with dimensional anomalies.
+ - qol: Food types are now passed down when cooking from recipes. For example, a
+ plate of corned "beef" made from giant killer tomato slabs no longer counts
+ as meat but only vegetables now.
+ - bugfix: Fixed a metric ton of inconsistencies with food types and recipes.
+ - bugfix: Dank-pockets (the weed variant) can now be microwaved.
+ Hatterhat:
+ - bugfix: Burst-firing weapons now respect their fire delay, in the event that their
+ fire delay is longer than click cooldown. If your local burst-fire weapon starts
+ to feel weird because of this, please submit an issue report.
+ Maximal08:
+ - qol: Now you can turn the conveyor belt counterclockwise using the right mouse
+ button with the wrench in your hand.
+ Melbert:
+ - qol: Wallet loadout item comes pre-equipped
+ - qol: Lipstick loadout item comes pre-applied
+ - qol: You can choose your lipstick color from any color now. You can also choose
+ what layer it defaults to.
+ - rscadd: If you exhale a cloud of smoke from a cigarette while face to face with
+ someone, you'll blow it right in their face.
+ - rscadd: Syndicate Cigarettes will blind (for a very short time) if you blow their
+ smoke in someone's face.
+ - balance: Syndicate bombs get harder to defuse the longer its timer is set, up
+ to 9 minutes.
+ - bugfix: Training bombs won't message admins when they're "detonated" or defused.
+ SmArtKar:
+ - bugfix: Fixed animated circuit tiles missing CS:S when powered off
+ - rscadd: Instead of dissolving instantly, pills now activate after 4 seconds. This
+ timer can be increased by using a dropper filled with sugar on them, 1s added
+ per 1u dropped.
+ - rscadd: Patches now stick to you and slowly bleed their reagents, instead of being
+ strictly inferior to both pills and sprays.
+ - rscadd: Items that you accidentally swallow now go into your stomach contents.
+ - refactor: Patches are no longer considered pills by the game
+ - refactor: All stomachs now have contents, instead of it being exclusive to aliens.
+ You can cut open a stomach to empty it with a scalpel, and mend an existing
+ incision with a cautery.
+ Twaticus:
+ - bugfix: the station may appear dusty again!
+ Y0SH1M4S73R:
+ - rscadd: The station blueprints can be used to toggle whether custom shuttles can
+ be built/expanded/docked within station areas.
+ - qol: Custom areas do not have to be completely contained within shuttle frames,
+ as long as the APC isn't attached to the frame.
+ - rscadd: Custom shuttles with functioning engines will fly off into the sunset
+ when the emergency shuttle leaves.
+ - rscadd: Custom shuttle navigation computers can view space levels adjacent to
+ the one the shuttle is currently docked at.
+ - bugfix: Constructed shuttle engines no longer contribute twice as much engine
+ power to shuttles, nor can they be used to add unlimited shuttle power.
+ - bugfix: Constructed shuttle engines now connect to shuttles when build, rather
+ than needing to be unachored and then reanchored.
+2025-03-15:
+ ArcaneMusic:
+ - balance: Sheets of material and stock blocks are now subject to elastic price
+ changes. AKA, if you sell materials, their price will go down after sale and
+ will return after some time.
+ - bugfix: Stock blocks can no longer be made with no value or with a quantity of
+ zero material.
+ - bugfix: The GMM Machine can now no longer create stock blocks when unpowered.
+ - qol: The GMM machine now lights up when powered.
+ Holoo-1:
+ - bugfix: fixed white space when observing in auto observe mode
+ Melbert:
+ - bugfix: Plaslamen can see prefs again
+ SmArtKar:
+ - bugfix: Fixed basic mobs not idling due to nearby ghosts
+ hry-gh:
+ - bugfix: icons generate properly for janicarts
+2025-03-16:
+ AyIong:
+ - bugfix: Antagonists tab in preferences, scrollable in Byond 516 now
+ - bugfix: Fixed TGUI text inputs, that's allows only 1 symbol instead infinity
+ Melbert:
+ - rscadd: Your mood printout (clicking on the mood face) has been reformatted, and
+ should generally be cleaner.
+ - rscadd: Self examining was reworked, and overall gives you a lot less perfect
+ information, unless you are self-aware.
+ - rscadd: Bullet and grenade shrapnel is now hidden from examining - it's skin deep.
+ You can't rip them out with your hands, but hemostats / wirecutters still suffice
+ if you know they're there. Health analyzers still pick them up too.
+ - qol: Ghosts aren't notified about NPCs getting appendicitis
+ Mothblocks:
+ - rscadd: You can now craft radio jammers.
+ - balance: Radio jammers have had their cost lowered from 5 TC to 1 TC.
+ SmArtKar:
+ - bugfix: You can no longer insert infinite amounts of slime cores into advanced
+ chem grenades
+ - bugfix: Non-beaker containers in grenades work once more
+ - bugfix: Proximity sensors in grenade finally work after like, 4 years.
+ - code_imp: Cleaned up chemical grenade code
+ tralezab:
+ - balance: The cargo console now has a delay to express orders (renamed to autodelivery)
+2025-03-17:
+ Absolucy:
+ - bugfix: Toxins no longer damage your liver if you are immune to toxins anyways.
+ ArcaneMusic:
+ - bugfix: Stock blocks that have gone liquid should properly recalculate their cost
+ when possible.
+ - bugfix: Spawned sheets of uranium now actually hold 50 sheets.
+ Ben10Omintrix:
+ - bugfix: AI controllers should now be able to react much quicker
+ Hatterhat:
+ - bugfix: The glaive retool kit works again and no longer turns your crusher invisible.
+ Majkl-J:
+ - bugfix: Afro (Huge) layers correctly now
+ - bugfix: Plasmaman helmet hats layer correctly now, as does everything else with
+ the hat stabilizer component
+ - bugfix: Cyborg hats should now layer correctly, among other worn items
+ Melbert:
+ - refactor: Refactored martial arts, if you notice any oddities like managing to
+ know two martial arts at once or having your powers disappear, report it!
+ - rscadd: If you know multiple martial arts, such as krav maga from gloves and cqc
+ from a book, you can now swap between them at will via a button in the IC tab!
+ RandomDudeFromTheRim:
+ - spellcheck: fixed a single typo when using Vortex Recall
+ SmArtKar:
+ - bugfix: You no longer can insert sheets into unpowered, broken or opened autolathes.
+ - qol: Screwdriver/crowbar/multitool interactions on autolathes now work with left
+ click instead of right click.
+ - qol: Autosurgeons now can insert toolkit implants into your left arm when used
+ in the left hand/with left arm zone selected
+ jlsnow301:
+ - bugfix: A number of UIs with spacing issues - such as genetics scanner and circuit
+ boards - have been fixed. Report issues!
+2025-03-18:
+ 00-Steven:
+ - refactor: Refactored table frame interactions, please report any issues.
+ - bugfix: You can no longer make material-less material tables out of certain items.
+ - bugfix: Fancy tables remember which carpet was used to make them, and no longer
+ magically transmute carpets into simpler types.
+ - bugfix: You can no longer stack abductor table frame-using tables specifically.
+ - qol: Added screentips for deconstructing table frames and constructing tables
+ out of them if the material you're holding can do so.
+ - qol: Table frames can now also be deconstructed on right click for parity with
+ tables, in addition to left click.
+ - qol: Table frame interactions use balloon alerts.
+ EmptyLullaby:
+ - balance: Crew pinpointers have been moved to the regular section of the medivend,
+ and as such now benefit from the department discount.
+ EnnyDaiz:
+ - bugfix: remove downmix stereo=>mono where it is not required
+ Hatterhat:
+ - bugfix: The Cyber Tac Glitch MODsuit now has appropriately offset gauntlets.
+ - bugfix: The Cyber Tac Glitch MODsuit now has visor overlays instead of the menacing
+ white void. Red eyes, take warning (because that's when the armor booster is
+ active).
+ - bugfix: The Cyber Tac Glitch MODsuit's interface theme is now an appropriately
+ terminal-esque.
+ - bugfix: Dark Paladin MODsuits from the Dead Money bundle are no longer menacingly
+ white.
+ - bugfix: Armor boosters in MODsuits in general are no longer menacingly white voids.
+ Jacquerel:
+ - rscadd: The Mulligan Injector now comes as a kit which can create manifest entries
+ for you under your new identity, as well as an Assistant ID Card with your new
+ name.
+ Kylerace:
+ - refactor: tech disk uploading isnt super slow anymore (much harder to crash spacetime
+ with it)
+ Maximal08:
+ - rscadd: Adds wires for holopad
+ Melbert:
+ - admin: Adds "Dustself"
+ - admin: Adds "Dust" smite. Does what it says on the tin
+ - admin: Adds "Divine" smites. They are variations of normal smites themed around
+ divine intervention.
+ - balance: Mobs that pry open doors (regal rats, space dragons, strong arms) now
+ deal damage to the doors, similar to how jaws of life damage the doors
+ - qol: Double-examining a human will tell you if they have any limbs abnormal to
+ their species, assuming said limbs aren't concealed by their clothing.
+ OHJ4Y:
+ - qol: Botanical aprons can now hold your internals tank.
+ OrionTheFox:
+ - rscadd: the Tile Sprayer now includes quite a few more tile decals! Warning lines,
+ guide arrows, diagonals and filled tiles! Wow!
+ SSensum13:
+ - qol: 'Now you can shoot guns pointblank in combat mode! If you want to attack
+ melee only: use combat mode + right mouse button.'
+ SmArtKar:
+ - spellcheck: Fixes a missing space in battle rifle's examine text
+ - rscadd: Certain implants now have visuals when implanted
+ - bugfix: You no longer blink when you adjust your clothing
+ - bugfix: Fixed an issue where some NPC/midround humans would not get their eye
+ color set correctly
+ - bugfix: Fixed perceptomatix helmet allowing you to see even when unconscious
+ - refactor: Refactored how client colors are handled, ensuring that certain effects
+ like nightmare goggles don't disappear when another vision-affecting piece of
+ clothing is worn.
+ TheBibleMelts:
+ - bugfix: Added a Megacell to the Russian Derelict engine room. Rejoice, drones!
+ Xackii:
+ - qol: 'Big Manipulator: Now you can change manipualtor work speed to slow down
+ manipulator manipulations.'
+ - qol: 'Big Manipulator: Use mode now can work with "empty hand" - monkey worker
+ will use its paw to interact with objects without requiring item in paw.'
+ - qol: 'Big Manipulator: Manipulator now can be locked with using id prevents anybody
+ else configurate manipulator settings.'
+ - bugfix: 'Big Manipulator: Fixes random disappearance of a part of the manipulator
+ ui.'
+2025-03-19:
+ Ghommie:
+ - bugfix: Fixing an issue with food exports.
+ - bugfix: fixed a small rendering issue with fishes inside an aquarium.
+ Melbert:
+ - bugfix: Fixed drunkness mood printout
+ SmArtKar:
+ - bugfix: Fixed premium internals boxes still being stretched
+ Twaticus:
+ - image: resprites party pod and harvester
+ hack-wrench:
+ - rscadd: Added syndie fitness nunchuks to spy uplink (medium-high bounty)
+2025-03-20:
+ Ghommie:
+ - bugfix: The number of coins, chips or bills that can fit inside a piggy bank is
+ now capped, anything exceeding that amount is converted into a single holochip.
+ Melbert:
+ - qol: Corpses spawned from human-like NPCs will spawn damaged according to how
+ they died (or will even gib if the npc was gibbed)
+ - bugfix: Maint Russians with guns will now spawn corpses instead of vanishing
+ - rscadd: HoP now spawns with a platinum ID card which can hold infinite common
+ access slots, but is still limited in amount of command slots.
+ - bugfix: Some niche bullets are now hidden when embedded
+ RandomDudeFromTheRim:
+ - bugfix: You can no longer stuff anomaly cores into an autolathe for glass and
+ iron
+ Rhials:
+ - qol: Blobs now have a custom icon for the orbit menu/ComboHUD.
+ SmArtKar:
+ - qol: Improved formatting on holopad controls for AI
+ - bugfix: Fixed holopads softlocking AIs
+ - bugfix: Fixed escape shuttles only taking 4/9/19 minutes to arrive
+ - bugfix: Fixed emergency mode lighting using incorrect light color
+ - balance: Improved crate mimics' disguise
+ TealSeer:
+ - bugfix: fixed the blood filter whitelist doing the opposite of what it should
+ necromanceranne:
+ - balance: Flechette has been reworked into an AP pellet round that embeds and wounds,
+ but has less actual damage to buckshot. You can print it once Exotic Ammunition
+ has been researched. Also available to Nuclear Operatives.
+ - rscadd: Donk Co. 'Donk Spike' flechette rounds. No longer offered by Donk Co.
+ It can sometimes shows up in trashbins and dumpsters. And operatives can buy
+ it in bulk if they really feel like it.
+ - balance: Mech PKA now once again mines turfs and does full damage on its AOE explosion
+ (still only hitting mining mobs).
+ - balance: The standard PKA AOE mods are now by default 10% capacity. But they cannot
+ be used with one another.
+ - balance: The standard PKA offensive AOE mod now does the PKA's full damage in
+ its AOE.
+ - balance: Mining AOEs will affect everything within a 2 tile radius around the
+ point of impact, up from a 1 tile radius.
+ - code_imp: Changes floor diseases from advanced diseases into basic diseases. Should
+ mostly function the same, except you can't mutate them.
+ timothymtorres:
+ - code_imp: Remove redundant NOT operator from CALCULATE_ADJACENT_TURFS
+ warbluke:
+ - rscadd: Added Holodisks to loadout options
+2025-03-21:
+ AyIong:
+ - bugfix: Fixed preferences layout for Byond 515 after fixing it for Byond 516
+ EmptyLullaby:
+ - bugfix: donksoft flechette box has been fixed
+ Ghommie:
+ - bugfix: Adds missing aquarium props box to goodies and games vending machine.
+ GremlinSeeker:
+ - map: redesigned wawa station's atmospherics
+ GreytideSkye:
+ - spellcheck: Photocopier finally learned about %date and %time, and changed the
+ forms' fields to accommodate them.
+ Holoo-1:
+ - rscadd: AIs now can create a popup window via multicam
+ LemonInTheDark:
+ - rscadd: Smoothed objects on shuttles now will only smooth with other shuttles
+ (added support for extensions of this system)
+ - refactor: I've funked around with our smoothing system, cutting out some older
+ code. Lemme know if anything is weird PLEASE
+ Maximal08:
+ - spellcheck: changes the description of the stable red extract from "Nullifies
+ all equipment based slowdowns." to "Nullifies all equipment based speed change."
+ Melbert:
+ - rscadd: Adds 4-5 new hallucinations. Collect them all.
+ - balance: If you are only hallucinating a little bit, the game will prefer to pick
+ more subtle hallucinations. If you are hallucinating a ton, it will prefer the
+ more wacky hallucinations.
+ - balance: If you are only hallucinating a little bit, the cooldown between hallucinations
+ is longer. If you are hallucinating a ton, it will be shorter.
+ - balance: If a hallucination fails to trigger (such as a deaf person getting a
+ sound hallucination) the next one will be a lot sooner.
+ - balance: RDS hallucination amount is capped at mid tier hallucinations. This means
+ bubblegum and co. will be a lot rarer, or will even never show. HOWEVER, there
+ is now a preference allowing you to uncap your RDS hallucinations.
+ - balance: Mindbreaker toxin is more effective at suppressing RDS.
+ - balance: Some hallucinations effects have been tweaked up or down according to
+ the new thresholds. Madness mask as an example.
+ - bugfix: '"Fake Fire" Hallucination works again, and now has a unique message for
+ if you stop-drop-roll that other people see.'
+ MelokGleb:
+ - rscadd: The Blood-Drunk Miner has found an ancient hunting knife...
+ SmArtKar:
+ - bugfix: You can no longer dupe loot by reviving certain mobs (like ash drakes)
+ - refactor: Refactored how overlay lights work - having one in your pocket will
+ no longer color air around you into piss
+ - qol: Painted flashlights once again emit colored light.
+ - bugfix: Playing battle arcades now gives you a moodlet and counts as gaming for
+ the gamer quirk
+ - code_imp: Cleaned up real gamer code
+ Twaticus:
+ - image: Resprites trashcarts, cardboard boxes, and tattoo kits.
+ deathrobotpunch:
+ - qol: Removed the access restrictions from mail sorter vending machine
+ vinylspiders:
+ - bugfix: combat rmb will no longer fire the gun at the same time as pistol whipping
+ for certain guns
+ warbluke:
+ - bugfix: Toner cartridges are no longer larger than the airlock sprayer.
+2025-03-22:
+ Ghommie:
+ - bugfix: Custom material toolboxes and fishing rods can now be printed with alloys
+ such a plasteel and plasmaglass.
+ Melbert:
+ - bugfix: Failing to inject no longer prints a strange message
+2025-03-23:
+ ArcaneMusic:
+ - image: The civilian bounty teleporter pad and pirate bounty pads now have new
+ sprites.
+ Ghommie:
+ - balance: Makes fishing rods with higher (or lower) bait speed a smidge easier
+ to control during the minigame
+ - balance: Made fish traits inheritability easier. They're now guaranteed to be
+ passed down to offsprings if both parents have them.
+ OrionTheFox:
+ - rscadd: Added greyscale Fedoras, available in the Clothesmate!
+ - image: Resprited most of the Fedoras - now they'll all be much more consistent
+ with the detective's updated and sleek ones. They also all have a hairmask now,
+ so hair will no longer clip with them!
+ - image: To pair with this, the Beige suit has been just slightly tweaked and the
+ Curator's "Treasure Hunter Jacket" entirely recolored to better match their
+ fedoras.
+ jlsnow301:
+ - bugfix: The air alarm has been refactored and had some slight UI improvements.
+ Please report any issues to the github!
+2025-03-24:
+ Absolucy:
+ - bugfix: Fixed an edge-case where, if two heretics of different paths applied a
+ mark to the same person, the effects from the first mark (i.e moon path's pacifism)
+ would likely be permanent.
+ Ghommie:
+ - balance: Autoreel fishing lines do what their name implies and nudges the bait
+ towards the fish a little during the minigame when you're not pressing the mouse
+ button. Also cloaked lines are more transparent, and better at catching a certain
+ fish...
+ Jacquerel:
+ - bugfix: Disks will now be inserted into the autolathe if you successfully insert
+ them, rather than if you do not succeed in inserting them.
+ - balance: The action animation indicating someone is performing an action with
+ a progress bar now inherits how visible they are. You won't easily see a pair
+ of gears floating in space if a Voidwalker starts diving under the station.
+ - qol: It is now easier to see where you currently are while jaunting
+ JohnFulpWillard:
+ - qol: Smartfridges and Vending machines no longer have a setting to change the
+ list/grid mode, it instead updates automatically as you swap the mode in-game.
+ Melbert:
+ - bugfix: Being atrocinated ignores elevation from tables and such
+ - qol: Mappers can now disable bookshelf randomization
+ - qol: Random books found via mail or in maint will no longer random into books
+ from the "adult" section
+ - qol: Bookshelf randomization will now exclude adult books unless marked as adult
+ MelokGleb:
+ - spellcheck: fixed a typo in actor role conditions
+ SmArtKar:
+ - bugfix: Being at low sanity will actually give your hallucinations as intended.
+ - bugfix: Fixed jittering resetting the wrong pair of visual offsets
+ - bugfix: You can no longer craft balloon armor and weapons without knowing Balloon
+ Sutra
+ - bugfix: Air sensors now show up in atmospherics category
+ - spellcheck: Fixed grammar/capitalization in crafter/slapcrafting error messages
+ - code_imp: Cleaned up some crafting code
+ SyncIt21:
+ - bugfix: storages are no longer initialized with items that can't be put back in
+ after taking them out
+ - refactor: storage initialization has been refactored. Please report bugs on github
+ mcbalaam:
+ - refactor: Reworked the Big Manipulators UI
+ zxaber:
+ - qol: Cyborg PDAs' home screens now have Robotact at the top of the screen.
+ - bugfix: Sheets of materials with NODROP can no longer be given to repair bots.
+2025-03-25:
+ Absolucy:
+ - code_imp: Slightly improved the code for the Cortex Imprint bioware.
+ Capsandi:
+ - bugfix: "live donk Fr\xE9chette rounds and m12gsl bulldog magazine sprites look\
+ \ less like ERRORs."
+ Jacquerel:
+ - qol: Users of Ashen Passage and Phase Shift will be able to move instantly upon
+ cast rather than after a delay
+ - balance: Space Crawl now functions if you are on a space tile, or if you are in
+ an outdoor area with low air pressure.
+ Neuroplasty:
+ - spellcheck: Fixed a typo for the Chemical Separator
+ SmArtKar:
+ - code_imp: Removed the 516 beta warning entirely
+ - qol: Moved material item insertion to right click for material containers
+ - bugfix: Adjusting sanity over the allowed maximum will no longer completely halt
+ the change, and instead actually cap it at the maximum value.
+ - code_imp: Cleaned up mood and mood-adjacent code.
+ - refactor: Audited all remaining coloring code - among noticeable changes, blood
+ should no longer get colored or "leak out" of item bounds, atmos pipes no longer
+ color weirdly and repairbots are white again.
+ - bugfix: Fixed incorrect offsets on wide items' attack animations
+ - bugfix: Fixed darkness adaptation not refreshing eye status correctly
+ - bugfix: Fixed failed wrench/welder interaction attempts resulting in you attacking
+ reflectors
+ TealSeer:
+ - bugfix: fixed the ship ambience volume slider not working properly
+ combustor:
+ - bugfix: Fixes the det's shutters on icebox
+ imedial:
+ - qol: AI shells can track people now too
+ - bugfix: bloodless species no longer have a free bonechiller
+ subject217:
+ - spellcheck: fixed a typo and a grammar error
+2025-03-26:
+ Absolucy:
+ - qol: Players with the Prosopagnosia quirk will now see the ID name (if there is
+ one) examining someone, instead of ALWAYS Unknown, altho it'll have a question
+ mark, i.e "John Doe?"
+ - qol: Prosopagnosia no longer makes you see yourself as Unknown.
+ - bugfix: The _ispath SDQL2/Lua wrapper can now be used to actually check if something
+ is a path.
+ - code_imp: Added the _is_type_in_typecache wrapper, for SDQL2 / Lua scripts.
+ OrionTheFox:
+ - bugfix: fixed some tiny sprite flickering on two atmos wallmounts
+ SmArtKar:
+ - bugfix: Fixed vendor machine glass shards being permanently stuck in people
+ - bugfix: Large internals station trait no longer prevents admin-specific internals
+ boxes from spawning
+ StrangeWeirdKitten:
+ - code_imp: do_after() can now hold custom cog icons. Add some today!
+2025-03-27:
+ Bisar:
+ - balance: Door remotes now match the access of their owner (except for the Captain,
+ whose remote access is unchanged). Door remotes, however, respect the high security
+ area control of other remotes; as such, even if a Head can enter an area like
+ the brig, only the Security remote works to open the entrance.
+ Goat:
+ - bugfix: Clown biodome on lavaland uses lavaland turf now for the bananium ore.
+ Holoo-1:
+ - bugfix: fixed AI multicam room on multiz maps not showing anything
+ Melbert:
+ - bugfix: Fix storage whitelists / blacklists being ignored in some contexts (hotkeys)
+ SmArtKar:
+ - bugfix: Fixed all satchels having reduced storage
+ - bugfix: MODsuits should now be affected by stabilized red crossbreeds
+ - bugfix: MODsuit slowdowns should no longer behave weirdly with ash accretion/magboots/armor
+ booster modules.
+ - refactor: Refactored MODsuit slowdown calculations to be query-based instead of
+ modules directly modifying part speed values.
+ - bugfix: Fixed techweb scrolling cutting off the last node
+ mcbalaam:
+ - refactor: Minor Big Manipulator code refactoring
+ norsvenska:
+ - bugfix: Wawastation's port bow solar array now has a cable under all panels by
+ default.
+2025-03-28:
+ LemonInTheDark:
+ - bugfix: Fixed our pathfinding logic getting deeply confused by border objects
+ - admin: Added clientside displayed pathfinding debug tools, give em a go
+ Melbert:
+ - qol: Examining a heretic influence gives you a sp00ky message rather than an empty
+ box
+ RandomDudeFromTheRim:
+ - bugfix: fixed an extremely hypothetical, yet possible respawn exploit
+ SmArtKar:
+ - rscadd: Nyctophobia and Claustrophobia quirks now have proper terror effects instead
+ of making you walk/suffocate. Immersion!
+ - refactor: All sources of "terror"/"fear" now use a common component, meaning they
+ share their counters.
+ - bugfix: Fixed shift right clicking shoes giving some interesting options.
+ - bugfix: Fixed blue space on lower Z levels
+ - bugfix: Fixed toolbelts being able to unintended items
+ distributivgesetz:
+ - bugfix: Players on 516 can submit votes for IRV again.
+2025-03-29:
+ 00-Steven:
+ - bugfix: Dispensing a returned item from a vendor actually reduces the amount of
+ stock for that item.
+ - bugfix: Special vendor dispensing behaviours get applied to thrown items.
+ - bugfix: Special vendor dispensing behaviours actually get applied to returned
+ items where applicable.
+ Absolucy:
+ - qol: Reword the Pushover quirk's description to be more accurate to how it actually
+ works.
+ Absolucy, hry-gh:
+ - bugfix: Fixed a potential bluescreen error relating to stylesheets on BYOND 516.
+ AyIong:
+ - bugfix: Fixed small character preview, color matrix preview, mech preview, and
+ other previews with uses ByondUI map
+ Cirrial:
+ - bugfix: Donk pocket boxes start with more than one donk pocket again.
+ Cyberboss:
+ - config: Added `TTS_HTTP_TIMEOUT_SECONDS` for setting the maximum duration TTS
+ HTTP requests can run for before being aborted.
+ FlufflesTheDog:
+ - qol: Drones can use silicon emotes
+ Goat:
+ - bugfix: The Tiziran Empire has now actually puts canned goods in their canned
+ good exports along with putting more food in their farm fresh boxes.
+ Jacquerel:
+ - rscadd: You can pick up desk bells by dragging them onto yourself. This is now
+ how you attach them to wheelchairs, instead of dragging it onto the wheelchair.
+ - bugfix: Folding a wheelchair with attached bell will drop the bell to the ground
+ instead of deleting it forever.
+ Majkl-J:
+ - bugfix: Mystery box items no longer layer on the lowest z_level when in multiz
+ - code_imp: mystery_box_item is now a type of /obj/effect/abstract
+ - code_imp: The mobs subsystem and blood.dm file for living mobs no longer use single
+ letter vars
+ - refactor: Changed many of our use cases for pixel_x and pixel_y correctly into
+ pixel_w and pixel_z, fixing layering issues in the process.
+ SmArtKar:
+ - bugfix: Fixes incorrect indentation in blob victory code which could cause immense
+ lag as a result
+ - bugfix: Fixed weird overlay positioning on dismembered bodyparts
+ jlsnow301:
+ - bugfix: Fixed scrolling the experiscanner UI
+ necromanceranne:
+ - admin: Added logging to fuel pools being ignited by someone deliberately.
+ timothymtorres:
+ - code_imp: Change some hardcoded ice/snow temperature variables that were set to
+ 180 to use `ICEBOX_MIN_TEMPERATURE` instead.
+2025-03-30:
+ AyIong:
+ - bugfix: de-shrunked alternate names modal
+ Ben10Omintrix:
+ - rscadd: adds the cain and abel to the colossus lootpool!
+ EnterTheJake:
+ - bugfix: Space phase is as fast as it used to be.
+ Ezel:
+ - map: Hopline looks now more like a line.
+ - bugfix: medbay grid is wired to eachother again
+2025-03-31:
+ Absolucy:
+ - admin: 'Added some new Lua functions: SS13.ispath, SS13.typecacheof, SS13.is_type_in_typecache,
+ SS13.get_turf, and SS13.get_area'
+ - bugfix: Fixed a broken check in the SS13.register_signal Lua function.
+ - bugfix: Fixed the _winget SDQL2/Lua wrapper, so it actually returns the return
+ value of winget.
+ Kashargul:
+ - bugfix: confirm buttons on the chat window
+ - bugfix: scroll tracking failing on large display counts when large messages blocks
+ where received
+ LT3:
+ - bugfix: Tram information plate and other signs mount correctly on tram walls
+ OrionTheFox:
+ - spellcheck: added a missing space to the description of the Donk Co. Failed Products
+ Schematics research
+ SmArtKar:
+ - bugfix: Fixed a series of storage-related bugs caused by a refactor PR.
+ - bugfix: Fixed weather from Z levels above rendering over players' UI
+ - qol: Multi-Z Detail setting has been renamed to Multi-Z Depth with an explanation
+ on what it does. "Standard" setting has been renamed to "No Culling"
+ - bugfix: Fixed encryption keys in makeshift jammer crafting recipes not having
+ an icon.
+ SyncIt21:
+ - bugfix: lockboxes & fancy storages spawned at round start with items in them don't
+ have issues anymore
+ - bugfix: cigarette donut & gorilla cube boxes hold the correct stuff again
+ Watermelon914:
+ - admin: Play Internet Sound will now automatically stop lobby music and prevent
+ lobby music from playing at roundend whilst active.
+ timothymtorres:
+ - bugfix: Fix soviet bears basketball minigame map not loading due to a misspelled
+ name when looking up map file.
+ - bugfix: Basketball runtimes when minigame mobs get deleted with clients
+ - map: Moved basketball maps into minigames folder. Removed centcomm landmark for
+ basketball minigame.
+ - refactor: Refactored basketball minigame to use lazyloading instead of the default
+ maploader.
2025-03-02:
Alecksohs:
- rscadd: Added a omni-species Kiryu-esque outfit to the Outfit Vendor.
diff --git a/html/changelogs/archive/2025-04.yml b/html/changelogs/archive/2025-04.yml
new file mode 100644
index 00000000000..8d71b64e368
--- /dev/null
+++ b/html/changelogs/archive/2025-04.yml
@@ -0,0 +1,9 @@
+2025-04-01:
+ Ghommie:
+ - bugfix: Fish will no longer drown if left half-submerged in a fishable turf on
+ which it can normally be found. Instead it will disperse after a while or if
+ starving. Note that this only happens if the fish is native to such turfs (eg.
+ lavaloop on beach water will still die).
+ SmArtKar:
+ - bugfix: Fixed gas station and phonebooth ruins magically summoning weather on
+ bottom levels of Icebox
diff --git a/icons/effects/96x96.dmi b/icons/effects/96x96.dmi
index 83d7c14d0cc..9942d0a5398 100644
Binary files a/icons/effects/96x96.dmi and b/icons/effects/96x96.dmi differ
diff --git a/icons/effects/dirt.dmi b/icons/effects/dirt.dmi
index c3eeae8a9c5..5d5334f7bc9 100644
Binary files a/icons/effects/dirt.dmi and b/icons/effects/dirt.dmi differ
diff --git a/icons/effects/dirt.png b/icons/effects/dirt.png
new file mode 100644
index 00000000000..bee5b205ac1
Binary files /dev/null and b/icons/effects/dirt.png differ
diff --git a/icons/effects/dirt.png.toml b/icons/effects/dirt.png.toml
new file mode 100644
index 00000000000..cd6f740828a
--- /dev/null
+++ b/icons/effects/dirt.png.toml
@@ -0,0 +1,2 @@
+template = "bitmask/diagonal_32x32.toml"
+output_name = "dirt"
diff --git a/icons/effects/dirt_misc.dmi b/icons/effects/dirt_misc.dmi
new file mode 100644
index 00000000000..6346b48da87
Binary files /dev/null and b/icons/effects/dirt_misc.dmi differ
diff --git a/icons/hud/pic_in_pic.dmi b/icons/hud/pic_in_pic.dmi
index 9c550f3c25e..516b933125d 100644
Binary files a/icons/hud/pic_in_pic.dmi and b/icons/hud/pic_in_pic.dmi differ
diff --git a/icons/mob/clothing/belt.dmi b/icons/mob/clothing/belt.dmi
index 7bb42a56a14..787d2867042 100644
Binary files a/icons/mob/clothing/belt.dmi and b/icons/mob/clothing/belt.dmi differ
diff --git a/icons/mob/clothing/head/hats.dmi b/icons/mob/clothing/head/hats.dmi
index 1ff429b68b1..7d603fed0fa 100644
Binary files a/icons/mob/clothing/head/hats.dmi and b/icons/mob/clothing/head/hats.dmi differ
diff --git a/icons/mob/clothing/modsuit/mod_clothing.dmi b/icons/mob/clothing/modsuit/mod_clothing.dmi
index 8a39f37bf0b..fa6077e073a 100644
Binary files a/icons/mob/clothing/modsuit/mod_clothing.dmi and b/icons/mob/clothing/modsuit/mod_clothing.dmi differ
diff --git a/icons/mob/clothing/modsuit/mod_modules.dmi b/icons/mob/clothing/modsuit/mod_modules.dmi
index d6dfa4c50a2..6ec3b13ea98 100644
Binary files a/icons/mob/clothing/modsuit/mod_modules.dmi and b/icons/mob/clothing/modsuit/mod_modules.dmi differ
diff --git a/icons/mob/clothing/suits/jacket.dmi b/icons/mob/clothing/suits/jacket.dmi
index 869966528b2..3cd0f0c464b 100644
Binary files a/icons/mob/clothing/suits/jacket.dmi and b/icons/mob/clothing/suits/jacket.dmi differ
diff --git a/icons/mob/clothing/under/suits.dmi b/icons/mob/clothing/under/suits.dmi
index e8fd6a820d3..b858489717d 100644
Binary files a/icons/mob/clothing/under/suits.dmi and b/icons/mob/clothing/under/suits.dmi differ
diff --git a/icons/mob/huds/antag_hud.dmi b/icons/mob/huds/antag_hud.dmi
index bb85cdd0cce..e2ba2ca89fc 100644
Binary files a/icons/mob/huds/antag_hud.dmi and b/icons/mob/huds/antag_hud.dmi differ
diff --git a/icons/mob/human/hair_masks.dmi b/icons/mob/human/hair_masks.dmi
index bb7b55e0cc3..dd54ce1e886 100644
Binary files a/icons/mob/human/hair_masks.dmi and b/icons/mob/human/hair_masks.dmi differ
diff --git a/icons/mob/human/species/misc/bodypart_overlay_augmentations.dmi b/icons/mob/human/species/misc/bodypart_overlay_augmentations.dmi
new file mode 100644
index 00000000000..a8e122dfe52
Binary files /dev/null and b/icons/mob/human/species/misc/bodypart_overlay_augmentations.dmi differ
diff --git a/icons/mob/human/species/misc/bodypart_overlay_simple.dmi b/icons/mob/human/species/misc/bodypart_overlay_simple.dmi
index e17934a6cdb..f6cbf72ff9d 100644
Binary files a/icons/mob/human/species/misc/bodypart_overlay_simple.dmi and b/icons/mob/human/species/misc/bodypart_overlay_simple.dmi differ
diff --git a/icons/mob/inhands/clothing/hats_lefthand.dmi b/icons/mob/inhands/clothing/hats_lefthand.dmi
index 6ad1f8886c9..3ea3bd8ae5b 100644
Binary files a/icons/mob/inhands/clothing/hats_lefthand.dmi and b/icons/mob/inhands/clothing/hats_lefthand.dmi differ
diff --git a/icons/mob/inhands/clothing/hats_righthand.dmi b/icons/mob/inhands/clothing/hats_righthand.dmi
index 3aba15568ef..f0d5f3fa3e2 100644
Binary files a/icons/mob/inhands/clothing/hats_righthand.dmi and b/icons/mob/inhands/clothing/hats_righthand.dmi differ
diff --git a/icons/mob/inhands/equipment/idcards_lefthand.dmi b/icons/mob/inhands/equipment/idcards_lefthand.dmi
index 90b96bd4d47..8dc99487d68 100644
Binary files a/icons/mob/inhands/equipment/idcards_lefthand.dmi and b/icons/mob/inhands/equipment/idcards_lefthand.dmi differ
diff --git a/icons/mob/inhands/equipment/idcards_righthand.dmi b/icons/mob/inhands/equipment/idcards_righthand.dmi
index a4b0ec4bb74..9fd835f25f2 100644
Binary files a/icons/mob/inhands/equipment/idcards_righthand.dmi and b/icons/mob/inhands/equipment/idcards_righthand.dmi differ
diff --git a/icons/mob/inhands/equipment/kitchen_righthand.dmi b/icons/mob/inhands/equipment/kitchen_righthand.dmi
index 4e5664bbc0c..0aa87d9558b 100644
Binary files a/icons/mob/inhands/equipment/kitchen_righthand.dmi and b/icons/mob/inhands/equipment/kitchen_righthand.dmi differ
diff --git a/icons/mob/inhands/weapons/melee_lefthand.dmi b/icons/mob/inhands/weapons/melee_lefthand.dmi
index dc9cb6e9866..8ceaa871caf 100644
Binary files a/icons/mob/inhands/weapons/melee_lefthand.dmi and b/icons/mob/inhands/weapons/melee_lefthand.dmi differ
diff --git a/icons/mob/inhands/weapons/melee_righthand.dmi b/icons/mob/inhands/weapons/melee_righthand.dmi
index c694a765520..615aad43152 100644
Binary files a/icons/mob/inhands/weapons/melee_righthand.dmi and b/icons/mob/inhands/weapons/melee_righthand.dmi differ
diff --git a/icons/mob/silicon/aibots.dmi b/icons/mob/silicon/aibots.dmi
index b0bc6261f6d..fa4c11f891a 100644
Binary files a/icons/mob/silicon/aibots.dmi and b/icons/mob/silicon/aibots.dmi differ
diff --git a/icons/mob/simple/carp.dmi b/icons/mob/simple/carp.dmi
index e33b9c7ada8..8501653023b 100644
Binary files a/icons/mob/simple/carp.dmi and b/icons/mob/simple/carp.dmi differ
diff --git a/icons/obj/card.dmi b/icons/obj/card.dmi
index 7b7a18dc221..da1c70c17c3 100644
Binary files a/icons/obj/card.dmi and b/icons/obj/card.dmi differ
diff --git a/icons/obj/clothing/head/hats.dmi b/icons/obj/clothing/head/hats.dmi
index 2ce0eebb2ad..70872619f9b 100644
Binary files a/icons/obj/clothing/head/hats.dmi and b/icons/obj/clothing/head/hats.dmi differ
diff --git a/icons/obj/clothing/head/sombrero.dmi b/icons/obj/clothing/head/sombrero.dmi
index b072bf65d46..258034d4fc5 100644
Binary files a/icons/obj/clothing/head/sombrero.dmi and b/icons/obj/clothing/head/sombrero.dmi differ
diff --git a/icons/obj/clothing/suits/jacket.dmi b/icons/obj/clothing/suits/jacket.dmi
index b867e7da3a7..53d035518e7 100644
Binary files a/icons/obj/clothing/suits/jacket.dmi and b/icons/obj/clothing/suits/jacket.dmi differ
diff --git a/icons/obj/clothing/under/suits.dmi b/icons/obj/clothing/under/suits.dmi
index 42c79981df6..22699ebf0c6 100644
Binary files a/icons/obj/clothing/under/suits.dmi and b/icons/obj/clothing/under/suits.dmi differ
diff --git a/icons/obj/fluff/previews.dmi b/icons/obj/fluff/previews.dmi
index 8a69c136318..c68db312ed7 100644
Binary files a/icons/obj/fluff/previews.dmi and b/icons/obj/fluff/previews.dmi differ
diff --git a/icons/obj/machines/harvester.dmi b/icons/obj/machines/harvester.dmi
index d6d9b01fc62..74e2dbf591d 100644
Binary files a/icons/obj/machines/harvester.dmi and b/icons/obj/machines/harvester.dmi differ
diff --git a/icons/obj/machines/sleeper.dmi b/icons/obj/machines/sleeper.dmi
index db92230e486..507fd2a270d 100644
Binary files a/icons/obj/machines/sleeper.dmi and b/icons/obj/machines/sleeper.dmi differ
diff --git a/icons/obj/machines/telepad.dmi b/icons/obj/machines/telepad.dmi
index 2ae0d4f1259..b06436ebd63 100644
Binary files a/icons/obj/machines/telepad.dmi and b/icons/obj/machines/telepad.dmi differ
diff --git a/icons/obj/machines/wallmounts.dmi b/icons/obj/machines/wallmounts.dmi
index e659a0248ec..abb110520f9 100644
Binary files a/icons/obj/machines/wallmounts.dmi and b/icons/obj/machines/wallmounts.dmi differ
diff --git a/icons/obj/maintenance_loot.dmi b/icons/obj/maintenance_loot.dmi
index c75cb583c19..961aaede1b7 100644
Binary files a/icons/obj/maintenance_loot.dmi and b/icons/obj/maintenance_loot.dmi differ
diff --git a/icons/obj/pipes_n_cables/stationary_canisters.dmi b/icons/obj/pipes_n_cables/stationary_canisters.dmi
index 4f87a50845b..062ee812d40 100644
Binary files a/icons/obj/pipes_n_cables/stationary_canisters.dmi and b/icons/obj/pipes_n_cables/stationary_canisters.dmi differ
diff --git a/icons/obj/pipes_n_cables/stationary_canisters.png b/icons/obj/pipes_n_cables/stationary_canisters.png
new file mode 100644
index 00000000000..d25fc52caa2
Binary files /dev/null and b/icons/obj/pipes_n_cables/stationary_canisters.png differ
diff --git a/icons/obj/pipes_n_cables/stationary_canisters.png.toml b/icons/obj/pipes_n_cables/stationary_canisters.png.toml
new file mode 100644
index 00000000000..1832dd37a82
--- /dev/null
+++ b/icons/obj/pipes_n_cables/stationary_canisters.png.toml
@@ -0,0 +1,2 @@
+output_name = "canister"
+template = "bitmask/diagonal_32x32.toml"
diff --git a/icons/obj/pipes_n_cables/stationary_canisters_misc.dmi b/icons/obj/pipes_n_cables/stationary_canisters_misc.dmi
new file mode 100644
index 00000000000..857b5a816b4
Binary files /dev/null and b/icons/obj/pipes_n_cables/stationary_canisters_misc.dmi differ
diff --git a/icons/obj/science/circuits.dmi b/icons/obj/science/circuits.dmi
index e91025ae613..de20bbe111e 100644
Binary files a/icons/obj/science/circuits.dmi and b/icons/obj/science/circuits.dmi differ
diff --git a/icons/obj/service/bureaucracy.dmi b/icons/obj/service/bureaucracy.dmi
index f52379a72b3..b464b7fbabb 100644
Binary files a/icons/obj/service/bureaucracy.dmi and b/icons/obj/service/bureaucracy.dmi differ
diff --git a/icons/obj/service/janicart_upgrade.dmi b/icons/obj/service/janicart_upgrade.dmi
index 92bb4740eeb..c8413f1e9c3 100644
Binary files a/icons/obj/service/janicart_upgrade.dmi and b/icons/obj/service/janicart_upgrade.dmi differ
diff --git a/icons/obj/storage/box.dmi b/icons/obj/storage/box.dmi
index 1fa377e2ebc..58b67dc3779 100644
Binary files a/icons/obj/storage/box.dmi and b/icons/obj/storage/box.dmi differ
diff --git a/icons/obj/storage/closet.dmi b/icons/obj/storage/closet.dmi
index ec01f4b9a34..bfa929fb0d5 100644
Binary files a/icons/obj/storage/closet.dmi and b/icons/obj/storage/closet.dmi differ
diff --git a/icons/obj/storage/crates.dmi b/icons/obj/storage/crates.dmi
index 7695ac5f848..2cb8f51fcf6 100644
Binary files a/icons/obj/storage/crates.dmi and b/icons/obj/storage/crates.dmi differ
diff --git a/icons/obj/tiles.dmi b/icons/obj/tiles.dmi
index 908f2ddc16f..14c905b28b5 100644
Binary files a/icons/obj/tiles.dmi and b/icons/obj/tiles.dmi differ
diff --git a/icons/obj/weapons/baton.dmi b/icons/obj/weapons/baton.dmi
index 6b7cbd8544a..101baab3c79 100644
Binary files a/icons/obj/weapons/baton.dmi and b/icons/obj/weapons/baton.dmi differ
diff --git a/icons/obj/weapons/guns/ammo.dmi b/icons/obj/weapons/guns/ammo.dmi
index 521ec8376e4..80a9544aee9 100644
Binary files a/icons/obj/weapons/guns/ammo.dmi and b/icons/obj/weapons/guns/ammo.dmi differ
diff --git a/icons/obj/weapons/guns/ballistic.dmi b/icons/obj/weapons/guns/ballistic.dmi
index 3ee34aeca0b..f2ec063b287 100644
Binary files a/icons/obj/weapons/guns/ballistic.dmi and b/icons/obj/weapons/guns/ballistic.dmi differ
diff --git a/icons/obj/weapons/guns/projectiles.dmi b/icons/obj/weapons/guns/projectiles.dmi
index 6de67f9e1d4..3930212fdbe 100644
Binary files a/icons/obj/weapons/guns/projectiles.dmi and b/icons/obj/weapons/guns/projectiles.dmi differ
diff --git a/icons/obj/weapons/stabby.dmi b/icons/obj/weapons/stabby.dmi
index be125b5f31d..80c4cf86802 100644
Binary files a/icons/obj/weapons/stabby.dmi and b/icons/obj/weapons/stabby.dmi differ
diff --git a/icons/obj/weapons/stabby_wide.dmi b/icons/obj/weapons/stabby_wide.dmi
new file mode 100644
index 00000000000..fa5c96f8a49
Binary files /dev/null and b/icons/obj/weapons/stabby_wide.dmi differ
diff --git a/icons/turf/debug.dmi b/icons/turf/debug.dmi
index 848187dd9f0..4bc24f6c787 100644
Binary files a/icons/turf/debug.dmi and b/icons/turf/debug.dmi differ
diff --git a/icons/turf/smooth_wall.dmi b/icons/turf/smooth_wall.dmi
index afb5f9536aa..e46ea0ae778 100644
Binary files a/icons/turf/smooth_wall.dmi and b/icons/turf/smooth_wall.dmi differ
diff --git a/icons/turf/walls/false_walls.dmi b/icons/turf/walls/false_walls.dmi
index 1b02b4bdbe6..74b72633bb4 100644
Binary files a/icons/turf/walls/false_walls.dmi and b/icons/turf/walls/false_walls.dmi differ
diff --git a/lua/SS13_base.lua b/lua/SS13_base.lua
index 470288af87e..5372901ddec 100644
--- a/lua/SS13_base.lua
+++ b/lua/SS13_base.lua
@@ -19,12 +19,55 @@ function SS13.get_runner_client()
return dm.global_vars.GLOB.directory[SS13.get_runner_ckey()]
end
-SS13.type = dm.global_procs._text2path
+function SS13.ispath(thing, path)
+ return dm.global_procs._ispath(thing, path) == 1
+end
+
+function SS13.type(typepath)
+ if type(typepath) == "string" then
+ return dm.global_procs._text2path(typepath)
+ elseif SS13.ispath(typepath) then
+ return typepath
+ else
+ return nil
+ end
+end
function SS13.istype(thing, type)
return dm.global_procs._istype(thing, SS13.type(type)) == 1
end
+function SS13.typecacheof(string_types)
+ local types = {}
+ for _, path in string_types do
+ if path ~= nil then
+ table.insert(types, SS13.type(path))
+ end
+ end
+ return dm.global_procs.typecacheof(types)
+end
+
+function SS13.is_type_in_typecache(thing, typecache)
+ return dm.global_procs._is_type_in_typecache(thing, typecache) == 1
+end
+
+function SS13.get_turf(thing)
+ return dm.global_procs._get_step(thing, 0)
+end
+
+function SS13.get_area(thing)
+ if SS13.istype(thing, "/area") then
+ return thing
+ else
+ local turf = SS13.get_turf(thing)
+ -- don't bother with SS13.is_valid, turfs don't get destroyed
+ if dm.is_valid_ref(turf) then
+ return turf.loc
+ end
+ end
+ return nil
+end
+
SS13.new = dm.new
function SS13.qdel(datum)
@@ -94,7 +137,7 @@ local function create_qdeleting_callback(datum)
end
function SS13.register_signal(datum, signal, func)
- if not type(func) == "function" then
+ if type(func) ~= "function" then
return
end
if not SS13.istype(datum, "/datum") then
diff --git a/modular_zubbers/code/datums/quirks/neutral_quirks/colorist.dm b/modular_zubbers/code/datums/quirks/neutral_quirks/colorist.dm
deleted file mode 100644
index cad9c0a742e..00000000000
--- a/modular_zubbers/code/datums/quirks/neutral_quirks/colorist.dm
+++ /dev/null
@@ -1,10 +0,0 @@
-/datum/quirk/item_quirk/colorist
- name = "Colorist"
- desc = "You like carrying around a hair dye spray to quickly apply color patterns to your hair."
- icon = FA_ICON_FILL_DRIP
- value = 0
- medical_record_text = "Patient enjoys dyeing their hair with pretty colors."
- mail_goodies = list(/obj/item/dyespray)
-
-/datum/quirk/item_quirk/colorist/add_unique(client/client_source)
- give_item_to_holder(/obj/item/dyespray, list(LOCATION_BACKPACK = ITEM_SLOT_BACKPACK, LOCATION_HANDS = ITEM_SLOT_HANDS))
diff --git a/strings/antagonist_flavor/heretic_influences.json b/strings/antagonist_flavor/heretic_influences.json
index ef7d55a101f..c0d42d41409 100644
--- a/strings/antagonist_flavor/heretic_influences.json
+++ b/strings/antagonist_flavor/heretic_influences.json
@@ -62,6 +62,24 @@
"THEIR HAND IS AT MY SIDE.",
"THEY WALK THE WORLD. UNNOTICED.",
"TO WALK BETWEEN PLANES."
+ ],
+ "examine": [
+ "Is our reality so fragile?",
+ "What did I see on the other side?",
+ "Is this right?",
+ "This is wrong.",
+ "I feel a hand at my throat.",
+ "I weep, yet no tears fall.",
+ "We are not alone.",
+ "Am I alone?",
+ "Is this the end? Or the beginning?",
+ "What's out there? What's through there?",
+ "What power is this?",
+ "Is this what we are? Is this what we can be?",
+ "Is this what we wanted?",
+ "We don't deserve this... do we?",
+ "Are we prepared for this?",
+ "We thought we were predators, but we are prey."
]
}
diff --git a/strings/hallucination.json b/strings/hallucination.json
index d6e13d570d9..e52ba2611f0 100644
--- a/strings/hallucination.json
+++ b/strings/hallucination.json
@@ -1,9 +1,10 @@
{
"suspicion": [
- "@pick(add_name)i'm watching you...",
"@pick(add_name)i know what you're doing",
+ "@pick(add_name)i'm watching you...",
"@pick(add_name)what are you hiding?",
- "I saw that"
+ "I saw that",
+ "I'm watching you"
],
"conversation": [
diff --git a/tgstation.dme b/tgstation.dme
index 4d07147758e..88567a87dd4 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -1,5 +1,10 @@
// All manual changes should be made outside the BEGIN_ and END_ blocks.
// New source code should be placed in .dm files: choose File/New --> Code File.
+
+// This should always be the VERY FIRST THING. No exceptions. Read the file for more info, but basically, this needs to be here so that we can ensure specific code is always the very first thing to execute.
+#include "code\genesis_call.dme"
+// Again, DO NOT MOVE IT OR ALLOW ANY OTHER #include TO PRECEDE THE ONE ABOVE.
+
// BEGIN_INTERNALS
// END_INTERNALS
@@ -565,6 +570,7 @@
#include "code\__HELPERS\duplicating.dm"
#include "code\__HELPERS\dynamic_human_icon_gen.dm"
#include "code\__HELPERS\events.dm"
+#include "code\__HELPERS\fade_into_nothing.dm"
#include "code\__HELPERS\files.dm"
#include "code\__HELPERS\filters.dm"
#include "code\__HELPERS\forensics.dm"
@@ -1332,6 +1338,7 @@
#include "code\datums\components\marionette.dm"
#include "code\datums\components\martial_art_giver.dm"
#include "code\datums\components\mind_linker.dm"
+#include "code\datums\components\mind_martial_art.dm"
#include "code\datums\components\mirv.dm"
#include "code\datums\components\mob_chain.dm"
#include "code\datums\components\mob_harvest.dm"
@@ -1399,7 +1406,7 @@
#include "code\datums\components\soul_stealer.dm"
#include "code\datums\components\soulstoned.dm"
#include "code\datums\components\sound_player.dm"
-#include "code\datums\components\space_allaergy.dm"
+#include "code\datums\components\space_allergy.dm"
#include "code\datums\components\space_camo.dm"
#include "code\datums\components\space_dive.dm"
#include "code\datums\components\space_kidnap.dm"
@@ -1485,6 +1492,10 @@
#include "code\datums\components\fantasy\affix.dm"
#include "code\datums\components\fantasy\prefixes.dm"
#include "code\datums\components\fantasy\suffixes.dm"
+#include "code\datums\components\fearful\effects.dm"
+#include "code\datums\components\fearful\fearful.dm"
+#include "code\datums\components\fearful\sources.dm"
+#include "code\datums\components\fearful\terror_handler.dm"
#include "code\datums\components\food\decomposition.dm"
#include "code\datums\components\food\edible.dm"
#include "code\datums\components\food\germ_sensitive.dm"
@@ -1505,6 +1516,7 @@
#include "code\datums\components\plumbing\simple_components.dm"
#include "code\datums\components\plumbing\splitter.dm"
#include "code\datums\components\riding\riding.dm"
+#include "code\datums\components\riding\riding_minigame.dm"
#include "code\datums\components\riding\riding_mob.dm"
#include "code\datums\components\riding\riding_vehicle.dm"
#include "code\datums\components\style\style.dm"
@@ -1541,9 +1553,6 @@
#include "code\datums\diseases\wizarditis.dm"
#include "code\datums\diseases\advance\advance.dm"
#include "code\datums\diseases\advance\presets.dm"
-#include "code\datums\diseases\advance\floor_diseases\carpellosis.dm"
-#include "code\datums\diseases\advance\floor_diseases\gastritium.dm"
-#include "code\datums\diseases\advance\floor_diseases\nebula_nausea.dm"
#include "code\datums\diseases\advance\symptoms\beard.dm"
#include "code\datums\diseases\advance\symptoms\chills.dm"
#include "code\datums\diseases\advance\symptoms\choking.dm"
@@ -1574,6 +1583,9 @@
#include "code\datums\diseases\advance\symptoms\vomit.dm"
#include "code\datums\diseases\advance\symptoms\weight.dm"
#include "code\datums\diseases\advance\symptoms\youth.dm"
+#include "code\datums\diseases\floor_diseases\carpellosis.dm"
+#include "code\datums\diseases\floor_diseases\gastritium.dm"
+#include "code\datums\diseases\floor_diseases\nebula_nausea.dm"
#include "code\datums\elements\_element.dm"
#include "code\datums\elements\ai_control_examine.dm"
#include "code\datums\elements\ai_flee_while_injured.dm"
@@ -1733,7 +1745,6 @@
#include "code\datums\elements\strippable.dm"
#include "code\datums\elements\structure_repair.dm"
#include "code\datums\elements\swabbable.dm"
-#include "code\datums\elements\temporary_atom.dm"
#include "code\datums\elements\tenacious.dm"
#include "code\datums\elements\tiny_mob_hunter.dm"
#include "code\datums\elements\tool_flash.dm"
@@ -2140,6 +2151,7 @@
#include "code\datums\wires\emitter.dm"
#include "code\datums\wires\explosive.dm"
#include "code\datums\wires\fax.dm"
+#include "code\datums\wires\holopad.dm"
#include "code\datums\wires\mass_driver.dm"
#include "code\datums\wires\mecha.dm"
#include "code\datums\wires\microwave.dm"
@@ -2655,6 +2667,7 @@
#include "code\game\objects\items\devices\laserpointer.dm"
#include "code\game\objects\items\devices\lightreplacer.dm"
#include "code\game\objects\items\devices\megaphone.dm"
+#include "code\game\objects\items\devices\mulligan_kit.dm"
#include "code\game\objects\items\devices\multitool.dm"
#include "code\game\objects\items\devices\pipe_painter.dm"
#include "code\game\objects\items\devices\polycircuit.dm"
@@ -3105,6 +3118,7 @@
#include "code\modules\admin\trophy_manager.dm"
#include "code\modules\admin\whitelist.dm"
#include "code\modules\admin\callproc\callproc.dm"
+#include "code\modules\admin\smites\_smite.dm"
#include "code\modules\admin\smites\bad_luck.dm"
#include "code\modules\admin\smites\become_object.dm"
#include "code\modules\admin\smites\berforate.dm"
@@ -3114,6 +3128,7 @@
#include "code\modules\admin\smites\bsa.dm"
#include "code\modules\admin\smites\curse_of_babel.dm"
#include "code\modules\admin\smites\dock_pay.dm"
+#include "code\modules\admin\smites\dust.dm"
#include "code\modules\admin\smites\fake_bwoink.dm"
#include "code\modules\admin\smites\fat.dm"
#include "code\modules\admin\smites\fireball.dm"
@@ -3128,9 +3143,9 @@
#include "code\modules\admin\smites\phobia_ocky_icky.dm"
#include "code\modules\admin\smites\puzzgrid.dm"
#include "code\modules\admin\smites\puzzle.dm"
+#include "code\modules\admin\smites\retcon.dm"
#include "code\modules\admin\smites\rod.dm"
#include "code\modules\admin\smites\scarify.dm"
-#include "code\modules\admin\smites\smite.dm"
#include "code\modules\admin\smites\supply_pod.dm"
#include "code\modules\admin\smites\supply_pod_quick.dm"
#include "code\modules\admin\verb_datums\_admin_verb_datum.dm"
@@ -3176,6 +3191,7 @@
#include "code\modules\admin\verbs\mapping.dm"
#include "code\modules\admin\verbs\maprotation.dm"
#include "code\modules\admin\verbs\panicbunker.dm"
+#include "code\modules\admin\verbs\path_debugger.dm"
#include "code\modules\admin\verbs\plane_debugger.dm"
#include "code\modules\admin\verbs\player_ticket_history.dm"
#include "code\modules\admin\verbs\playsound.dm"
@@ -3990,6 +4006,7 @@
#include "code\modules\client\preferences\prosthetic_limb.dm"
#include "code\modules\client\preferences\prosthetic_organ.dm"
#include "code\modules\client\preferences\random.dm"
+#include "code\modules\client\preferences\rds_limit.dm"
#include "code\modules\client\preferences\runechat.dm"
#include "code\modules\client\preferences\scaling_method.dm"
#include "code\modules\client\preferences\scarred_eye.dm"
@@ -4385,8 +4402,13 @@
#include "code\modules\fishing\fish\types\syndicate.dm"
#include "code\modules\fishing\fish\types\tiziran.dm"
#include "code\modules\fishing\sources\_fish_source.dm"
-#include "code\modules\fishing\sources\source_types.dm"
-#include "code\modules\flufftext\Dreaming.dm"
+#include "code\modules\fishing\sources\subtypes\fishing_portal_machine.dm"
+#include "code\modules\fishing\sources\subtypes\mining_ruins.dm"
+#include "code\modules\fishing\sources\subtypes\rifts.dm"
+#include "code\modules\fishing\sources\subtypes\structures.dm"
+#include "code\modules\fishing\sources\subtypes\surgery.dm"
+#include "code\modules\fishing\sources\subtypes\turfs.dm"
+#include "code\modules\flufftext\dreaming.dm"
#include "code\modules\food_and_drinks\pizzabox.dm"
#include "code\modules\food_and_drinks\plate.dm"
#include "code\modules\food_and_drinks\machinery\coffeemaker.dm"
@@ -4439,10 +4461,12 @@
#include "code\modules\forensics\forensics_helpers.dm"
#include "code\modules\hallucination\_hallucination.dm"
#include "code\modules\hallucination\battle.dm"
+#include "code\modules\hallucination\blood_flow.dm"
#include "code\modules\hallucination\body.dm"
#include "code\modules\hallucination\bolted_airlocks.dm"
#include "code\modules\hallucination\bubblegum_attack.dm"
#include "code\modules\hallucination\delusions.dm"
+#include "code\modules\hallucination\eyes_in_dark.dm"
#include "code\modules\hallucination\fake_alert.dm"
#include "code\modules\hallucination\fake_chat.dm"
#include "code\modules\hallucination\fake_death.dm"
@@ -4460,6 +4484,7 @@
#include "code\modules\hallucination\shock.dm"
#include "code\modules\hallucination\station_message.dm"
#include "code\modules\hallucination\stray_bullet.dm"
+#include "code\modules\hallucination\telepathy.dm"
#include "code\modules\hallucination\xeno_attack.dm"
#include "code\modules\holiday\foreign_calendar.dm"
#include "code\modules\holiday\holidays.dm"
@@ -4962,7 +4987,6 @@
#include "code\modules\mob\login.dm"
#include "code\modules\mob\logout.dm"
#include "code\modules\mob\mob.dm"
-#include "code\modules\mob\mob_arcade.dm"
#include "code\modules\mob\mob_defines.dm"
#include "code\modules\mob\mob_helpers.dm"
#include "code\modules\mob\mob_lists.dm"
@@ -5982,6 +6006,7 @@
#include "code\modules\reagents\chemistry\recipes\slime_extracts.dm"
#include "code\modules\reagents\chemistry\recipes\special.dm"
#include "code\modules\reagents\chemistry\recipes\toxins.dm"
+#include "code\modules\reagents\reagent_containers\applicator.dm"
#include "code\modules\reagents\reagent_containers\blood_pack.dm"
#include "code\modules\reagents\reagent_containers\chem_pack.dm"
#include "code\modules\reagents\reagent_containers\condiment.dm"
@@ -6695,7 +6720,6 @@
#include "code\modules\wiremod\shell\wallmount.dm"
#include "code\modules\zombie\items.dm"
#include "code\modules\zombie\organs.dm"
-#include "code\ze_genesis_call\genesis_call.dm"
#include "interface\interface.dm"
#include "interface\menu.dm"
#include "interface\stylesheet.dm"
diff --git a/tgui/.prettierignore b/tgui/.prettierignore
index a91324ebe6e..336b5d38f16 100644
--- a/tgui/.prettierignore
+++ b/tgui/.prettierignore
@@ -8,9 +8,13 @@
.swcrc
/docs
-/public
/packages/tgui-polyfill
/packages/tgfont/static
**/*.json
**/*.yml
**/*.md
+
+# Avoid running on any bundles.
+/public/**/*
+# Running it on tgui.html is fine, however.
+!/public/tgui.html
diff --git a/tgui/.prettierrc.yml b/tgui/.prettierrc.yml
index 01769692264..e3cf66636e8 100644
--- a/tgui/.prettierrc.yml
+++ b/tgui/.prettierrc.yml
@@ -1 +1,6 @@
singleQuote: true
+overrides:
+ - files: 'public/tgui.html'
+ options:
+ trailingComma: es5
+ arrowParens: always
diff --git a/tgui/packages/tgui-bench/tests/DisposalUnit.test.tsx b/tgui/packages/tgui-bench/tests/DisposalUnit.test.tsx
index 376d27a9115..15e97e0baf9 100644
--- a/tgui/packages/tgui-bench/tests/DisposalUnit.test.tsx
+++ b/tgui/packages/tgui-bench/tests/DisposalUnit.test.tsx
@@ -1,21 +1,10 @@
import { backendUpdate, setGlobalStore } from 'tgui/backend';
import { DisposalUnit } from 'tgui/interfaces/DisposalUnit';
-import { createRenderer } from 'tgui/renderer';
+import { render } from 'tgui/renderer';
import { configureStore } from 'tgui/store';
const store = configureStore({ sideEffects: false });
-const renderUi = createRenderer((dataJson: string) => {
- setGlobalStore(store);
-
- store.dispatch(
- backendUpdate({
- data: Byond.parseJson(dataJson),
- }),
- );
- return ;
-});
-
export const data = JSON.stringify({
flush: 0,
full_pressure: 1,
@@ -25,4 +14,14 @@ export const data = JSON.stringify({
isai: 0,
});
-export const Default = () => renderUi(data);
+export function Default() {
+ setGlobalStore(store);
+
+ store.dispatch(
+ backendUpdate({
+ data: Byond.parseJson(data),
+ }),
+ );
+
+ return render( );
+}
diff --git a/tgui/packages/tgui-panel/chat/renderer.jsx b/tgui/packages/tgui-panel/chat/renderer.jsx
index a80643b571f..0457ed25027 100644
--- a/tgui/packages/tgui-panel/chat/renderer.jsx
+++ b/tgui/packages/tgui-panel/chat/renderer.jsx
@@ -134,12 +134,17 @@ class ChatRenderer {
/** @type {HTMLElement} */
this.scrollNode = null;
this.scrollTracking = true;
+ this.lastScrollHeight = 0;
this.handleScroll = (type) => {
const node = this.scrollNode;
+ if (!node) {
+ return;
+ }
const height = node.scrollHeight;
const bottom = node.scrollTop + node.offsetHeight;
const scrollTracking =
- Math.abs(height - bottom) < SCROLL_TRACKING_TOLERANCE;
+ Math.abs(height - bottom) < SCROLL_TRACKING_TOLERANCE ||
+ this.lastScrollHeight === 0;
if (scrollTracking !== this.scrollTracking) {
this.scrollTracking = scrollTracking;
this.events.emit('scrollTrackingChanged', scrollTracking);
@@ -349,6 +354,10 @@ class ChatRenderer {
}
return;
}
+ // Store last scroll position
+ if (this.scrollNode) {
+ this.lastScrollHeight = this.scrollNode.scrollHeight;
+ }
// Insert messages
const fragment = document.createDocumentFragment();
const countByType = {};
diff --git a/tgui/packages/tgui-panel/index.tsx b/tgui/packages/tgui-panel/index.tsx
index b3f13d89270..b91548094fa 100644
--- a/tgui/packages/tgui-panel/index.tsx
+++ b/tgui/packages/tgui-panel/index.tsx
@@ -12,7 +12,7 @@ import { perf } from 'common/perf';
import { combineReducers } from 'common/redux';
import { setGlobalStore } from 'tgui/backend';
import { captureExternalLinks } from 'tgui/links';
-import { createRenderer } from 'tgui/renderer';
+import { render } from 'tgui/renderer';
import { configureStore } from 'tgui/store';
import { setupGlobalEvents } from 'tgui-core/events';
import { setupHotReloading } from 'tgui-dev-server/link/client.cjs';
@@ -20,12 +20,13 @@ import { setupHotReloading } from 'tgui-dev-server/link/client.cjs';
import { audioMiddleware, audioReducer } from './audio';
import { chatMiddleware, chatReducer } from './chat';
import { gameMiddleware, gameReducer } from './game';
+import { Panel } from './Panel';
import { setupPanelFocusHacks } from './panelFocus';
import { pingMiddleware, pingReducer } from './ping';
import { settingsMiddleware, settingsReducer } from './settings';
import { telemetryMiddleware } from './telemetry';
-perf.mark('inception', window.performance?.timing?.navigationStart);
+perf.mark('inception', window.performance?.timeOrigin);
perf.mark('init');
const store = configureStore({
@@ -48,28 +49,24 @@ const store = configureStore({
},
});
-const renderApp = createRenderer(() => {
- setGlobalStore(store);
-
- const { Panel } = require('./Panel');
- return ;
-});
-
-const setupApp = () => {
+function setupApp() {
// Delay setup
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', setupApp);
return;
}
+ setGlobalStore(store);
+
setupGlobalEvents({
ignoreWindowFocus: true,
});
+
setupPanelFocusHacks();
captureExternalLinks();
// Re-render UI on store updates
- store.subscribe(renderApp);
+ store.subscribe(() => render( ));
// Dispatch incoming messages as store actions
Byond.subscribe((type, payload) => store.dispatch({ type, payload }));
@@ -102,10 +99,10 @@ const setupApp = () => {
'./telemetry',
],
() => {
- renderApp();
+ render( );
},
);
}
-};
+}
setupApp();
diff --git a/tgui/packages/tgui-panel/panelFocus.js b/tgui/packages/tgui-panel/panelFocus.ts
similarity index 81%
rename from tgui/packages/tgui-panel/panelFocus.js
rename to tgui/packages/tgui-panel/panelFocus.ts
index e0f31c8e3a8..90cdf836368 100644
--- a/tgui/packages/tgui-panel/panelFocus.js
+++ b/tgui/packages/tgui-panel/panelFocus.ts
@@ -7,9 +7,9 @@
* @license MIT
*/
-import { vecLength, vecSubtract } from 'common/vector';
import { focusMap } from 'tgui/focus';
import { canStealFocus, globalEvents } from 'tgui-core/events';
+import { vecLength, vecSubtract } from 'tgui-core/vector';
// Empyrically determined number for the smallest possible
// text you can select with the mouse.
@@ -19,9 +19,9 @@ const deferredFocusMap = () => setTimeout(() => focusMap());
export const setupPanelFocusHacks = () => {
let focusStolen = false;
- let clickStartPos = null;
+ let clickStartPos: number[] | null = null;
window.addEventListener('focusin', (e) => {
- focusStolen = canStealFocus(e.target);
+ focusStolen = canStealFocus(e.target as HTMLElement);
});
window.addEventListener('mousedown', (e) => {
clickStartPos = [e.screenX, e.screenY];
@@ -33,6 +33,9 @@ export const setupPanelFocusHacks = () => {
if (dist >= MIN_SELECTION_DISTANCE) {
focusStolen = true;
}
+ if (document.activeElement?.className.includes('Button')) {
+ focusStolen = true;
+ }
}
if (!focusStolen) {
deferredFocusMap();
diff --git a/tgui/packages/tgui/App.tsx b/tgui/packages/tgui/App.tsx
new file mode 100644
index 00000000000..fcb2fdf1dc8
--- /dev/null
+++ b/tgui/packages/tgui/App.tsx
@@ -0,0 +1,14 @@
+import { globalStore } from './backend';
+import { IconProvider } from './Icons';
+
+export function App() {
+ const { getRoutedComponent } = require('./routes');
+ const Component = getRoutedComponent(globalStore);
+
+ return (
+ <>
+
+
+ >
+ );
+}
diff --git a/tgui/packages/tgui/Icons.tsx b/tgui/packages/tgui/Icons.tsx
new file mode 100644
index 00000000000..1a377c3d389
--- /dev/null
+++ b/tgui/packages/tgui/Icons.tsx
@@ -0,0 +1,30 @@
+import { Suspense, useEffect } from 'react';
+import { fetchRetry } from 'tgui-core/http';
+
+import { resolveAsset } from './assets';
+import { logger } from './logging';
+
+function loadIconMap() {
+ fetchRetry(resolveAsset('icon_ref_map.json'))
+ .then((res) => res.json())
+ .then((data) => (Byond.iconRefMap = data))
+ .catch((error) => logger.log(error));
+}
+
+function IconMapLoader() {
+ useEffect(() => {
+ if (Object.keys(Byond.iconRefMap).length === 0) {
+ loadIconMap();
+ }
+ }, []);
+
+ return null;
+}
+
+export function IconProvider() {
+ return (
+
+
+
+ );
+}
diff --git a/tgui/packages/tgui/backend.ts b/tgui/packages/tgui/backend.ts
index bed4a16c21f..1a0529374b4 100644
--- a/tgui/packages/tgui/backend.ts
+++ b/tgui/packages/tgui/backend.ts
@@ -13,7 +13,7 @@
import { perf } from 'common/perf';
import { createAction } from 'common/redux';
-import { globalEvents } from 'tgui-core/events';
+import { BooleanLike } from 'tgui-core/react';
import { setupDrag } from './drag';
import { focusMap } from './focus';
@@ -145,22 +145,6 @@ export const backendMiddleware = (store) => {
return;
}
- if (type === 'byond/mousedown') {
- globalEvents.emit('byond/mousedown');
- }
-
- if (type === 'byond/mouseup') {
- globalEvents.emit('byond/mouseup');
- }
-
- if (type === 'byond/ctrldown') {
- globalEvents.emit('byond/ctrldown');
- }
-
- if (type === 'byond/ctrlup') {
- globalEvents.emit('byond/ctrlup');
- }
-
if (type === 'backend/suspendStart' && !suspendInterval) {
logger.log(`suspending (${Byond.windowId})`);
// Keep sending suspend messages until it succeeds.
@@ -257,12 +241,12 @@ type BackendState = {
name: string;
layout: string;
};
- refreshing: boolean;
+ refreshing: BooleanLike;
window: {
key: string;
size: [number, number];
- fancy: boolean;
- locked: boolean;
+ fancy: BooleanLike;
+ locked: BooleanLike;
};
client: {
ckey: string;
diff --git a/tgui/packages/tgui/drag.ts b/tgui/packages/tgui/drag.ts
index 0884b1b0bd7..5d6609fba33 100644
--- a/tgui/packages/tgui/drag.ts
+++ b/tgui/packages/tgui/drag.ts
@@ -6,6 +6,7 @@
import { storage } from 'common/storage';
import { vecAdd, vecMultiply, vecScale, vecSubtract } from 'common/vector';
+import { BooleanLike } from 'tgui-core/react';
import { createLogger } from './logging';
@@ -116,10 +117,10 @@ const storeWindowGeometry = async () => {
// Recall window geometry from local storage and apply it
export const recallWindowGeometry = async (
options: {
- fancy?: boolean;
+ fancy?: BooleanLike;
pos?: [number, number];
size?: [number, number];
- locked?: boolean;
+ locked?: BooleanLike;
} = {},
) => {
const geometry = options.fancy && (await storage.get(windowKey));
diff --git a/tgui/packages/tgui/icons.ts b/tgui/packages/tgui/icons.ts
deleted file mode 100644
index f2c8d351ebe..00000000000
--- a/tgui/packages/tgui/icons.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { fetchRetry } from 'tgui-core/http';
-
-import { resolveAsset } from './assets';
-import { logger } from './logging';
-
-export function loadIconRefMap() {
- if (Object.keys(Byond.iconRefMap).length > 0) {
- return;
- }
-
- fetchRetry(resolveAsset('icon_ref_map.json'))
- .then((res) => res.json())
- .then((data) => (Byond.iconRefMap = data))
- .catch((error) => logger.log(error));
-}
diff --git a/tgui/packages/tgui/index.tsx b/tgui/packages/tgui/index.tsx
index 9fb73e69279..7a999955321 100644
--- a/tgui/packages/tgui/index.tsx
+++ b/tgui/packages/tgui/index.tsx
@@ -32,26 +32,17 @@ import { setupGlobalEvents } from 'tgui-core/events';
import { setupHotKeys } from 'tgui-core/hotkeys';
import { setupHotReloading } from 'tgui-dev-server/link/client.cjs';
+import { App } from './App';
import { setGlobalStore } from './backend';
-import { loadIconRefMap } from './icons';
import { captureExternalLinks } from './links';
-import { createRenderer } from './renderer';
+import { render } from './renderer';
import { configureStore } from './store';
-perf.mark('inception', window.performance?.timing?.navigationStart);
+perf.mark('inception', window.performance?.timeOrigin);
perf.mark('init');
const store = configureStore();
-const renderApp = createRenderer(() => {
- setGlobalStore(store);
- loadIconRefMap();
-
- const { getRoutedComponent } = require('./routes');
- const Component = getRoutedComponent(store);
- return ;
-});
-
function setupApp() {
// Delay setup
if (document.readyState === 'loading') {
@@ -59,12 +50,13 @@ function setupApp() {
return;
}
+ setGlobalStore(store);
+
setupGlobalEvents();
setupHotKeys();
captureExternalLinks();
- // Re-render UI on store updates
- store.subscribe(renderApp);
+ store.subscribe(() => render( ));
// Dispatch incoming messages as store actions
Byond.subscribe((type, payload) => store.dispatch({ type, payload }));
@@ -72,8 +64,8 @@ function setupApp() {
// Enable hot module reloading
if (module.hot) {
setupHotReloading();
- module.hot.accept(['./debug', './layouts', './routes'], () => {
- renderApp();
+ module.hot.accept(['./debug', './layouts', './routes', './App'], () => {
+ render( );
});
}
}
diff --git a/tgui/packages/tgui/interfaces/AirAlarm.tsx b/tgui/packages/tgui/interfaces/AirAlarm.tsx
deleted file mode 100644
index f5d439915e9..00000000000
--- a/tgui/packages/tgui/interfaces/AirAlarm.tsx
+++ /dev/null
@@ -1,569 +0,0 @@
-import { Fragment } from 'react';
-import {
- Box,
- Button,
- LabeledList,
- Modal,
- NumberInput,
- Section,
- Table,
- VirtualList,
-} from 'tgui-core/components';
-import { BooleanLike } from 'tgui-core/react';
-
-import { useBackend, useLocalState } from '../backend';
-import { Window } from '../layouts';
-import {
- Scrubber,
- ScrubberProps,
- Vent,
- VentProps,
-} from './common/AtmosControls';
-import { InterfaceLockNoticeBox } from './common/InterfaceLockNoticeBox';
-
-type AirAlarmData = {
- locked: BooleanLike;
- siliconUser: BooleanLike;
- emagged: BooleanLike;
- dangerLevel: 0 | 1 | 2;
- atmosAlarm: BooleanLike; // fix this
- fireAlarm: BooleanLike;
- faultStatus: 0 | 1 | 2;
- faultLocation: string;
- sensor: BooleanLike;
- allowLinkChange: BooleanLike;
- envData: {
- name: string;
- value: string; // preformatted in backend, shorter code that way.
- danger: 0 | 1 | 2;
- }[];
- tlvSettings: {
- id: string;
- name: string;
- unit: string;
- warning_min: number;
- hazard_min: number;
- warning_max: number;
- hazard_max: number;
- }[];
- vents: VentProps[];
- scrubbers: ScrubberProps[];
- selectedModePath: string;
- panicSiphonPath: string;
- filteringPath: string;
- modes: {
- name: string;
- desc: string;
- path: string;
- danger: BooleanLike;
- }[];
- thresholdTypeMap: Record;
-};
-
-export const AirAlarm = (props) => {
- const { act, data } = useBackend();
- const locked = data.locked && !data.siliconUser;
- return (
-
-
-
-
- {!locked && }
-
-
- );
-};
-
-const AirAlarmStatus = (props) => {
- const { data } = useBackend();
- const { envData } = data;
- const dangerMap = {
- 0: {
- color: 'good',
- localStatusText: 'Optimal',
- },
- 1: {
- color: 'average',
- localStatusText: 'Caution',
- },
- 2: {
- color: 'bad',
- localStatusText: 'Danger (Internals Required)',
- },
- };
- const faultMap = {
- 0: {
- color: 'green',
- areaFaultText: 'None',
- },
- 1: {
- color: 'purple',
- areaFaultText: 'Manual Trigger',
- },
- 2: {
- color: 'average',
- areaFaultText: 'Automatic Detection',
- },
- };
- const localStatus = dangerMap[data.dangerLevel] || dangerMap[0];
- const areaFault = faultMap[data.faultStatus] || faultMap[0];
- return (
-
-
- {(envData.length > 0 && (
- <>
- {envData.map((entry) => {
- const status = dangerMap[entry.danger] || dangerMap[0];
- return (
-
- {entry.value}
-
- );
- })}
-
- {localStatus.localStatusText}
-
-
- {(data.atmosAlarm && 'Atmosphere Alarm') ||
- (data.fireAlarm && 'Fire Alarm') ||
- 'Nominal'}
-
-
- {areaFault.areaFaultText}
-
-
- {data.faultLocation || 'None'}
-
- >
- )) || (
-
- Cannot obtain air sample for analysis.
-
- )}
- {!!data.emagged && (
-
- Safety measures offline. Device may exhibit abnormal behavior.
-
- )}
-
-
- );
-};
-
-const AIR_ALARM_ROUTES = {
- home: {
- title: 'Air Controls',
- component: () => AirAlarmControlHome,
- },
- vents: {
- title: 'Vent Controls',
- component: () => AirAlarmControlVents,
- },
- scrubbers: {
- title: 'Scrubber Controls',
- component: () => AirAlarmControlScrubbers,
- },
- modes: {
- title: 'Operating Mode',
- component: () => AirAlarmControlModes,
- },
- thresholds: {
- title: 'Alarm Thresholds',
- component: () => AirAlarmControlThresholds,
- },
-} as const;
-
-type Screen = keyof typeof AIR_ALARM_ROUTES;
-
-const AirAlarmControl = (props) => {
- const [screen, setScreen] = useLocalState('screen', 'home');
- const route = AIR_ALARM_ROUTES[screen] || AIR_ALARM_ROUTES.home;
- const Component = route.component();
- return (
- setScreen('home')}
- />
- )
- }
- >
-
-
- );
-};
-
-// Home screen
-// --------------------------------------------------------
-
-const AirAlarmControlHome = (props) => {
- const { act, data } = useBackend();
- const [screen, setScreen] = useLocalState('screen', 'home');
- const {
- selectedModePath,
- panicSiphonPath,
- filteringPath,
- atmosAlarm,
- sensor,
- allowLinkChange,
- } = data;
- const isPanicSiphoning = selectedModePath === panicSiphonPath;
- return (
- <>
- act(atmosAlarm ? 'reset' : 'alarm')}
- />
-
-
- act('mode', {
- mode: isPanicSiphoning ? filteringPath : panicSiphonPath,
- })
- }
- />
-
- setScreen('vents')}
- />
-
- setScreen('scrubbers')}
- />
-
- setScreen('modes')}
- />
-
- setScreen('thresholds')}
- />
- {!!sensor && !!allowLinkChange && (
-
- act('disconnect_sensor')}
- />
-
- )}
- >
- );
-};
-
-// Vents
-// --------------------------------------------------------
-
-const AirAlarmControlVents = (props) => {
- const { data } = useBackend();
- const { vents } = data;
- if (!vents || vents.length === 0) {
- return Nothing to show ;
- }
- return (
-
- {vents.map((vent) => (
-
- ))}
-
- );
-};
-
-// Scrubbers
-// --------------------------------------------------------
-
-const AirAlarmControlScrubbers = (props) => {
- const { data } = useBackend();
- const { scrubbers } = data;
- if (!scrubbers || scrubbers.length === 0) {
- return Nothing to show ;
- }
- return (
-
- {scrubbers.map((scrubber) => (
-
- ))}
-
- );
-};
-
-// Modes
-// --------------------------------------------------------
-
-const AirAlarmControlModes = (props) => {
- const { act, data } = useBackend();
- const { modes, selectedModePath } = data;
- if (!modes || modes.length === 0) {
- return Nothing to show ;
- }
- return (
- <>
- {modes.map((mode) => (
-
- act('mode', { mode: mode.path })}
- />
-
-
- ))}
- >
- );
-};
-
-// Thresholds
-// --------------------------------------------------------
-
-type EditingModalProps = {
- id: string;
- name: string;
- type: number;
- typeVar: string;
- typeName: string;
- unit: string;
- oldValue: number;
- finish: () => void;
-};
-
-const EditingModal = (props: EditingModalProps) => {
- const { act, data } = useBackend();
- const { id, name, type, typeVar, typeName, unit, oldValue, finish } = props;
- return (
-
- finish()} icon="times" color="red" />}
- >
-
- {`Editing the ${typeName.toLowerCase()} value for ${name.toLowerCase()}...`}
-
- {oldValue === -1 ? (
-
- act('set_threshold', {
- threshold: id,
- threshold_type: type,
- value: 0,
- })
- }
- >
- {'Enable'}
-
- ) : (
- <>
-
- act('set_threshold', {
- threshold: id,
- threshold_type: type,
- value: value,
- })
- }
- unit={unit}
- value={oldValue}
- minValue={0}
- maxValue={100000}
- step={10}
- />
-
- act('set_threshold', {
- threshold: id,
- threshold_type: type,
- value: -1,
- })
- }
- >
- {'Disable'}
-
- >
- )}
-
-
- );
-};
-
-const AirAlarmControlThresholds = (props) => {
- const { act, data } = useBackend();
- const [activeModal, setActiveModal] = useLocalState | null>('tlvModal', null);
- const { tlvSettings, thresholdTypeMap } = data;
- return (
- <>
-
-
- Threshold
-
- Danger Below
-
-
- Warning Below
-
-
- Warning Above
-
-
- Danger Above
-
- Actions
-
- {tlvSettings.map((tlv) => (
-
- {tlv.name}
-
-
- setActiveModal({
- id: tlv.id,
- name: tlv.name,
- type: thresholdTypeMap['hazard_min'],
- typeVar: 'hazard_min',
- typeName: 'Minimum Hazard',
- unit: tlv.unit,
- finish: () => setActiveModal(null),
- })
- }
- >
- {tlv.hazard_min === -1
- ? 'Disabled'
- : tlv.hazard_min + ' ' + tlv.unit}
-
-
-
-
- setActiveModal({
- id: tlv.id,
- name: tlv.name,
- type: thresholdTypeMap['warning_min'],
- typeVar: 'warning_min',
- typeName: 'Minimum Warning',
- unit: tlv.unit,
- finish: () => setActiveModal(null),
- })
- }
- >
- {tlv.warning_min === -1
- ? 'Disabled'
- : tlv.warning_min + ' ' + tlv.unit}
-
-
-
-
- setActiveModal({
- id: tlv.id,
- name: tlv.name,
- type: thresholdTypeMap['warning_max'],
- typeVar: 'warning_max',
- typeName: 'Maximum Warning',
- unit: tlv.unit,
- finish: () => setActiveModal(null),
- })
- }
- >
- {tlv.warning_max === -1
- ? 'Disabled'
- : tlv.warning_max + ' ' + tlv.unit}
-
-
-
-
- setActiveModal({
- id: tlv.id,
- name: tlv.name,
- type: thresholdTypeMap['hazard_max'],
- typeVar: 'hazard_max',
- typeName: 'Maximum Hazard',
- unit: tlv.unit,
- finish: () => setActiveModal(null),
- })
- }
- >
- {tlv.hazard_max === -1
- ? 'Disabled'
- : tlv.hazard_max + ' ' + tlv.unit}
-
-
-
- <>
-
- act('reset_threshold', {
- threshold: tlv.id,
- threshold_type: thresholdTypeMap['all'],
- })
- }
- />
-
- act('set_threshold', {
- threshold: tlv.id,
- threshold_type: thresholdTypeMap['all'],
- value: -1,
- })
- }
- />
- >
-
-
- ))}
-
- {activeModal && (
- tlv.id === activeModal.id) || {})[
- activeModal.typeVar
- ]
- }
- {...activeModal}
- />
- )}
- >
- );
-};
diff --git a/tgui/packages/tgui/interfaces/AirAlarm/AlarmControl.tsx b/tgui/packages/tgui/interfaces/AirAlarm/AlarmControl.tsx
new file mode 100644
index 00000000000..b76226450ae
--- /dev/null
+++ b/tgui/packages/tgui/interfaces/AirAlarm/AlarmControl.tsx
@@ -0,0 +1,59 @@
+import { useState } from 'react';
+import { Button, Section } from 'tgui-core/components';
+
+import { AirAlarmControlHome } from './screens/Home';
+import { AirAlarmControlModes } from './screens/Modes';
+import { AirAlarmControlScrubbers } from './screens/Scrubbers';
+import { AirAlarmControlThresholds } from './screens/Thresholds';
+import { AirAlarmControlVents } from './screens/Vents';
+import { AlarmScreen } from './types';
+
+export const AIR_ALARM_ROUTES = {
+ home: {
+ title: 'Air Controls',
+ component: AirAlarmControlHome,
+ },
+ vents: {
+ title: 'Vent Controls',
+ component: AirAlarmControlVents,
+ },
+ scrubbers: {
+ title: 'Scrubber Controls',
+ component: AirAlarmControlScrubbers,
+ },
+ modes: {
+ title: 'Operating Mode',
+ component: AirAlarmControlModes,
+ },
+ thresholds: {
+ title: 'Alarm Thresholds',
+ component: AirAlarmControlThresholds,
+ },
+} as const;
+
+export function AirAlarmControl(props) {
+ const [screen, setScreen] = useState('home');
+
+ const route = AIR_ALARM_ROUTES[screen] || AIR_ALARM_ROUTES.home;
+ const Component = route.component;
+ const isHome = route.title === 'Air Controls';
+
+ return (
+ setScreen('home')}
+ disabled={isHome}
+ >
+ Back
+
+ }
+ >
+
+
+ );
+}
diff --git a/tgui/packages/tgui/interfaces/AirAlarm/AlarmModal.tsx b/tgui/packages/tgui/interfaces/AirAlarm/AlarmModal.tsx
new file mode 100644
index 00000000000..e9d10f0db28
--- /dev/null
+++ b/tgui/packages/tgui/interfaces/AirAlarm/AlarmModal.tsx
@@ -0,0 +1,64 @@
+import { Box, Button, Modal, NumberInput, Section } from 'tgui-core/components';
+
+import { useBackend } from '../../backend';
+import { AirAlarmData, EditingModalProps } from './types';
+
+export function AlarmEditingModal(props: EditingModalProps) {
+ const { act } = useBackend();
+ const { id, name, type, typeName, unit, oldValue, finish, typeVar } = props;
+
+ return (
+
+ finish()} icon="times" color="red" />}
+ >
+
+ Editing the {typeName.toLowerCase()} value for {name.toLowerCase()}
+ ...
+
+ {oldValue === -1 ? (
+
+ act('set_threshold', {
+ threshold: id,
+ threshold_type: type,
+ value: 0,
+ })
+ }
+ >
+ Enable
+
+ ) : (
+ <>
+
+ act('set_threshold', {
+ threshold: id,
+ threshold_type: type,
+ value: value,
+ })
+ }
+ unit={unit}
+ value={oldValue}
+ minValue={0}
+ maxValue={100000}
+ step={10}
+ />
+
+ act('set_threshold', {
+ threshold: id,
+ threshold_type: type,
+ value: -1,
+ })
+ }
+ >
+ Disable
+
+ >
+ )}
+
+
+ );
+}
diff --git a/tgui/packages/tgui/interfaces/AirAlarm/AlarmStatus.tsx b/tgui/packages/tgui/interfaces/AirAlarm/AlarmStatus.tsx
new file mode 100644
index 00000000000..60e8b6748cf
--- /dev/null
+++ b/tgui/packages/tgui/interfaces/AirAlarm/AlarmStatus.tsx
@@ -0,0 +1,94 @@
+import { LabeledList, Section } from 'tgui-core/components';
+
+import { useBackend } from '../../backend';
+import { AirAlarmData } from './types';
+
+const dangerMap = {
+ 0: {
+ color: 'good',
+ localStatusText: 'Optimal',
+ },
+ 1: {
+ color: 'average',
+ localStatusText: 'Caution',
+ },
+ 2: {
+ color: 'bad',
+ localStatusText: 'Danger (Internals Required)',
+ },
+} as const;
+
+const faultMap = {
+ 0: {
+ color: 'good',
+ areaFaultText: 'None',
+ },
+ 1: {
+ color: 'purple',
+ areaFaultText: 'Manual Trigger',
+ },
+ 2: {
+ color: 'average',
+ areaFaultText: 'Automatic Detection',
+ },
+} as const;
+
+export function AirAlarmStatus(props) {
+ const { data } = useBackend();
+ const { envData } = data;
+
+ const localStatus = dangerMap[data.dangerLevel] || dangerMap[0];
+ const areaFault = faultMap[data.faultStatus] || faultMap[0];
+
+ return (
+
+
+ {envData.length <= 0 ? (
+
+ Cannot obtain air sample for analysis.
+
+ ) : (
+ <>
+ {envData.map((entry) => {
+ const status = dangerMap[entry.danger] || dangerMap[0];
+ return (
+
+ {entry.value}
+
+ );
+ })}
+
+ {localStatus.localStatusText}
+
+
+ {(data.atmosAlarm && 'Atmosphere Alarm') ||
+ (data.fireAlarm && 'Fire Alarm') ||
+ 'Nominal'}
+
+
+ {areaFault.areaFaultText}
+
+
+ {data.faultLocation || 'None'}
+
+ >
+ )}
+ {!!data.emagged && (
+
+ Safety measures offline. Device may exhibit abnormal behavior.
+
+ )}
+
+
+ );
+}
diff --git a/tgui/packages/tgui/interfaces/AirAlarm/index.tsx b/tgui/packages/tgui/interfaces/AirAlarm/index.tsx
new file mode 100644
index 00000000000..717195bdaea
--- /dev/null
+++ b/tgui/packages/tgui/interfaces/AirAlarm/index.tsx
@@ -0,0 +1,49 @@
+import { useState } from 'react';
+import { Stack } from 'tgui-core/components';
+
+import { useBackend } from '../../backend';
+import { Window } from '../../layouts';
+import { InterfaceLockNoticeBox } from '../common/InterfaceLockNoticeBox';
+import { AirAlarmControl } from './AlarmControl';
+import { AlarmEditingModal } from './AlarmModal';
+import { AirAlarmStatus } from './AlarmStatus';
+import { ActiveModal, AirAlarmData } from './types';
+import { ModalContext } from './useModal';
+
+export function AirAlarm(props) {
+ const { data } = useBackend();
+ const { tlvSettings } = data;
+
+ const locked = data.locked && !data.siliconUser;
+
+ const modalState = useState();
+ const [activeModal, setActiveModal] = modalState;
+
+ return (
+
+
+
+
+
+
+
+
+
+
+ {!locked && }
+
+ {activeModal && (
+ tlv.id === activeModal.id) || {})[
+ activeModal.typeVar
+ ]
+ }
+ {...activeModal}
+ />
+ )}
+
+
+
+ );
+}
diff --git a/tgui/packages/tgui/interfaces/AirAlarm/screens/Home.tsx b/tgui/packages/tgui/interfaces/AirAlarm/screens/Home.tsx
new file mode 100644
index 00000000000..65edf13c55e
--- /dev/null
+++ b/tgui/packages/tgui/interfaces/AirAlarm/screens/Home.tsx
@@ -0,0 +1,85 @@
+import { Dispatch, SetStateAction } from 'react';
+import { useBackend } from 'tgui/backend';
+import { Button, Stack } from 'tgui-core/components';
+
+import { AirAlarmData, AlarmScreen } from '../types';
+
+type Props = {
+ setScreen?: Dispatch>;
+};
+
+export function AirAlarmControlHome(props: Props) {
+ const { act, data } = useBackend();
+ const { setScreen } = props;
+ if (!setScreen) {
+ throw new Error('setScreen is required');
+ }
+
+ const {
+ allowLinkChange,
+ atmosAlarm,
+ filteringPath,
+ panicSiphonPath,
+ selectedModePath,
+ sensor,
+ } = data;
+
+ const isPanicSiphoning = selectedModePath === panicSiphonPath;
+ return (
+
+
+ act(atmosAlarm ? 'reset' : 'alarm')}
+ >
+ Area Atmosphere Alarm
+
+
+
+
+ act('mode', {
+ mode: isPanicSiphoning ? filteringPath : panicSiphonPath,
+ })
+ }
+ >
+ Panic Siphon
+
+
+
+ setScreen('vents')}>
+ Vent Controls
+
+
+
+ setScreen('scrubbers')}>
+ Scrubber Controls
+
+
+
+ setScreen('modes')}>
+ Operating Mode
+
+
+
+ setScreen('thresholds')}>
+ Alarm Thresholds
+
+
+ {!!sensor && !!allowLinkChange && (
+
+ act('disconnect_sensor')}
+ >
+ Disconnect Sensor
+
+
+ )}
+
+ );
+}
diff --git a/tgui/packages/tgui/interfaces/AirAlarm/screens/Modes.tsx b/tgui/packages/tgui/interfaces/AirAlarm/screens/Modes.tsx
new file mode 100644
index 00000000000..75b5993fec4
--- /dev/null
+++ b/tgui/packages/tgui/interfaces/AirAlarm/screens/Modes.tsx
@@ -0,0 +1,37 @@
+import { useBackend } from 'tgui/backend';
+import { Button, NoticeBox, Stack } from 'tgui-core/components';
+
+import { AirAlarmData } from '../types';
+
+export function AirAlarmControlModes(props) {
+ const { act, data } = useBackend();
+ const { modes, selectedModePath } = data;
+
+ if (!modes || modes.length === 0) {
+ return (
+
+ Nothing to show
+
+ );
+ }
+
+ return (
+
+ {modes.map((mode) => (
+
+ act('mode', { mode: mode.path })}
+ >
+ {mode.name + ' - ' + mode.desc}
+
+
+ ))}
+
+ );
+}
diff --git a/tgui/packages/tgui/interfaces/AirAlarm/screens/Scrubbers.tsx b/tgui/packages/tgui/interfaces/AirAlarm/screens/Scrubbers.tsx
new file mode 100644
index 00000000000..23bd127f3e7
--- /dev/null
+++ b/tgui/packages/tgui/interfaces/AirAlarm/screens/Scrubbers.tsx
@@ -0,0 +1,26 @@
+import { useBackend } from 'tgui/backend';
+import { NoticeBox, VirtualList } from 'tgui-core/components';
+
+import { Scrubber } from '../../common/AtmosControls';
+import { AirAlarmData } from '../types';
+
+export function AirAlarmControlScrubbers(props) {
+ const { data } = useBackend();
+ const { scrubbers } = data;
+
+ if (!scrubbers || scrubbers.length === 0) {
+ return (
+
+ Nothing to show
+
+ );
+ }
+
+ return (
+
+ {scrubbers.map((scrubber) => (
+
+ ))}
+
+ );
+}
diff --git a/tgui/packages/tgui/interfaces/AirAlarm/screens/Thresholds.tsx b/tgui/packages/tgui/interfaces/AirAlarm/screens/Thresholds.tsx
new file mode 100644
index 00000000000..8d4eb2248ab
--- /dev/null
+++ b/tgui/packages/tgui/interfaces/AirAlarm/screens/Thresholds.tsx
@@ -0,0 +1,142 @@
+import { useBackend } from 'tgui/backend';
+import { Button, Table } from 'tgui-core/components';
+
+import { AirAlarmData } from '../types';
+import { useAlarmModal } from '../useModal';
+
+export function AirAlarmControlThresholds(props) {
+ const { act, data } = useBackend();
+ const [activeModal, setActiveModal] = useAlarmModal();
+ const { tlvSettings, thresholdTypeMap } = data;
+
+ return (
+
+
+ Threshold
+
+ Danger Below
+
+
+ Warning Below
+
+
+ Warning Above
+
+
+ Danger Above
+
+ Actions
+
+ {tlvSettings.map((tlv) => (
+
+ {tlv.name}
+
+
+ setActiveModal({
+ id: tlv.id,
+ name: tlv.name,
+ type: thresholdTypeMap['hazard_min'],
+ typeVar: 'hazard_min',
+ typeName: 'Minimum Hazard',
+ unit: tlv.unit,
+ finish: () => setActiveModal(undefined),
+ })
+ }
+ >
+ {tlv.hazard_min === -1
+ ? 'Disabled'
+ : tlv.hazard_min + ' ' + tlv.unit}
+
+
+
+
+ setActiveModal({
+ id: tlv.id,
+ name: tlv.name,
+ type: thresholdTypeMap['warning_min'],
+ typeVar: 'warning_min',
+ typeName: 'Minimum Warning',
+ unit: tlv.unit,
+ finish: () => setActiveModal(undefined),
+ })
+ }
+ >
+ {tlv.warning_min === -1
+ ? 'Disabled'
+ : tlv.warning_min + ' ' + tlv.unit}
+
+
+
+
+ setActiveModal({
+ id: tlv.id,
+ name: tlv.name,
+ type: thresholdTypeMap['warning_max'],
+ typeVar: 'warning_max',
+ typeName: 'Maximum Warning',
+ unit: tlv.unit,
+ finish: () => setActiveModal(undefined),
+ })
+ }
+ >
+ {tlv.warning_max === -1
+ ? 'Disabled'
+ : tlv.warning_max + ' ' + tlv.unit}
+
+
+
+
+ setActiveModal({
+ id: tlv.id,
+ name: tlv.name,
+ type: thresholdTypeMap['hazard_max'],
+ typeVar: 'hazard_max',
+ typeName: 'Maximum Hazard',
+ unit: tlv.unit,
+ finish: () => setActiveModal(undefined),
+ })
+ }
+ >
+ {tlv.hazard_max === -1
+ ? 'Disabled'
+ : tlv.hazard_max + ' ' + tlv.unit}
+
+
+
+ <>
+
+ act('reset_threshold', {
+ threshold: tlv.id,
+ threshold_type: thresholdTypeMap['all'],
+ })
+ }
+ />
+
+ act('set_threshold', {
+ threshold: tlv.id,
+ threshold_type: thresholdTypeMap['all'],
+ value: -1,
+ })
+ }
+ />
+ >
+
+
+ ))}
+
+ );
+}
diff --git a/tgui/packages/tgui/interfaces/AirAlarm/screens/Vents.tsx b/tgui/packages/tgui/interfaces/AirAlarm/screens/Vents.tsx
new file mode 100644
index 00000000000..f4b289cfe4d
--- /dev/null
+++ b/tgui/packages/tgui/interfaces/AirAlarm/screens/Vents.tsx
@@ -0,0 +1,26 @@
+import { useBackend } from 'tgui/backend';
+import { NoticeBox, VirtualList } from 'tgui-core/components';
+
+import { Vent } from '../../common/AtmosControls';
+import { AirAlarmData } from '../types';
+
+export function AirAlarmControlVents(props) {
+ const { data } = useBackend();
+ const { vents } = data;
+
+ if (!vents || vents.length === 0) {
+ return (
+
+ Nothing to show
+
+ );
+ }
+
+ return (
+
+ {vents.map((vent) => (
+
+ ))}
+
+ );
+}
diff --git a/tgui/packages/tgui/interfaces/AirAlarm/types.ts b/tgui/packages/tgui/interfaces/AirAlarm/types.ts
new file mode 100644
index 00000000000..e8efeba00f7
--- /dev/null
+++ b/tgui/packages/tgui/interfaces/AirAlarm/types.ts
@@ -0,0 +1,67 @@
+import { BooleanLike } from 'tgui-core/react';
+
+import { ScrubberProps } from '../common/AtmosControls';
+import { VentProps } from '../common/AtmosControls';
+import { AIR_ALARM_ROUTES } from './AlarmControl';
+
+type AlarmStatus = 0 | 1 | 2;
+
+type EnvironmentData = {
+ danger: AlarmStatus;
+ name: string;
+ value: string; // preformatted in backend, shorter code that way.
+};
+
+type Mode = {
+ danger: BooleanLike;
+ desc: string;
+ name: string;
+ path: string;
+};
+
+type TLVSettings = {
+ hazard_max: number;
+ hazard_min: number;
+ id: string;
+ name: string;
+ unit: string;
+ warning_max: number;
+ warning_min: number;
+};
+
+export type AirAlarmData = {
+ allowLinkChange: BooleanLike;
+ atmosAlarm: BooleanLike; // fix this
+ dangerLevel: AlarmStatus;
+ emagged: BooleanLike;
+ envData: EnvironmentData[];
+ faultLocation: string;
+ faultStatus: AlarmStatus;
+ filteringPath: string;
+ fireAlarm: BooleanLike;
+ locked: BooleanLike;
+ modes: Mode[];
+ panicSiphonPath: string;
+ scrubbers: ScrubberProps[];
+ selectedModePath: string;
+ sensor: BooleanLike;
+ siliconUser: BooleanLike;
+ thresholdTypeMap: Record;
+ tlvSettings: TLVSettings[];
+ vents: VentProps[];
+};
+
+export type AlarmScreen = keyof typeof AIR_ALARM_ROUTES;
+
+export type EditingModalProps = {
+ finish: () => void;
+ id: string;
+ name: string;
+ oldValue: number;
+ type: number;
+ typeName: string;
+ typeVar: string;
+ unit: string;
+};
+
+export type ActiveModal = Omit | undefined;
diff --git a/tgui/packages/tgui/interfaces/AirAlarm/useModal.ts b/tgui/packages/tgui/interfaces/AirAlarm/useModal.ts
new file mode 100644
index 00000000000..7f8d3bedc65
--- /dev/null
+++ b/tgui/packages/tgui/interfaces/AirAlarm/useModal.ts
@@ -0,0 +1,19 @@
+import { createContext, Dispatch, SetStateAction, useContext } from 'react';
+
+import { ActiveModal } from './types';
+
+type ModalContextType = [ActiveModal, Dispatch>];
+
+export const ModalContext = createContext([
+ undefined,
+ () => {},
+]);
+
+export function useAlarmModal() {
+ const context = useContext(ModalContext);
+ if (!context) {
+ throw new Error('useAlarmModal must be used within a ModalProvider');
+ }
+
+ return context;
+}
diff --git a/tgui/packages/tgui/interfaces/BigManipulator.tsx b/tgui/packages/tgui/interfaces/BigManipulator.tsx
index b4e4da145a4..e0170a86709 100644
--- a/tgui/packages/tgui/interfaces/BigManipulator.tsx
+++ b/tgui/packages/tgui/interfaces/BigManipulator.tsx
@@ -1,4 +1,11 @@
-import { Button, Section, Stack, Table } from 'tgui-core/components';
+import {
+ Box,
+ Button,
+ Section,
+ Slider,
+ Stack,
+ Table,
+} from 'tgui-core/components';
import { BooleanLike } from 'tgui-core/react';
import { useBackend } from '../backend';
@@ -6,13 +13,17 @@ import { Window } from '../layouts';
type ManipulatorData = {
active: BooleanLike;
- drop_after_use: BooleanLike;
+ interaction_delay: number;
+ worker_interaction: string;
highest_priority: BooleanLike;
- manipulate_mode: string;
+ interaction_mode: string;
settings_list: PrioritySettings[];
throw_range: number;
item_as_filter: string;
selected_type: string;
+ delay_step: number;
+ min_delay: number;
+ max_delay: number;
};
type PrioritySettings = {
@@ -20,99 +31,227 @@ type PrioritySettings = {
priority_width: number;
};
-export const BigManipulator = (props) => {
+const MasterControls = () => {
+ const { act, data } = useBackend();
+ const { delay_step, interaction_delay, min_delay, max_delay } = data;
+ return (
+
+ Delay:
+
+ {' '}
+
+ act('changeDelay', {
+ new_delay: min_delay,
+ })
+ }
+ />
+
+
+
+ act('changeDelay', {
+ new_delay: value,
+ })
+ }
+ />
+
+
+
+ act('changeDelay', {
+ new_delay: max_delay,
+ })
+ }
+ />
+
+
+ {' '}
+ act('drop')}
+ />
+
+
+ );
+};
+
+type ConfigRowProps = {
+ label: string;
+ content: string;
+ onClick: () => void;
+ tooltip: string;
+ selected?: BooleanLike;
+};
+
+const ConfigRow = (props: ConfigRowProps) => {
+ const { label, content, onClick, tooltip, selected = false } = props;
+
+ return (
+
+
+ {label}
+
+
+
+
+
+ );
+};
+
+export const BigManipulator = () => {
const { data, act } = useBackend();
const {
active,
- manipulate_mode,
+ interaction_mode,
settings_list,
- drop_after_use,
+ worker_interaction,
highest_priority,
throw_range,
item_as_filter,
selected_type,
} = data;
+
return (
-
+
act('on')}
/>
}
>
-
- act('change_take_item_type')}
- />
- act('change_mode')}
- />
- act('drop')}
- />
-
-
- act('add_filter')}
- />
- {manipulate_mode === 'use' && (
- act('drop_use_change')}
- />
- )}
- {manipulate_mode === 'throw' && (
- act('change_throw_range')}
- />
- )}
-
+
+
+
- {settings_list.length >= 2 && (
-
- {settings_list.length >= 2 && (
- act('highest_priority_change')}
+
+
+
+ act('change_mode')}
+ tooltip="Cycle through interaction modes"
+ />
+
+ {interaction_mode === 'throw' && (
+ 1 ? 'S' : ''}`}
+ onClick={() => act('change_throw_range')}
+ tooltip="Cycle the distance an object will travel when thrown"
/>
)}
+
+ act('change_take_item_type')}
+ tooltip="Cycle through types of items to filter"
+ />
+ {interaction_mode === 'use' && (
+ act('worker_interaction_change')}
+ tooltip={
+ worker_interaction === 'normal'
+ ? 'Interact using the held item'
+ : worker_interaction === 'single'
+ ? 'Drop the item after a single cycle'
+ : 'Interact with an empty hand'
+ }
+ />
+ )}
+ act('add_filter')}
+ tooltip="Click while holding an item to set filtering type"
+ />
+
+ {interaction_mode !== 'throw' && (
+ act('highest_priority_change')}
+ tooltip="Only interact with the highest dropoff point in the list"
+ selected={!!highest_priority}
+ />
+ )}
+
+
+
+ {interaction_mode !== 'throw' && (
+
{settings_list.map((setting) => (
-
-
- {setting.name} {` [priority: ${setting.priority_width}]`}
- {setting.priority_width >= 2 && (
-
- act('change_priority', {
- priority: setting.priority_width,
- })
- }
- />
- )}
+
+
+
+ act('change_priority', {
+ priority: setting.priority_width,
+ })
+ }
+ />
+ {setting.name}
+ {setting.priority_width}
))}
diff --git a/tgui/packages/tgui/interfaces/Blueprints.tsx b/tgui/packages/tgui/interfaces/Blueprints.tsx
index 2a2369188c4..9d58e73f1c0 100644
--- a/tgui/packages/tgui/interfaces/Blueprints.tsx
+++ b/tgui/packages/tgui/interfaces/Blueprints.tsx
@@ -7,6 +7,7 @@ import { Window } from '../layouts';
type Data = {
area_notice: string;
area_name: string;
+ area_allows_shuttle_docking: boolean;
wire_data: WireData[];
legend: string;
legend_viewing_list: string;
@@ -97,7 +98,14 @@ const WireArea = () => {
const MainMenu = () => {
const { act, data } = useBackend();
- const { area_notice, area_name, fluff_notice, station_name, viewing } = data;
+ const {
+ area_notice,
+ area_name,
+ area_allows_shuttle_docking,
+ fluff_notice,
+ station_name,
+ viewing,
+ } = data;
return (
@@ -131,6 +139,18 @@ const MainMenu = () => {
Change area name
+
+ act('toggle_allow_shuttle_docking')}
+ >
+ Allow shuttle docking
+
+
{
@@ -95,12 +98,15 @@ const ChemMasterContent = (props: {
isPrinting,
printingProgress,
printingTotal,
+ selectedPillDuration,
maxPrintable,
+ maxPillDuration,
isTransfering,
beaker,
buffer,
categories,
selectedContainerVolume,
+ selectedContainerCategory,
} = data;
const [itemCount, setItemCount] = useState(1);
@@ -206,6 +212,20 @@ const ChemMasterContent = (props: {
setItemCount(value);
}}
/>
+ {selectedContainerCategory === 'pills' && (
+ {
+ act('setPillDuration', {
+ duration: value,
+ });
+ }}
+ />
+ )}
{`${
Math.round(
@@ -294,7 +314,7 @@ const ReagentEntry = (props: ReagentProps) => {
{`${chemical.name} `}
- {`u`}
+ {'u'}
{
// Handle custom color icon correctly
const preview_color = custom_color_selected ? 'custom' : data.current_color;
+ const {
+ color_list,
+ current_custom_color,
+ current_color,
+ current_decal,
+ current_dir,
+ decal_list,
+ dir_list,
+ } = data;
+
return (
-
+
-
- {data.color_list.map((color) => {
- return (
-
- act('select color', {
- color: color.color,
- })
- }
- >
-
- {color.name}
-
- );
- })}
- {supports_custom_color && (
- act('pick custom color')}
- >
-
- Custom
-
- )}
-
-
-
- {data.decal_list.map((decal) => {
- const nondirectional = data.nondirectional_decals.includes(
- decal.decal,
- );
-
- return nondirectional ? (
- // Tallll button for nondirectional
-
- ) : (
- // 4 buttons for directional
-
+
+
+ {color_list.map((color) => {
+ return (
+
+ act('select color', {
+ color: color.color,
+ })
+ }
+ >
+
+ {color.name}
+
+ );
+ })}
+ {supports_custom_color && (
+ act('pick custom color')}
>
- {data.dir_list.map((dir) => {
- const selected =
- decal.decal === data.current_decal &&
- dir.dir === data.current_dir;
+
+ Custom
+
+ )}
+
+
+
+
+
+ {decal_list.map((decal) => {
+ const nondirectional = data.nondirectional_decals.includes(
+ decal.decal,
+ );
- return (
-
- );
- })}
-
- );
- })}
-
-
+ return nondirectional ? (
+ // Tallll button for nondirectional
+
+ ) : (
+ // 4 buttons for directional
+
+ {dir_list.map((dir) => {
+ const selected =
+ decal.decal === current_decal &&
+ dir.dir === current_dir;
+
+ return (
+
+ );
+ })}
+
+ );
+ })}
+
+
+
+
);
diff --git a/tgui/packages/tgui/interfaces/ExperimentConfigure.jsx b/tgui/packages/tgui/interfaces/ExperimentConfigure.tsx
similarity index 53%
rename from tgui/packages/tgui/interfaces/ExperimentConfigure.jsx
rename to tgui/packages/tgui/interfaces/ExperimentConfigure.tsx
index 8b26ec78b39..beddb1e1918 100644
--- a/tgui/packages/tgui/interfaces/ExperimentConfigure.jsx
+++ b/tgui/packages/tgui/interfaces/ExperimentConfigure.tsx
@@ -1,11 +1,10 @@
-import { sortBy } from 'common/collections';
import {
Box,
Button,
- Flex,
Icon,
LabeledList,
Section,
+ Stack,
Table,
Tooltip,
} from 'tgui-core/components';
@@ -13,7 +12,34 @@ import {
import { useBackend } from '../backend';
import { Window } from '../layouts';
-const ExperimentStages = (props) => {
+type Techweb = {
+ all_servers: string[];
+ ref: string;
+ selected: number;
+ web_id: string;
+ web_org: string;
+};
+
+type ExperimentData = {
+ description: string;
+ name: string;
+ performance_hint: string;
+ progress: Progress[];
+ ref: string;
+ selected: number;
+ tag: string;
+};
+
+type Progress = [string, string, number, number];
+
+type Data = {
+ always_active: boolean;
+ experiments: ExperimentData[];
+ has_start_callback: boolean;
+ techwebs: Techweb[];
+};
+
+function ExperimentStages(props) {
return (
{props.children.map((stage, idx) => (
@@ -21,9 +47,9 @@ const ExperimentStages = (props) => {
))}
);
-};
+}
-const ExperimentStageRow = (props) => {
+function ExperimentStageRow(props) {
const [type, description, value, altValue] = props;
// Determine completion based on type of stage
@@ -61,35 +87,36 @@ const ExperimentStageRow = (props) => {
);
-};
+}
-export const TechwebServer = (props) => {
- const { act, data } = useBackend();
+function TechwebServer(props) {
+ const { act } = useBackend();
const { techwebs } = props;
return techwebs.map((server, index) => (
-
-
+
{server.web_id} / {server.web_org}
-
-
+
+
server.selected
? act('clear_server')
: act('select_server', { ref: server.ref })
}
- content={server.selected ? 'Disconnect' : 'Connect'}
backgroundColor={server.selected ? 'good' : 'rgba(0, 0, 0, 0.4)'}
className="ExperimentTechwebServer__ConnectButton"
- />
-
-
+ >
+ {server.selected ? 'Disconnect' : 'Connect'}
+
+
+
Connectivity to this web is maintained by the following servers...
@@ -102,87 +129,10 @@ export const TechwebServer = (props) => {
));
-};
+}
-export const ExperimentConfigure = (props) => {
- const { act, data } = useBackend();
- const { always_active, has_start_callback } = data;
- let techwebs = data.techwebs ?? [];
-
- const experiments = sortBy(data.experiments ?? [], (exp) => exp.name);
-
- // Group servers together by web
- let webs = new Map();
- techwebs.forEach((x) => {
- if (x.web_id !== null) {
- if (!webs.has(x.web_id)) {
- webs.set(x.web_id, []);
- }
- webs.get(x.web_id).push(x);
- }
- });
-
- return (
-
-
-
-
-
-
- {webs.size > 0
- ? 'Please select a techweb to connect to...'
- : 'Found no servers connected to a techweb!'}
-
- {webs.size > 0 &&
- Array.from(webs, ([techweb, techwebs]) => (
-
- ))}
-
-
-
- {techwebs.some((e) => e.selected) && (
-
-
- {(experiments.length &&
- always_active &&
- 'This device is configured to attempt to perform all available' +
- ' experiments, so no further configuration is necessary.') ||
- (experiments.length &&
- 'Select one of the following experiments...') ||
- 'No experiments found on this web'}
-
-
- {experiments.map((exp, i) => {
- return ;
- })}
-
-
- )}
-
- {!!has_start_callback && (
-
- act('start_experiment_callback')}
- disabled={!experiments.some((e) => e.selected)}
- icon="flask"
- >
- Perform Experiment
-
-
- )}
-
-
-
- );
-};
-
-export const Experiment = (props) => {
- const { act, data } = useBackend();
+export function Experiment(props) {
+ const { act } = useBackend();
const { exp } = props;
const { name, description, tag, selected, progress, performance_hint, ref } =
exp;
@@ -199,24 +149,100 @@ export const Experiment = (props) => {
backgroundColor={selected ? 'good' : '#40628a'}
className="ExperimentConfigure__ExperimentName"
>
-
- {name}
-
-
+
+ {name}
+
+
+
+
-
+
{description}
{props.children}
{progress}
-
+
);
-};
+}
+
+export function ExperimentConfigure(props) {
+ const { act, data } = useBackend();
+ const { always_active, has_start_callback } = data;
+
+ let techwebs = data.techwebs ?? [];
+
+ const experiments = data.experiments.sort((a, b) =>
+ a.name.localeCompare(b.name),
+ );
+
+ // Group servers together by web
+ let webs = new Map();
+ for (const x of techwebs) {
+ if (x.web_id !== null) {
+ if (!webs.has(x.web_id)) {
+ webs.set(x.web_id, []);
+ }
+ webs.get(x.web_id).push(x);
+ }
+ }
+
+ let textContent = '';
+ if (experiments.length === 0) {
+ textContent = 'No experiments found on this web';
+ } else if (always_active) {
+ textContent =
+ 'This device is configured to attempt to perform all available experiments, so no further configuration is necessary.';
+ } else {
+ textContent = 'Select one of the following experiments...';
+ }
+
+ return (
+
+
+
+
+ {webs.size > 0
+ ? 'Please select a techweb to connect to...'
+ : 'Found no servers connected to a techweb!'}
+
+ {webs.size > 0 &&
+ Array.from(webs, ([techweb, techwebs]) => (
+
+ ))}
+
+
+ {techwebs.some((e) => e.selected) && (
+
+
+ {textContent}
+
+ {experiments.map((exp, i) => (
+
+ ))}
+
+ )}
+
+ {!!has_start_callback && (
+ act('start_experiment_callback')}
+ disabled={!experiments.some((e) => e.selected)}
+ icon="flask"
+ >
+ Perform Experiment
+
+ )}
+
+
+ );
+}
diff --git a/tgui/packages/tgui/interfaces/FishAnalyzer.tsx b/tgui/packages/tgui/interfaces/FishAnalyzer.tsx
index 1de90f6a64f..2541fa44a29 100644
--- a/tgui/packages/tgui/interfaces/FishAnalyzer.tsx
+++ b/tgui/packages/tgui/interfaces/FishAnalyzer.tsx
@@ -183,7 +183,7 @@ const FishItem = (props) => {
tooltip={
- Inheritance: {trait.trait_inherit}
+ Inheritance: {trait.trait_inherit}%
{trait.trait_desc}
diff --git a/tgui/packages/tgui/interfaces/IntegratedCircuit/index.jsx b/tgui/packages/tgui/interfaces/IntegratedCircuit/index.jsx
index 252aa5ab4eb..b23672b0e90 100644
--- a/tgui/packages/tgui/interfaces/IntegratedCircuit/index.jsx
+++ b/tgui/packages/tgui/interfaces/IntegratedCircuit/index.jsx
@@ -457,72 +457,61 @@ export class IntegratedCircuit extends Component {
width={1200}
height={800}
buttons={
-
-
-
-
- act('set_display_name', { display_name: value })
- }
- />
-
-
+
+
+
+ act('set_display_name', { display_name: value })
+ }
+ />
+
+
+
+ this.setState((state) => ({
+ variableMenuOpen: !state.variableMenuOpen,
+ }))
+ }
+ />
+
+
+
+ this.setState((state) => ({
+ componentMenuOpen: !state.componentMenuOpen,
+ }))
+ }
+ />
+
+
+ act('toggle_grid_mode')}
+ />
+
+ {!!is_admin && (
+
- this.setState((state) => ({
- variableMenuOpen: !state.variableMenuOpen,
- }))
- }
+ onClick={() => act('save_circuit')}
+ icon="save"
/>
-
-
- this.setState((state) => ({
- componentMenuOpen: !state.componentMenuOpen,
- }))
- }
- />
-
-
- act('toggle_grid_mode')}
- />
-
- {!!is_admin && (
-
- act('save_circuit')}
- icon="save"
- />
-
- )}
-
-
+ )}
+
}
>
{
To sell materials, please insert sheets or similar stacks of
materials. All minerals sold on the market directly are subject to
- an 20% market fee. To prevent market manipulation, all registered
- traders can buy a total of 10 full stacks of materials at a time.
+ a scaling value decrease per material, but this will recover over
+ time. To prevent market manipulation, all registered traders can
+ buy a total of 10 full stacks of materials at a time.
All new purchases will include the cost of the shipped crate,
which may be recycled afterwards.
diff --git a/tgui/packages/tgui/interfaces/NtosMain.tsx b/tgui/packages/tgui/interfaces/NtosMain.tsx
index 3c9db1de5f5..9aea492a03f 100644
--- a/tgui/packages/tgui/interfaces/NtosMain.tsx
+++ b/tgui/packages/tgui/interfaces/NtosMain.tsx
@@ -4,9 +4,18 @@ import { useBackend } from '../backend';
import { NtosWindow } from '../layouts';
import { NTOSData } from '../layouts/NtosWindow';
+export enum alert_relevancies {
+ ALERT_RELEVANCY_SAFE,
+ ALERT_RELEVANCY_WARN,
+ ALERT_RELEVANCY_PERTINENT,
+}
+
export const NtosMain = (props) => {
const { act, data } = useBackend();
const {
+ alert_style,
+ alert_color,
+ alert_name,
PC_device_theme,
show_imprint,
programs = [],
@@ -52,6 +61,28 @@ export const NtosMain = (props) => {
/>
))}
+
+
+ {alert_name}
+
+
{removable_media.map((device) => (
diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/QuirksPage.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/QuirksPage.tsx
index 68d2308b10e..566d78b86c3 100644
--- a/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/QuirksPage.tsx
+++ b/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/QuirksPage.tsx
@@ -67,20 +67,20 @@ function QuirkList(props: QuirkProps & QuirkListProps) {
} = props;
return (
- // Stack is not used here for a variety of IE flex bugs
-
+
{quirks.map(([quirkKey, quirk]) => (
-
+
+
+
))}
-
+
);
}
@@ -418,7 +418,7 @@ export function QuirksPage(props) {
}
return (
-
+
@@ -452,7 +452,7 @@ export function QuirksPage(props) {
onInput={(text, value) => setSearchQuery(value)}
/>
-
+
{
@@ -487,7 +487,7 @@ export function QuirksPage(props) {
-
+
@@ -512,8 +512,8 @@ export function QuirksPage(props) {
Current Quirks
- {/* Filler to better align the menu*/}
-
+ {/* Filler to better align the menu*/}
+
{
diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/index.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/index.tsx
index 98c04b59188..22037bf4002 100644
--- a/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/index.tsx
+++ b/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/index.tsx
@@ -233,7 +233,7 @@ export function CharacterPreferenceWindow(props) {
-
+
{pageContents}
diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/loadout/index.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/loadout/index.tsx
index 772fdd647db..be5a2acf5d5 100644
--- a/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/loadout/index.tsx
+++ b/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/loadout/index.tsx
@@ -442,16 +442,18 @@ function LoadoutPreviewSection() {
act('toggle_job_clothes')}
- // >
- // Job Clothes
- //
- // }
+ /*
+ title="Preview"
+ buttons={
+ act('toggle_job_clothes')}
+ >
+ Job Clothes
+
+ }
+ */
// BUBBER EDIT REMOVAL END - Better loadout pref
>
diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/names.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/names.tsx
index 86988ff7fd3..c41db5e9dd9 100644
--- a/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/names.tsx
+++ b/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/names.tsx
@@ -67,12 +67,7 @@ export function MultiNameInput(props: MultiNameProps) {
}
return (
-
+
= {
- name: 'Multi-Z Detail',
+ name: 'Multi-Z Depth',
category: 'GAMEPLAY',
- description: 'How detailed multi-z is. Lower this to improve performance',
+ description:
+ 'How many Multi-Z levels are rendered before they start getting culled. Decrease this to improve performance in case of lag on multi-z maps.',
component: createDropdownInput({
- [-1]: 'Standard',
+ [-1]: 'No Culling',
2: 'High',
1: 'Medium',
0: 'Low',
diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/game_preferences/tgui.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/game_preferences/tgui.tsx
index 9e63f7a038b..8b358cd1ed4 100644
--- a/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/game_preferences/tgui.tsx
+++ b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/game_preferences/tgui.tsx
@@ -1,5 +1,4 @@
-import { CheckboxInput, Feature, FeatureToggle } from '../base';
-import { FeatureDropdownInput } from '../dropdowns';
+import { CheckboxInput, FeatureToggle } from '../base';
export const tgui_fancy: FeatureToggle = {
name: 'Enable fancy TGUI',
@@ -29,14 +28,6 @@ export const tgui_input_swapped: FeatureToggle = {
component: CheckboxInput,
};
-export const tgui_layout: Feature = {
- name: 'Default TGUI Layout',
- category: 'UI',
- description:
- 'Applies the selected layout type to all interfaces where it possible. Like on Smartfridge.',
- component: FeatureDropdownInput,
-};
-
export const tgui_lock: FeatureToggle = {
name: 'Lock TGUI to main monitor',
category: 'UI',
diff --git a/tgui/packages/tgui/interfaces/SmartVend.tsx b/tgui/packages/tgui/interfaces/SmartVend.tsx
index 4e2e2090bef..698686bb729 100644
--- a/tgui/packages/tgui/interfaces/SmartVend.tsx
+++ b/tgui/packages/tgui/interfaces/SmartVend.tsx
@@ -28,19 +28,12 @@ type Data = {
name: string;
isdryer: BooleanLike;
drying: BooleanLike;
- default_list_view: BooleanLike;
};
export const SmartVend = (props) => {
const { act, data } = useBackend();
const [searchText, setSearchText] = useState('');
- const [displayMode, setDisplayMode] = useState(
- getLayoutState() === LAYOUT.Default
- ? data.default_list_view
- ? LAYOUT.List
- : LAYOUT.Grid
- : getLayoutState(),
- );
+ const [displayMode, setDisplayMode] = useState(getLayoutState());
const search = createSearch(searchText, (item: Item) => item.name);
const contents =
searchText.length > 0
diff --git a/tgui/packages/tgui/interfaces/Techweb/Overview.tsx b/tgui/packages/tgui/interfaces/Techweb/Overview.tsx
index 4feaeb4509f..9fbae330360 100644
--- a/tgui/packages/tgui/interfaces/Techweb/Overview.tsx
+++ b/tgui/packages/tgui/interfaces/Techweb/Overview.tsx
@@ -1,6 +1,6 @@
import { sortBy } from 'common/collections';
import { useState } from 'react';
-import { Flex, Input, Tabs, VirtualList } from 'tgui-core/components';
+import { Flex, Input, Section, Tabs, VirtualList } from 'tgui-core/components';
import { useRemappedBackend } from './helpers';
import { TechNode } from './nodes/TechNode';
@@ -86,11 +86,13 @@ export function TechwebOverview(props) {
-
- {displayedNodes.map((n) => (
-
- ))}
-
+
+
+ {displayedNodes.map((n) => (
+
+ ))}
+
+
);
diff --git a/tgui/packages/tgui/interfaces/common/LayoutToggle.tsx b/tgui/packages/tgui/interfaces/common/LayoutToggle.tsx
index f98b56fe1ed..7c16f5d2f8d 100644
--- a/tgui/packages/tgui/interfaces/common/LayoutToggle.tsx
+++ b/tgui/packages/tgui/interfaces/common/LayoutToggle.tsx
@@ -10,16 +10,12 @@ type Props = {
};
export enum LAYOUT {
- Default = 'default',
Grid = 'grid',
List = 'list',
}
export function getLayoutState(defaultState?: LAYOUT) {
const { config } = useBackend();
- if (config.interface.layout === LAYOUT.Default) {
- return defaultState || LAYOUT.Default;
- }
return config.interface.layout;
}
@@ -29,22 +25,24 @@ export function getLayoutState(defaultState?: LAYOUT) {
*/
export function LayoutToggle(props: Props) {
const { setState, state } = props;
+ const { act } = useBackend();
const handleClick = () => {
const newState = state === LAYOUT.Grid ? LAYOUT.List : LAYOUT.Grid;
setState(newState);
+ act('change_ui_state', {
+ new_state: newState,
+ });
};
- if (getLayoutState() === LAYOUT.Default) {
- return (
-
-
-
- );
- }
+ return (
+
+
+
+ );
}
diff --git a/tgui/packages/tgui/layouts/NtosWindow.tsx b/tgui/packages/tgui/layouts/NtosWindow.tsx
index cb8e9ff162e..3232733b558 100644
--- a/tgui/packages/tgui/layouts/NtosWindow.tsx
+++ b/tgui/packages/tgui/layouts/NtosWindow.tsx
@@ -21,6 +21,9 @@ export type NTOSData = {
light_on: BooleanLike;
login: Login;
pai: string | null;
+ alert_style: number;
+ alert_color: string;
+ alert_name: string;
PC_batteryicon: string | null;
PC_batterypercent: string | null;
PC_device_theme: string;
diff --git a/tgui/packages/tgui/layouts/TitleBar.tsx b/tgui/packages/tgui/layouts/TitleBar.tsx
new file mode 100644
index 00000000000..e8ae8f21310
--- /dev/null
+++ b/tgui/packages/tgui/layouts/TitleBar.tsx
@@ -0,0 +1,83 @@
+import { PropsWithChildren } from 'react';
+import { Button, Icon } from 'tgui-core/components';
+import { UI_DISABLED, UI_INTERACTIVE, UI_UPDATE } from 'tgui-core/constants';
+import { BooleanLike, classes } from 'tgui-core/react';
+import { toTitleCase } from 'tgui-core/string';
+
+import { globalStore } from '../backend';
+import { toggleKitchenSink } from '../debug/actions';
+
+type TitleBarProps = Partial<{
+ className: string;
+ title: string;
+ status: number;
+ fancy: BooleanLike;
+ canClose: BooleanLike;
+ onClose: (e) => void;
+ onDragStart: (e) => void;
+}> &
+ PropsWithChildren;
+
+function statusToColor(status: number): string {
+ switch (status) {
+ case UI_INTERACTIVE:
+ return 'good';
+ case UI_UPDATE:
+ return 'average';
+ case UI_DISABLED:
+ default:
+ return 'bad';
+ }
+}
+
+export function TitleBar(props: TitleBarProps) {
+ const {
+ className,
+ title,
+ status,
+ canClose,
+ fancy,
+ onDragStart,
+ onClose,
+ children,
+ } = props;
+ const dispatch = globalStore.dispatch;
+
+ const finalTitle =
+ (typeof title === 'string' &&
+ title === title.toLowerCase() &&
+ toTitleCase(title)) ||
+ title;
+
+ return (
+
+
fancy && onDragStart && onDragStart(e)}
+ />
+ {status === undefined ? (
+
+ ) : (
+
+ )}
+
{finalTitle}
+ {!!children &&
{children}
}
+ {process.env.NODE_ENV !== 'production' && (
+
dispatch(toggleKitchenSink())}
+ />
+ )}
+ {Boolean(fancy && canClose) && (
+
+
+
+ )}
+
+ );
+}
diff --git a/tgui/packages/tgui/layouts/Window.tsx b/tgui/packages/tgui/layouts/Window.tsx
index b9e3e35bf17..fc5b5fe2410 100644
--- a/tgui/packages/tgui/layouts/Window.tsx
+++ b/tgui/packages/tgui/layouts/Window.tsx
@@ -12,14 +12,13 @@ import {
useLayoutEffect,
useState,
} from 'react';
-import { Box, Icon } from 'tgui-core/components';
-import { UI_DISABLED, UI_INTERACTIVE, UI_UPDATE } from 'tgui-core/constants';
-import { classes } from 'tgui-core/react';
-import { decodeHtmlEntities, toTitleCase } from 'tgui-core/string';
+import { Box } from 'tgui-core/components';
+import { UI_DISABLED, UI_INTERACTIVE } from 'tgui-core/constants';
+import { BooleanLike, classes } from 'tgui-core/react';
+import { decodeHtmlEntities } from 'tgui-core/string';
import { backendSuspendStart, globalStore, useBackend } from '../backend';
import { useDebug } from '../debug';
-import { toggleKitchenSink } from '../debug/actions';
import {
dragStartHandler,
recallWindowGeometry,
@@ -28,14 +27,14 @@ import {
} from '../drag';
import { createLogger } from '../logging';
import { Layout } from './Layout';
+import { TitleBar } from './TitleBar';
const logger = createLogger('Window');
-
const DEFAULT_SIZE: [number, number] = [400, 600];
type Props = Partial<{
buttons: ReactNode;
- canClose: boolean;
+ canClose: BooleanLike;
height: number;
theme: string;
title: string;
@@ -113,7 +112,6 @@ export const Window = (props: Props) => {
return suspended ? null : (
{
};
Window.Content = WindowContent;
-
-const statusToColor = (status) => {
- switch (status) {
- case UI_INTERACTIVE:
- return 'good';
- case UI_UPDATE:
- return 'average';
- case UI_DISABLED:
- default:
- return 'bad';
- }
-};
-
-type TitleBarProps = Partial<{
- canClose: boolean;
- className: string;
- fancy: boolean;
- onClose: (e) => void;
- onDragStart: (e) => void;
- status: number;
- title: string;
-}> &
- PropsWithChildren;
-
-const TitleBar = (props: TitleBarProps) => {
- const {
- className,
- title,
- status,
- canClose,
- fancy,
- onDragStart,
- onClose,
- children,
- } = props;
- const dispatch = globalStore.dispatch;
-
- const finalTitle =
- (typeof title === 'string' &&
- title === title.toLowerCase() &&
- toTitleCase(title)) ||
- title;
-
- return (
-
- {(status === undefined && (
-
- )) || (
-
- )}
-
fancy && onDragStart && onDragStart(e)}
- />
-
- {finalTitle}
- {!!children &&
{children}
}
-
- {process.env.NODE_ENV !== 'production' && (
-
dispatch(toggleKitchenSink())}
- >
-
-
- )}
- {Boolean(fancy && canClose) && (
-
- ×
-
- )}
-
- );
-};
diff --git a/tgui/packages/tgui/renderer.ts b/tgui/packages/tgui/renderer.ts
index bbdfeffc165..b5dc066edb0 100644
--- a/tgui/packages/tgui/renderer.ts
+++ b/tgui/packages/tgui/renderer.ts
@@ -11,65 +11,51 @@ let initialRender: string | boolean = true;
let suspended = false;
// These functions are used purely for profiling.
-export const resumeRenderer = () => {
+export function resumeRenderer() {
initialRender = initialRender || 'resumed';
suspended = false;
-};
+}
-export const suspendRenderer = () => {
+export function suspendRenderer() {
suspended = true;
-};
-
-type CreateRenderer =
(
- getVNode?: (...args: T) => ReactNode,
-) => (...args: T) => void;
+}
enum Render {
Start = 'render/start',
Finish = 'render/finish',
}
-// prettier-ignore
-export const createRenderer: CreateRenderer = (getVNode) => (...args) => {
+export function render(component: ReactNode) {
perf.mark(Render.Start);
// Start rendering
if (!reactRoot) {
const element = document.getElementById('react-root');
reactRoot = createRoot(element!);
}
- if (getVNode) {
- reactRoot.render(getVNode(...args));
- }
- else {
- reactRoot.render(args[0] as any);
- }
+
+ reactRoot.render(component);
+
perf.mark(Render.Finish);
if (suspended) {
return;
}
+
// Report rendering time
if (process.env.NODE_ENV !== 'production') {
if (initialRender === 'resumed') {
- logger.log('rendered in',
- perf.measure(Render.Start, Render.Finish));
- }
- else if (initialRender) {
+ logger.log('rendered in', perf.measure(Render.Start, Render.Finish));
+ } else if (initialRender) {
logger.debug('serving from:', location.href);
- logger.debug('bundle entered in',
- perf.measure('inception', 'init'));
- logger.debug('initialized in',
- perf.measure('init', Render.Start));
- logger.log('rendered in',
- perf.measure(Render.Start, Render.Finish));
- logger.log('fully loaded in',
- perf.measure('inception', Render.Finish));
- }
- else {
- logger.debug('rendered in',
- perf.measure(Render.Start, Render.Finish));
+ logger.debug('bundle entered in', perf.measure('inception', 'init'));
+ logger.debug('initialized in', perf.measure('init', Render.Start));
+ logger.log('rendered in', perf.measure(Render.Start, Render.Finish));
+ logger.log('fully loaded in', perf.measure('inception', Render.Finish));
+ } else {
+ logger.debug('rendered in', perf.measure(Render.Start, Render.Finish));
}
}
+
if (initialRender) {
initialRender = false;
}
-};
+}
diff --git a/tgui/packages/tgui/routes.tsx b/tgui/packages/tgui/routes.tsx
index 9a3892a3aa7..2d05e32472f 100644
--- a/tgui/packages/tgui/routes.tsx
+++ b/tgui/packages/tgui/routes.tsx
@@ -32,16 +32,16 @@ const routingError =
};
// Displays an empty Window with scrollable content
-const SuspendedWindow = () => {
+function SuspendedWindow() {
return (
);
-};
+}
// Displays a loading screen with a spinning icon
-const RefreshingWindow = () => {
+function RefreshingWindow() {
return (
@@ -49,10 +49,10 @@ const RefreshingWindow = () => {
);
-};
+}
// Get the component for the current route
-export const getRoutedComponent = () => {
+export function getRoutedComponent() {
const { suspended, config } = useBackend();
const { kitchenSink = false } = useDebug();
@@ -62,6 +62,7 @@ export const getRoutedComponent = () => {
if (config?.refreshing) {
return RefreshingWindow;
}
+
if (process.env.NODE_ENV !== 'production') {
// Show a kitchen sink
if (kitchenSink) {
@@ -76,6 +77,7 @@ export const getRoutedComponent = () => {
(name: string) => `./${name}/index.tsx`,
(name: string) => `./${name}/index.jsx`,
];
+
let esModule;
while (!esModule && interfacePathBuilders.length > 0) {
const interfacePathBuilder = interfacePathBuilders.shift()!;
@@ -88,12 +90,15 @@ export const getRoutedComponent = () => {
}
}
}
+
if (!esModule) {
return routingError('notFound', name);
}
+
const Component = esModule[name];
if (!Component) {
return routingError('missingExport', name);
}
+
return Component;
-};
+}
diff --git a/tgui/packages/tgui/styles/functions.scss b/tgui/packages/tgui/styles/functions.scss
index 403d43c7b4b..5f6bc9bb5f5 100644
--- a/tgui/packages/tgui/styles/functions.scss
+++ b/tgui/packages/tgui/styles/functions.scss
@@ -26,17 +26,6 @@
// Color
// --------------------------------------------------------
-// Increases perceptual color lightness.
-@function lighten($color, $percent) {
- $scaled: hsl(
- color.channel($color, 'hue', $space: hsl),
- color.channel($color, 'saturation', $space: hsl),
- color.channel($color, 'lightness', $space: hsl) * (1 + num($percent))
- );
- $mixed: color.mix(hsl(0, 0%, 100%), $color, 100% * num($percent));
- @return color.mix($scaled, $mixed, 75%);
-}
-
// Returns the NTSC luminance of `$color` as a float (between 0 and 1).
// 1 is pure white, 0 is pure black.
@function luminance($color) {
diff --git a/tgui/packages/tgui/styles/interfaces/Fishing.scss b/tgui/packages/tgui/styles/interfaces/Fishing.scss
deleted file mode 100644
index d65ddf27393..00000000000
--- a/tgui/packages/tgui/styles/interfaces/Fishing.scss
+++ /dev/null
@@ -1,77 +0,0 @@
-.fishing {
- width: 121px;
- height: 500px;
- -ms-user-select: none;
- user-select: none;
- min-width: 121px;
- min-height: 500px;
-}
-
-.fishing .main {
- position: absolute;
- width: 50px;
- height: 500px;
- left: 30px;
-}
-
-.fishing .main .background {
- position: relative;
- width: 50px;
- height: 500px;
- border-radius: 10px;
- border: 0px black solid;
- -ms-interpolation-mode: nearest-neighbor;
-}
-
-.fishing .main .fish {
- width: 100%;
- position: absolute;
- right: 0;
- font-size: 3em;
- text-align: center;
- -ms-interpolation-mode: nearest-neighbor;
- color: white;
- background-color: rgba(65, 91, 138, 0.5);
-}
-
-.fishing .main .fish *::before {
- position: absolute;
- top: -5px;
- left: 5px;
-}
-
-.fishing .main .bait {
- position: absolute;
- width: 100%;
- top: 0%;
- left: 0;
- background: hsl(80.8, 37.7%, 27.1%);
- border: 0px hsl(80.8, 37.7%, 27.1%);
- border-radius: 10px;
-}
-
-.fishing .completion {
- position: absolute;
- width: 30px;
- height: 500px;
- left: 95px;
- top: 0;
-}
-
-.fishing .completion .background {
- position: relative;
- width: 100%;
- height: 100%;
- border-radius: 5px;
- border: 2px black solid;
- background: rgb(186, 217, 231);
- box-shadow: 5px 5px 2px rgba(0, 0, 0, 0.3);
-}
-
-.fishing .completion .bar {
- position: absolute;
- width: 100%;
- background: hsl(80.9, 80.9%, 39%);
- bottom: 0;
- border-radius: 5px;
-}
diff --git a/tgui/packages/tgui/styles/interfaces/Mecha.scss b/tgui/packages/tgui/styles/interfaces/Mecha.scss
index 30e33d43b4a..f9a0a55c8b7 100644
--- a/tgui/packages/tgui/styles/interfaces/Mecha.scss
+++ b/tgui/packages/tgui/styles/interfaces/Mecha.scss
@@ -1,3 +1,5 @@
+@use 'sass:color';
+
@use '../base.scss';
@use '../colors.scss';
@use '../functions.scss' as *;
@@ -37,7 +39,7 @@ $color-danger: hsl(0, 74%, 45%) !default;
padding-left: 0 !important;
padding-right: 0 !important;
&:hover {
- background-color: lighten($color-danger, 15%) !important;
- border-color: lighten($color-danger, 15%) !important;
+ background-color: color.adjust($color-danger, $lightness: 15%) !important;
+ border-color: color.adjust($color-danger, $lightness: 15%) !important;
}
}
diff --git a/tgui/packages/tgui/styles/interfaces/NuclearBomb.scss b/tgui/packages/tgui/styles/interfaces/NuclearBomb.scss
index d27311e3f5e..5e23641f68c 100644
--- a/tgui/packages/tgui/styles/interfaces/NuclearBomb.scss
+++ b/tgui/packages/tgui/styles/interfaces/NuclearBomb.scss
@@ -1,3 +1,5 @@
+@use 'sass:color';
+
@use '../base.scss';
@use '../colors.scss';
@use '../functions.scss' as *;
@@ -27,8 +29,11 @@ $background-beige: hsl(50, 33%, 84%);
background-color: $background-beige;
border-color: $background-beige;
&:hover {
- background-color: lighten($background-beige, 15%) !important;
- border-color: lighten($background-beige, 15%) !important;
+ background-color: color.adjust(
+ $background-beige,
+ $lightness: 15%
+ ) !important;
+ border-color: color.adjust($background-beige, $lightness: 15%) !important;
}
}
@@ -42,8 +47,8 @@ $background-beige: hsl(50, 33%, 84%);
background-color: $color-caution !important;
border-color: $color-caution !important;
&:hover {
- background-color: lighten($color-caution, 15%) !important;
- border-color: lighten($color-caution, 15%) !important;
+ background-color: color.adjust($color-caution, $lightness: 15%) !important;
+ border-color: color.adjust($color-caution, $lightness: 15%) !important;
}
}
@@ -51,8 +56,8 @@ $background-beige: hsl(50, 33%, 84%);
background-color: $color-danger !important;
border-color: $color-danger !important;
&:hover {
- background-color: lighten($color-danger, 15%) !important;
- border-color: lighten($color-danger, 15%) !important;
+ background-color: color.adjust($color-danger, $lightness: 15%) !important;
+ border-color: color.adjust($color-danger, $lightness: 15%) !important;
}
}
diff --git a/tgui/packages/tgui/styles/interfaces/PreferencesMenu.scss b/tgui/packages/tgui/styles/interfaces/PreferencesMenu.scss
index d5136cc1a64..48598a3a2f7 100644
--- a/tgui/packages/tgui/styles/interfaces/PreferencesMenu.scss
+++ b/tgui/packages/tgui/styles/interfaces/PreferencesMenu.scss
@@ -231,8 +231,8 @@ $department_map: (
&__Quirks {
&__QuirkList {
background-color: colors.$light-grey;
- height: calc(90vh - 170px);
- min-height: 100%;
+ width: 100%;
+ overflow-x: hidden;
overflow-y: scroll;
&__quirk {
diff --git a/tgui/packages/tgui/styles/layouts/NtosHeader.scss b/tgui/packages/tgui/styles/layouts/NtosHeader.scss
index 2a429051f56..3c71302b37e 100644
--- a/tgui/packages/tgui/styles/layouts/NtosHeader.scss
+++ b/tgui/packages/tgui/styles/layouts/NtosHeader.scss
@@ -18,3 +18,31 @@
margin-bottom: -0.5em;
vertical-align: middle;
}
+
+.alertIndicator {
+ font-weight: bold;
+ right: '0px';
+ text-align: 'center';
+ vertical-align: 'center';
+ font-family: 'Courier New';
+}
+
+.alertBlink {
+ color: #ffffff;
+ animation: alertBlinkAnimation 1s infinite;
+}
+
+@keyframes alertBlinkAnimation {
+ 0% {
+ color: #dddddd;
+ }
+ 49% {
+ color: #dddddd;
+ }
+ 50% {
+ color: #333333;
+ }
+ 100% {
+ color: #333333;
+ }
+}
diff --git a/tgui/packages/tgui/styles/layouts/TitleBar.scss b/tgui/packages/tgui/styles/layouts/TitleBar.scss
index 8fd7239d55b..da5517c0dd9 100644
--- a/tgui/packages/tgui/styles/layouts/TitleBar.scss
+++ b/tgui/packages/tgui/styles/layouts/TitleBar.scss
@@ -9,103 +9,95 @@
$text-color: hsla(0, 0%, 100%, 0.75) !default;
$background-color: hsl(0, 0%, 21%) !default;
-$shadow-color-core: hsl(0, 0%, 8.6%) !default;
-$shadow-color: hsla(0, 0%, 0%, 0.1) !default;
+$shadow-color: hsla(0, 0%, 0%, 0.66) !default;
+$shadow-color-core: hsl(0, 0%, 0%, 0.4) !default;
.TitleBar {
+ position: fixed;
+ display: flex;
+ align-items: center;
+ width: 100vw;
+ height: base.rem(32px);
background-color: $background-color;
border-bottom: 1px solid $shadow-color-core;
- box-shadow: 0 2px 2px $shadow-color;
- box-shadow: 0 base.rem(2px) base.rem(2px) $shadow-color;
+ box-shadow: 0px 0px base.em(6px) base.em(-1px) $shadow-color;
+ z-index: 101; // More than Dimmer
user-select: none;
+ // Deprecated. Delete after full transition to 516
-ms-user-select: none;
-}
-.TitleBar__clickable {
- color: color.change($text-color, $alpha: 0.5);
- background-color: $background-color;
- transition:
- color 250ms ease-out,
- background-color 250ms ease-out;
+ &__dragZone {
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ }
- &:hover {
- color: rgba(255, 255, 255, 1);
- background-color: hsl(0, 100%, 40%);
+ &__statusIcon {
+ text-align: center;
+ font-size: base.rem(20px);
+ transition: color 0.5s;
+ }
+
+ &__title {
+ pointer-events: none;
+ display: inline-block;
+ flex: 1;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ color: $text-color;
+ font-size: base.rem(14px);
+ }
+
+ &__buttons {
+ overflow: hidden;
+ white-space: nowrap;
+ pointer-events: all;
+ display: inline-block;
+ margin: 0 base.rem(9px);
+ z-index: 102;
+ }
+
+ &__KitchenSink {
+ width: base.rem(21px);
+ min-width: base.rem(21px);
+ max-width: base.rem(21px);
+ background-color: color.adjust(colors.$good, $lightness: -10%, $space: hsl);
+ color: hsl(120, 100%, 100%);
+ text-align: center;
+ border-radius: 0;
+
+ &:hover {
+ background-color: colors.$good;
+ }
+ }
+
+ &__close {
+ cursor: pointer;
+ pointer-events: all;
+ align-content: center;
+ text-align: center;
+ font-size: base.rem(16px);
+ height: 100%;
+ color: color.change($text-color, $alpha: 0.5);
+ z-index: 102;
transition:
- color 0ms,
- background-color 0ms;
+ background-color 0.2s,
+ color 0.2s;
+
+ &:hover {
+ background-color: hsl(0, 100%, 40%);
+ color: rgba(255, 255, 255, 1);
+ transition-duration: 0s;
+ }
+ }
+
+ &__statusIcon,
+ &__close {
+ width: base.rem(45px);
+ min-width: base.rem(45px);
+ max-width: base.rem(45px);
}
}
-
-.TitleBar__title {
- position: absolute;
- display: inline-block;
- top: 0;
- left: 46px;
- left: base.rem(46px);
- color: $text-color;
- font-size: 14px;
- font-size: base.rem(14px);
- line-height: 31px;
- line-height: base.rem(31px);
- white-space: nowrap;
- pointer-events: none;
-}
-
-.TitleBar__buttons {
- pointer-events: initial;
- display: inline-block;
- width: 100%;
- margin-left: 10px;
-}
-
-.TitleBar__dragZone {
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- height: 32px;
- height: base.rem(32px);
-}
-
-.TitleBar__statusIcon {
- position: absolute;
- top: 0;
- left: 12px;
- left: base.rem(12px);
- transition: color 0.5s;
- font-size: 20px;
- font-size: base.rem(20px);
- line-height: 32px !important;
- line-height: base.rem(32px) !important;
-}
-
-.TitleBar__close {
- position: absolute;
- top: -1px;
- right: 0;
- width: 45px;
- width: base.rem(45px);
- height: 32px;
- height: base.rem(32px);
- font-size: 20px;
- font-size: base.rem(20px);
- line-height: 31px;
- line-height: base.rem(31px);
- text-align: center;
-}
-
-.TitleBar__devBuildIndicator {
- position: absolute;
- top: 6px;
- top: base.rem(6px);
- right: 52px;
- right: base.rem(52px);
- min-width: 20px;
- min-width: base.rem(20px);
- padding: 2px 4px;
- padding: base.rem(2px) base.rem(4px);
- background-color: color.adjust(colors.$good, $lightness: -10%, $space: hsl);
- color: hsl(120, 100%, 100%);
- text-align: center;
-}
diff --git a/tgui/packages/tgui/styles/layouts/Window.scss b/tgui/packages/tgui/styles/layouts/Window.scss
index 1bb1e2acd69..c80970aac52 100644
--- a/tgui/packages/tgui/styles/layouts/Window.scss
+++ b/tgui/packages/tgui/styles/layouts/Window.scss
@@ -22,16 +22,6 @@
);
}
-.Window__titleBar {
- position: fixed;
- z-index: 1;
- top: 0;
- left: 0;
- width: 100%;
- height: 32px;
- height: base.rem(32px);
-}
-
// Everything after the title bar
.Window__rest {
position: fixed;
@@ -67,7 +57,7 @@
bottom: 0;
left: 0;
right: 0;
- background-color: rgba(lighten(base.$color-bg, 30%), 0.25);
+ background-color: rgba(color.adjust(base.$color-bg, $lightness: 30%), 0.25);
pointer-events: none;
}
diff --git a/tgui/packages/tgui/styles/main.scss b/tgui/packages/tgui/styles/main.scss
index 839980080f5..9df6f5ceaee 100644
--- a/tgui/packages/tgui/styles/main.scss
+++ b/tgui/packages/tgui/styles/main.scss
@@ -30,7 +30,6 @@
@include meta.load-css('./interfaces/Emojipedia.scss');
@include meta.load-css('./interfaces/ExperimentConfigure.scss');
@include meta.load-css('./interfaces/Fabricator.scss');
-@include meta.load-css('./interfaces/Fishing.scss');
@include meta.load-css('./interfaces/HellishRunes.scss');
@include meta.load-css('./interfaces/HotKeysHelp.scss');
@include meta.load-css('./interfaces/Hypertorus.scss');
diff --git a/tgui/public/tgui.html b/tgui/public/tgui.html
index a8d0777a457..fbb87d9608e 100644
--- a/tgui/public/tgui.html
+++ b/tgui/public/tgui.html
@@ -1,653 +1,679 @@
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
+
+
-@keyframes FatalError__rainbow {
- 0% { color: #ff0; }
- 50% { color: #0ff; }
- 100% { color: #f0f; }
-}
+
+
+
+
+
+
+
+
+
-@keyframes FatalError__shadow {
- 0% {
- left: -2px;
- text-shadow: 4px 0 #f0f;
- }
- 50% {
- left: 0px;
- text-shadow: 0px 0 #0ff;
- }
- 100% {
- left: 2px;
- text-shadow: -4px 0 #ff0;
- }
-}
+
+
-@keyframes FatalError__tfmX {
- 0% { left: 15px; }
- 100% { left: -15px; }
-}
-
-@keyframes FatalError__tfmY {
- 100% { top: -15px; }
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
ooooo ooo . .oooooo. .oooooo..o
`888b. `8' .o8 d8P' `Y8b d8P' `Y8
8 `88b. 8 .o888oo 888 888 Y88bo.
@@ -656,29 +682,28 @@ ooooo ooo . .oooooo. .oooooo..o
8 `888 888 . `88b d88' oo .d8P
o8o `8 "888" `Y8bood8P' 8""88888P'
-
-
-
-
+
+
+
+
-
-
-
Javascript is required in order to use this interface.
-
Please enable Javascript and restart the game.
-
-
+
+
+
Javascript is required in order to use this interface.
+
Please enable Javascript and restart the game.
+
+
-
-
+
+
diff --git a/tools/Tgstation.PRAnnouncer/README.md b/tools/Tgstation.PRAnnouncer/README.md
new file mode 100644
index 00000000000..b3885ec83ff
--- /dev/null
+++ b/tools/Tgstation.PRAnnouncer/README.md
@@ -0,0 +1,79 @@
+# PR Announcer
+
+This is the service used to relay GitHub PR events to game servers.
+
+## Building
+
+You must acquire the .NET 8 SDK or greater for your system. See https://dotnet.microsoft.com/en-us/download
+
+Run `dotnet publish Tgstation.PRAnnouncer.csproj -o
` an executable should be generated in your output directory.
+
+## Running
+
+This is a long running daemon best served under systemd or as a Windows service.
+
+This service has first class support for running under nix via the [flake.nix](./flake.nix) file which can be directly imported from GitHub.
+
+See an example of what systemd unit settings should be used in [tgstation-pr-announcer.nix](./tgstation-pr-announcer.nix) under `systemd.services.tgstation-pr-announcer`.
+
+### Configuration
+
+Create an `appsettings.Production.json` file in the working directory the daemon will be launched from.
+
+Here's an example config:
+```json
+{
+ "Settings": {
+ "CommsKey": "",
+ "GitHubSecret": "",
+ "GameServerHealthCheckSeconds": 30, // How often this service will ping game servers
+ "Servers": [
+ {
+ "Address": "blockmoths.tg.lan", // DNS/IP address of game server
+ "Port": 3336, // Game server port
+ "InterestedRepoSlugs": [
+ "tgstation/tgstation" // List of GitHub owner/repos that notifications should be delivered for
+ ]
+ },
+ {
+ "Address": "tgsatan.tg.lan",
+ "Port": 1337,
+ "InterestedRepoSlugs": [
+ "tgstation/tgstation"
+ ]
+ },
+ {
+ "Address": "tgsatan.tg.lan",
+ "Port": 1447,
+ "InterestedRepoSlugs": [
+ "tgstation/tgstation"
+ ]
+ },
+ {
+ "Address": "tgsatan.tg.lan",
+ "Port": 5337,
+ "InterestedRepoSlugs": [
+ "tgstation/TerraGov-Marine-Corps"
+ ]
+ }
+ ]
+ },
+ "Kestrel": {
+ "Endpoints": {
+ "Http": {
+ "Url": "http://0.0.0.0:11337" // This is the address the service will be hosted on.
+ }
+ }
+ }
+}
+```
+
+#### Webhook Settings
+
+Webhook must be delivered to `/api/github/webhooks` in the `application/json` format.
+
+Only `Pull Request` events need to be listened for.
+
+### HTTPS
+
+This service only operates over HTTP. HTTPS must be setup by routing through a reverse proxy of choice.
diff --git a/tools/UpdatePaths/Scripts/89549_pills_and_patches_to_applicators.txt b/tools/UpdatePaths/Scripts/89549_pills_and_patches_to_applicators.txt
new file mode 100644
index 00000000000..2b7c1ed4845
--- /dev/null
+++ b/tools/UpdatePaths/Scripts/89549_pills_and_patches_to_applicators.txt
@@ -0,0 +1,2 @@
+/obj/item/reagent_containers/pill/patch/@SUBTYPES : /obj/item/reagent_containers/applicator/patch/@SUBTYPES{@OLD}
+/obj/item/reagent_containers/pill/@SUBTYPES : /obj/item/reagent_containers/applicator/pill/@SUBTYPES{@OLD}
diff --git a/tools/UpdatePaths/Scripts/89706_dankpocket.txt b/tools/UpdatePaths/Scripts/89706_dankpocket.txt
new file mode 100644
index 00000000000..8f663909e72
--- /dev/null
+++ b/tools/UpdatePaths/Scripts/89706_dankpocket.txt
@@ -0,0 +1,2 @@
+# dankpockets are now a subtype of donkpockets
+/obj/item/food/dankpocket : /obj/item/food/donkpocket/dank{@OLD}
diff --git a/tools/UpdatePaths/Scripts/89993_tufsandmobs_to_mobsandturfs.txt b/tools/UpdatePaths/Scripts/89993_tufsandmobs_to_mobsandturfs.txt
new file mode 100644
index 00000000000..39ffe14ca1a
--- /dev/null
+++ b/tools/UpdatePaths/Scripts/89993_tufsandmobs_to_mobsandturfs.txt
@@ -0,0 +1,3 @@
+#comment This repaths AOE Offensive Mining modkit from being a child of the turf aoe mining kit to the mob aoe mining kit
+
+/obj/item/borg/upgrade/modkit/aoe/turfs/andmobs : /obj/item/borg/upgrade/modkit/aoe/mobs/andturfs{@OLD}
diff --git a/tools/UpdatePaths/Scripts/90006_uncapitalize_airless.txt b/tools/UpdatePaths/Scripts/90006_uncapitalize_airless.txt
new file mode 100644
index 00000000000..c31872d94d7
--- /dev/null
+++ b/tools/UpdatePaths/Scripts/90006_uncapitalize_airless.txt
@@ -0,0 +1,5 @@
+#comment Fixes some turfs' airless subtypes being capitalized.
+
+/turf/open/floor/grass/Airless : /turf/open/floor/grass/airless{@OLD}
+/turf/open/floor/iron/recharge_floor/Airless : /turf/open/floor/iron/recharge_floor/airless{@OLD}
+/turf/open/floor/catwalk_floor/titanium/Airless : /turf/open/floor/catwalk_floor/titanium/airless{@OLD}
diff --git a/tools/deploy.sh b/tools/deploy.sh
index d29738df26c..c13ba0639fd 100755
--- a/tools/deploy.sh
+++ b/tools/deploy.sh
@@ -11,6 +11,7 @@ fi
mkdir -p \
$1/_maps \
+ $1/code/datums/greyscale/json_configs \
$1/data/spritesheets \
$1/icons \
$1/sound/runtime \
@@ -25,6 +26,7 @@ fi
cp tgstation.dmb tgstation.rsc $1/
cp -r _maps/* $1/_maps/
+cp -r code/datums/greyscale/json_configs/* $1/code/datums/greyscale/json_configs/
cp -r icons/* $1/icons/
cp -r sound/runtime/* $1/sound/runtime/
cp -r strings/* $1/strings/